如何通过WinAPI获取USB设备“制造商”字段?

时间:2015-12-17 13:23:08

标签: python windows winapi com pywin32

我正在尝试获取已插入的USB设备的制造商字段。 Windows中设备的“属性”对话框报告:

Device description: USB Serial Converter
Device type: Universal Serial Bus controllers

FT_ProgMicrosoft USBView等USB工具报告我的设备的“iManufacturer”设备描述符字段设置为“MyCompanyFoo”。

到目前为止,使用 pywin32 包,我能够获得设备的VendorID,DeviceID和SerialNumber:

import win32com.client
wmi = win32com.client.GetObject("winmgmts:")

for usb in wmi.InstancesOf("Win32_UsbHub"):
    print 'DeviceID: ' + str(usb.DeviceID)

Win32_UsbHub结构不包含“制造商”属性。

我尝试使用具有此属性的Win32_USBController WMI结构:

for usb in wmi.InstancesOf ("Win32_UsbController"):
    print 'Manufacturer: ' + str(usb.Manufacturer)

但是它的输出对我来说是不正确的(它应该是“MyCompanyFoo”):

Manufacturer: Intel
Manufacturer: Intel
Manufacturer: Intel(R) Corporation

Win32_DiskDrive WMI类打印相同的错误输出。

我知道这个任务的替代解决方案,例如带有“libusb1.0”后端的“PyUSB”,但是 这些需要安装我无法承受的驱动程序依赖。

0 个答案:

没有答案