使用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 相关文章推荐
python实现的一个火车票转让信息采集器
Jul 09 Python
用TensorFlow实现戴明回归算法的示例
May 02 Python
python二维列表一维列表的互相转换实例
Jul 02 Python
django解决跨域请求的问题
Nov 11 Python
python 列表递归求和、计数、求最大元素的实例
Nov 28 Python
Python提取特定时间段内数据的方法实例
Apr 01 Python
python面向对象实现名片管理系统文件版
Apr 26 Python
django settings.py 配置文件及介绍
Jul 15 Python
python+jinja2实现接口数据批量生成工具
Aug 28 Python
python中的 zip函数详解及用法举例
Feb 16 Python
python 基于wx实现音乐播放
Nov 24 Python
python爬虫实现爬取同一个网站的多页数据的实例讲解
Jan 18 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
Re:从零开始的异世界生活 第2季 开播啦
2020/07/24 日漫
Php Mssql操作简单封装支持存储过程
2009/12/11 PHP
PHP简单留言本功能实现代码
2017/06/09 PHP
js实现单行文本向上滚动效果实例代码
2013/11/28 Javascript
JS获取浏览器语言动态加载JS文件示例代码
2014/10/31 Javascript
jquery插件bxslider用法实例分析
2015/04/16 Javascript
浅谈js中对象的使用
2016/08/11 Javascript
老生常谈JavaScript 函数表达式
2016/09/01 Javascript
HTML5+Canvas调用手机拍照功能实现图片上传(下)
2017/04/21 Javascript
详解Vue-cli 创建的项目如何跨域请求
2017/05/18 Javascript
JS仿QQ好友列表展开、收缩功能(第一篇)
2017/07/07 Javascript
vue2.0s中eventBus实现兄弟组件通信的示例代码
2017/10/25 Javascript
react-native-video实现视频全屏播放的方法
2018/03/19 Javascript
详解Vue前端生产环境发布配置实战篇
2019/05/07 Javascript
JS中封装axios来管控api的2种方式
2019/09/11 Javascript
详解BootStrap表单验证中重置BootStrap-select验证提示不清除的坑
2019/09/17 Javascript
Vue 实例事件简单示例
2019/09/19 Javascript
django简单的前后端分离的数据传输实例 axios
2020/05/18 Javascript
Vue清除定时器setInterval优化方案分享
2020/07/21 Javascript
[05:26]TI10典藏宝瓶套装外观展示
2020/07/03 DOTA
详解Python爬虫的基本写法
2016/01/08 Python
Python中使用插入排序算法的简单分析与代码示例
2016/05/04 Python
Python字符串格式化%s%d%f详解
2018/02/02 Python
pycharm使用matplotlib.pyplot不显示图形的解决方法
2018/10/28 Python
使用Template格式化Python字符串的方法
2019/01/22 Python
python的set处理二维数组转一维数组的方法示例
2019/05/31 Python
python爬虫刷访问量 2019 7月
2019/08/01 Python
Django Aggregation聚合使用方法解析
2019/08/01 Python
python Manager 之dict KeyError问题的解决
2019/12/21 Python
NHL官方在线商店:Shop.NHL.com
2020/05/01 全球购物
我的五年职业生涯规划
2014/01/23 职场文书
小学节能减排倡议书
2014/05/15 职场文书
承诺保证书格式
2015/02/28 职场文书
node.js使用express-fileupload中间件实现文件上传
2021/07/16 Javascript
JavaWeb 入门:Hello Servlet
2021/07/16 Java/Android
springboot layui hutool Excel导入的实现
2022/03/31 Java/Android