使用Python在Windows下获取USB PIDVID的方法

Marmara ·
更新时间:2024-11-14
· 945 次阅读

在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

以上这篇使用Python在Windows下获取USB PID&VID的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持软件开发网。

您可能感兴趣的文章:Python获取系统所有进程PID及进程名称的方法示例python 根据pid杀死相应进程的方法使用python 获取进程pid号的方法



用python 方法 pid windows Python

需要 登录 后方可回复, 如果你还没有账号请 注册新账号