使用Python在Windows下获取USB PID&VID的方法


Posted in Python onJuly 02, 2019

在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 相关文章推荐
在IIS服务器上以CGI方式运行Python脚本的教程
Apr 25 Python
在Python中操作时间之mktime()方法的使用教程
May 22 Python
python监控进程脚本
Apr 12 Python
Python Flask 搭建微信小程序后台详解
May 06 Python
python selenium 查找隐藏元素 自动播放视频功能
Jul 24 Python
python+django+rest框架配置创建方法
Aug 31 Python
centos+nginx+uwsgi+Django实现IP+port访问服务器
Nov 15 Python
使用python 对验证码图片进行降噪处理
Dec 18 Python
python文件处理fileinput使用方法详解
Jan 02 Python
使用python绘制cdf的多种实现方法
Feb 25 Python
Pycharm github配置实现过程图解
Oct 13 Python
Python使用PyYAML库读写yaml文件的方法
Apr 06 Python
在windows下使用python进行串口通讯的方法
Jul 02 #Python
浅析Python 中几种字符串格式化方法及其比较
Jul 02 #Python
Python实用工具FuckIt.py介绍
Jul 02 #Python
Python如何实现转换URL详解
Jul 02 #Python
Pandas的read_csv函数参数分析详解
Jul 02 #Python
如何使用Python实现斐波那契数列
Jul 02 #Python
pandas数据筛选和csv操作的实现方法
Jul 02 #Python
You might like
PHP number_format() 函数定义和用法
2012/06/01 PHP
php中flush()、ob_flush()、ob_end_flush()的区别介绍
2013/02/17 PHP
PHP5多态性与动态绑定介绍
2015/04/03 PHP
php通过curl模拟登陆DZ论坛
2015/05/11 PHP
thinkPHP中分页用法实例分析
2015/12/26 PHP
浅谈laravel 5.6 安装 windows上使用composer的安装过程
2019/10/18 PHP
js阻止冒泡及jquery阻止事件冒泡示例介绍
2013/11/19 Javascript
js图片滚动效果时间可随意设定当鼠标移上去时停止
2014/06/26 Javascript
html文本框提示效果的示例代码
2014/06/28 Javascript
node.js中的fs.rmdirSync方法使用说明
2014/12/16 Javascript
JSON格式的键盘编码对照表
2015/01/29 Javascript
简介JavaScript中fixed()方法的使用
2015/06/08 Javascript
微信小程序侧边栏滑动特效(左右滑动)
2017/01/23 Javascript
关于vue单文件中引用路径的处理方法
2018/01/08 Javascript
node.js+express+mySQL+ejs+bootstrop实现网站登录注册功能
2018/01/12 Javascript
angular动态表单制作
2018/02/23 Javascript
使用Vuex实现一个笔记应用的方法
2018/03/13 Javascript
原生JS实现的简单轮播图功能【适合新手】
2018/08/17 Javascript
koa大型web项目中使用路由装饰器的方法示例
2019/04/02 Javascript
JS实现移动端双指缩放和旋转方法
2019/12/13 Javascript
Python 时间操作例子和时间格式化参数小结
2014/04/24 Python
python标准算法实现数组全排列的方法
2015/03/17 Python
python实现指定字符串补全空格、前面填充0的方法
2018/11/16 Python
基于Python批量生成指定尺寸缩略图代码实例
2019/11/20 Python
使用pyhon绘图比较两个手机屏幕大小(实例代码)
2020/01/03 Python
python实现门限回归方式
2020/02/29 Python
基于Python爬取京东双十一商品价格曲线
2020/10/23 Python
selenium设置浏览器为headless无头模式(Chrome和Firefox)
2021/01/08 Python
python中time包实例详解
2021/02/02 Python
证婚人搞笑证婚词
2014/01/10 职场文书
2015年试用期工作总结
2014/12/12 职场文书
刑事附带民事代理词
2015/05/25 职场文书
《狮子和鹿》教学反思
2016/02/16 职场文书
浙江省杭州市平均工资标准是多少?
2019/07/09 职场文书
Python time库的时间时钟处理
2021/05/02 Python
Python开发之QT解决无边框界面拖动卡屏问题(附带源码)
2021/05/27 Python