使用Python在Windows下获取USB PID&VID
2018-01-18 16:27
3955 查看
在Linux系统下获取USB PID&VID是件十分容易的事情,只需要"lsusb"命令就可以了。
不过,对于Windows,就没有那么容易了。
之前,有尝试过通过注册表来获得目前连接device的USB PID&VID,不过注册表里存放的是之前有插入这台Windows系统的USB设备的历史记录,也就是说,并不是目前连接到Windows的USB设备的信息。
这个问题,可以用pyusb这个库解决,但是pyusb需要依赖库,不同的Windows可能需要不同的库,所以如果程序要大规模部署到不同的系统上时,要谨慎考虑。
后来,选用的pyWin32库,这个更通用一些。使用MGMT,试了两个instance,其中“Win32_USBHub”只能抓取部分USB设备的信息;但是“win32_usbcontrollerdevice”可以抓取所有的USB信息。(后来想一想,Win32_USBHub抓取的应该是USB hub的信息;而Win32_USBControllerDevice抓取的是USB device的信息)
使用Win32_USBHub的实例代码如下,
>>> import win32com.client
>>> wmi = win32com.client.GetObject ("winmgmts:")
>>> for usb in wmi.InstancesOf ("Win32_USBHub"):
... print usb.DeviceID
...
使用Win32_USBControllerDevice的示例代码如下,import win32com.client
wmi = win32com.client.GetObject ("winmgmts:")
for usb in wmi.InstancesOf ("win32_usbcontrollerdevice"):
if "VID_05E0&PID_2107" in usb.Dependent:
usbPidVidCorrect = True
不过,对于Windows,就没有那么容易了。
之前,有尝试过通过注册表来获得目前连接device的USB PID&VID,不过注册表里存放的是之前有插入这台Windows系统的USB设备的历史记录,也就是说,并不是目前连接到Windows的USB设备的信息。
这个问题,可以用pyusb这个库解决,但是pyusb需要依赖库,不同的Windows可能需要不同的库,所以如果程序要大规模部署到不同的系统上时,要谨慎考虑。
后来,选用的pyWin32库,这个更通用一些。使用MGMT,试了两个instance,其中“Win32_USBHub”只能抓取部分USB设备的信息;但是“win32_usbcontrollerdevice”可以抓取所有的USB信息。(后来想一想,Win32_USBHub抓取的应该是USB hub的信息;而Win32_USBControllerDevice抓取的是USB device的信息)
使用Win32_USBHub的实例代码如下,
>>> import win32com.client
>>> wmi = win32com.client.GetObject ("winmgmts:")
>>> for usb in wmi.InstancesOf ("Win32_USBHub"):
... print usb.DeviceID
...
使用Win32_USBControllerDevice的示例代码如下,import win32com.client
wmi = win32com.client.GetObject ("winmgmts:")
for usb in wmi.InstancesOf ("win32_usbcontrollerdevice"):
if "VID_05E0&PID_2107" in usb.Dependent:
usbPidVidCorrect = True
相关文章推荐
- 介绍Windows侦测遍历Usb设备(PID&VID)及相应其插拔状态的方法
- 关于Mac获取usb设备pid,vid,locationID的使用
- 枚举usb的pid & vid(Windows平台)
- 获取电脑USB设备VID和PID等信息。
- python windows下通过SSH获取linux系统cpu、内存、网络使用情况
- python使用wmi模块获取windows下硬盘信息的方法
- 通过Windows注册表获取U盘、移动硬盘和USB读卡器等设备的PID、VID和序列号
- 使用python 获取进程pid号的方法
- 通过Windows注册表获取U盘、移动硬盘和USB读卡器等设备的PID、VID和序列号
- python使用wmi模块获取windows下的系统信息 监控系统
- python使用wmi模块获取windows下的系统信息 监控系统
- 获取指定USB设备的VID PID和SerialNumber
- vc通过usb获取手机设备vidpid
- delphi imagen usb vid&pid
- 根据VID PID获取USB设备路径
- python使用wmi模块获取windows下硬盘信息的方法
- 使用python获取系统所有进程PID以及进程名称
- 获取usb设备的vid,pid
- Seeking USB Serial Com Port in Windows Automatically : via PID VID
- 【VC】 获取电脑USB设备VID和PID等信息。