我正在尝试在Windows 7 pc上列出USB设备。我预先安装了此软件:more info
下面的代码不打印任何内容。还有其他要做的事情来获取设备信息吗?
import usb.core
import usb.util
dev = usb.core.find(find_all=True)
for d in dev:
print(usb.util.get_string(d,128,d.iManufacturer))
编辑:已解决
import win32com.client
wmi = win32com.client.GetObject ("winmgmts:")
for usb in wmi.InstancesOf ("Win32_USBHub"):
print('Device ID:', usb.DeviceID)
答案 0 :(得分:1)
看起来您正在使用Python libusb包装器。这只会枚举与libusb驱动程序实际关联的USB设备。每个设备都与一个驱动程序相关联,并且大多数设备将具有由操作系统提供的类驱动程序(例如HID,UVC,MSC等),因此您需要使用其他API来访问它们。您可以通过使用Windows上的本机SetupAPI和WinUSB以通用方式枚举所有设备。但是此包装器仅枚举专门使用libusb驱动程序的设备。由于您的代码未显示任何内容,因此您可能没有使用libusb的设备。
您可以使用Zadig工具将驱动程序重新映射到其他设备。但是要当心,因为如果碰巧选择了不受支持的配置,您很容易破坏事情。当您拥有自定义设备或第三方设备时,通常会使用它。