【问题标题】:Win32_DiskDrive and eSATAWin32_DiskDrive 和 eSATA
【发布时间】:2013-04-14 08:24:57
【问题描述】:
我正在尝试使用 WMI 检测可移动驱动器,目前我正在通过 InterfaceType 过滤以仅包含带有 USB 接口的驱动器。我想知道是否有办法检测 eSATA 驱动器,或者换句话说,Win32_DiskDrive 类赋予 eSATA 驱动器的接口类型是什么。
目前我手头没有 eSATA 驱动器,因此我不确定接口类型应该是什么,因为 eSATA 或 SATA 未列为 InterfaceType 成员 according to MSDN 的有效值。
目前列出的值为:
SCSI
HDC
IDE
USB
1394
所以我想知道是否有人可以在这里帮助我?
问候
【问题讨论】:
标签:
c#
windows
visual-studio
wmi
drive
【解决方案1】:
它很可能会在“USB”下,或者可以使用下面的代码来找到它:
Dim Mq As New Management.ObjectQuery("WQL", "Select Caption,DeviceID,InterfaceType from Win32_DiskDrive ") ' you can include where InterfaceType='USB'
Dim scop As New ManagementScope("root\cimv2")
Dim MobSrchr As New ManagementObjectSearcher(scop, Mq)
Dim Disks As New List(Of String)
For Each mob As ManagementObject In MobSrchr.Get
Dim DrivInfo As String = Nothing
DrivInfo = "Caption : " + mob.Properties("Caption").Value + Environment.NewLine
DrivInfo += "Device ID : " + mob.Properties("DeviceID").Value + Environment.NewLine
DrivInfo += "InterfaceType : " + mob.Properties("InterfaceType").Value + Environment.NewLine
Disks.Add(DrivInfo)
Next