在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的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持小牛知识库。
问题内容: 我想弄清楚当前的电池容量和设计容量。 到目前为止,我能使用的是Win32_Battery()类,该类不能提供我需要的所有信息(至少在我的系统上不提供)。我为此使用了纯Python的wmi库。 另一方面,我发现此方法在Python中有效,如何检测计算机是否由电池供电?,但是很遗憾,它也没有提供有关“容量”的任何信息。 为此,电池信息结构和电池状态结构似乎很完美。现在,我知道必须使用D
本文向大家介绍在windows下使用python进行串口通讯的方法,包括了在windows下使用python进行串口通讯的方法的使用技巧和注意事项,需要的朋友参考一下 Windows版本下的python并没有内置串口通讯的pyserial的库,所以需要自己下载。参照了网上的教程,有许多用的pip的安装方式,但是试了几个都没有用,所以想到用GitHub下载库文件,步骤分为: 1.在Github下载p
本文向大家介绍python在linux系统下获取系统内存使用情况的方法,包括了python在linux系统下获取系统内存使用情况的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了python在linux系统下获取系统内存使用情况的方法。分享给大家供大家参考。具体如下: 将上面的代码保存为:memorymonitor.py 调用方法如下: 希望本文所述对大家的Python程序设计有所帮助
我想只返回那些在Windows任务管理器中的“应用”类别下列出的应用程序,而不是所有正在运行的进程。下面的脚本返回所有我不想要的进程。如何根据我的要求修改此代码?
我用Python和Pyplay做了一个简单的游戏。 游戏在两个方向(纵向和横向)上都有效,因为我在打开游戏时使用的方向是相同的。 如果我在游戏运行时旋转设备改变方向,所有东西都会出现在错误的位置。 问题是,我不知道如何检测设备是否已旋转以正确重画屏幕。 那么,我的问题是: 如何检测用户仅使用Python或PyGame代码旋转设备? 重要提示:建议不应与任何特定操作系统相关,因为相同的代码必须在带有
问题内容: 在Windows上截图的最快方法是什么?是相当慢的..花费4-5秒钟才能获得同一小窗口的30个屏幕截图。拍摄整个桌面的屏幕截图甚至更慢。 问题答案: 您可以直接使用win32 API。 1)首先将焦点放在您要为其截屏的应用程序上。连结文字 “焦点问题在另一个问题中处理”) 2)Win32 API可以帮助截图: