使用Python在Windows下獲取USB PID&VID的方法
在Linux系統下獲取USB PID&VID是件十分容易的事情,只需要"lsusb"命令就可以了。
不過,對于Windows,就沒有那么容易了。
之前,有嘗試過通過注冊表來獲得目前連接device的USB PID&VID,不過注冊表里存放的是之前有插入這臺Windows系統的USB設備的歷史記錄,也就是說,并不是目前連接到Windows的USB設備的信息。
這個問題,可以用pyusb這個庫解決,但是pyusb需要依賴庫,不同的Windows可能需要不同的庫,所以如果程序要大規(guī)模部署到不同的系統上時,要謹慎考慮。
后來,選用的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的方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
TensorFlow查看輸入節(jié)點和輸出節(jié)點名稱方式
今天小編就為大家分享一篇TensorFlow查看輸入節(jié)點和輸出節(jié)點名稱方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-01-01

