我正在尝试获取已插入的USB设备的制造商字段。 Windows中设备的“属性”对话框报告:
Device description: USB Serial Converter
Device type: Universal Serial Bus controllers
FT_Prog和Microsoft 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”,但是 这些需要安装我无法承受的驱动程序依赖。