rally 发表于 2021-1-27 19:35:27

读取磁盘信息失败 - 已解决

本帖最后由 rally 于 2021-1-29 18:12 编辑

这个地方百思不得解,为什么 $vDeviceID = "\\.\PHYSICALDRIVE0" 显示$vPNPID = -1


   Local $iCnt, $iCheck,$vPNPID
   $vDeviceID = "\\.\PHYSICALDRIVE0"
   $vPNPID = _PNPIDFromPhysicalDriveID($vDeviceID)
   MsgBox(0,"", $vPNPID)



Func _PNPIDFromPhysicalDriveID($vDriveID)


      $colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_DiskDrive", "WQL", _
                                          $wbemFlagReturnImmediately + $wbemFlagForwardOnly)
      If IsObj($colItems) then
         For $objItem In $colItems
                If $objItem.DeviceID == $vDriveID then
                  Return $objItem.PNPDeviceID
                EndIf
          Next
      Endif
      Return -1
EndFunc

yuantian 发表于 2021-1-27 22:29:06

本帖最后由 yuantian 于 2021-1-31 15:05 编辑

表示可以


Local $iCnt, $iCheck, $vPNPID
$vDeviceID = "\\.\PHYSICALDRIVE0"
$vPNPID = _PNPIDFromPhysicalDriveID($vDeviceID)
MsgBox(0, "", $vPNPID)

Func _PNPIDFromPhysicalDriveID($vDriveID)

      Local $wbemFlagReturnImmediately = 0x10
      Local $wbemFlagForwardOnly = 0x20
      Local $colItems = ""
      Local $strComputer = "localhost"
      Local $Output = ""
      Local $objWMIService = ObjGet("winmgmts:\\\" & $strComputer & "\root\CIMV2")
      $colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_DiskDrive", "WQL", _
                        $wbemFlagReturnImmediately + $wbemFlagForwardOnly)
      If IsObj($colItems) Then
                For $objItem In $colItems
                        If $objItem.DeviceID == $vDriveID Then
                              Return $objItem.PNPDeviceID
                        EndIf
                Next
      EndIf
      Return -1
EndFunc   ;==>_PNPIDFromPhysicalDriveID



afan 发表于 2021-1-27 22:39:39

yuantian 发表于 2021-1-27 22:29
表示可以

编辑下帖子,第 13 行有一个 \ 被吃了……
这论坛代码标签各种丢符号,遇到无数次,有时编辑到甚至直接删帖

haijie1223 发表于 2021-1-28 00:52:25

afan 发表于 2021-1-27 22:39
编辑下帖子,第 13 行有一个 \ 被吃了……
这论坛代码标签各种丢符号,遇到无数次,有时编辑到甚至直接 ...

a版,我有意想把论坛回复到原来的dz7. 2老版本。如何?

afan 发表于 2021-1-28 10:30:48

haijie1223 发表于 2021-1-28 00:52
a版,我有意想把论坛回复到原来的dz7. 2老版本。如何?

我也觉得可以。虽然原来的有小问题,但至少比现在的论坛好。编程论坛代码标签正常是最基本的。

haijie1223 发表于 2021-1-28 19:07:41

afan 发表于 2021-1-28 10:30
我也觉得可以。虽然原来的有小问题,但至少比现在的论坛好。编程论坛代码标签正常是最基本的。

只是DZ没有提供降级的方法,只能恢复数据,可能很多用户和帖子将会丢失。

afan 发表于 2021-1-28 20:21:01

haijie1223 发表于 2021-1-28 19:07
只是DZ没有提供降级的方法,只能恢复数据,可能很多用户和帖子将会丢失。

那还是算了吧,几年了,损失太大。

chamlien 发表于 2021-1-29 12:26:15

haijie1223 发表于 2021-1-28 19:07
只是DZ没有提供降级的方法,只能恢复数据,可能很多用户和帖子将会丢失。

降级不就是把旧包一传,然后解压安装完事吗

haijie1223 发表于 2021-1-29 12:53:41

chamlien 发表于 2021-1-29 12:26
降级不就是把旧包一传,然后解压安装完事吗

哪有那么简单。。。。

rally 发表于 2021-1-29 18:12:28

谢谢 @yuantian 兄弟援手,谢谢afan大大,谢谢 haijie 兄,问题已解决

yuantian 发表于 2021-1-31 15:06:22

afan 发表于 2021-1-27 22:39
编辑下帖子,第 13 行有一个 \ 被吃了……
这论坛代码标签各种丢符号,遇到无数次,有时编辑到甚至直接 ...

:face (9):
斜杠没丢,只是被论坛转义了

唉。
页: [1]
查看完整版本: 读取磁盘信息失败 - 已解决