使用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 相关文章推荐
Pythont特殊语法filter,map,reduce,apply使用方法
Feb 27 Python
对Python进行数据分析_关于Package的安装问题
May 22 Python
Python实现的微信支付方式总结【三种方式】
Apr 13 Python
python实现翻转棋游戏(othello)
Jul 29 Python
python实现猜数字游戏
Mar 25 Python
python写一个随机点名软件的实例
Nov 28 Python
python读取ini配置的类封装代码实例
Jan 08 Python
详解python对象之间的交互
Sep 29 Python
Python关于拓扑排序知识点讲解
Jan 04 Python
tensorflow与numpy的版本兼容性问题的解决
Jan 08 Python
python入门之算法学习
Apr 22 Python
Python中的变量与常量
Nov 11 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简单的伪原创程序,配合商城采集用的
2010/10/12 PHP
将酷狗krc歌词解析并转换为lrc歌词php源码
2014/06/20 PHP
php截取视频指定帧为图片
2016/05/16 PHP
PHP符合PSR编程规范的实例分享
2016/12/21 PHP
php 字符串中是否包含指定字符串的多种方法
2018/04/12 PHP
PHP正则匹配到2个字符串之间的内容方法
2018/12/24 PHP
document.compatMode介绍
2009/05/21 Javascript
利用JQuery制作符合Web标准的QQ弹出消息
2014/01/14 Javascript
jquery如何扑捉回车键触发的事件
2014/04/24 Javascript
jquery实现很酷的网页顶部图标下拉菜单效果
2015/08/22 Javascript
jquery实现网页定位导航
2016/08/23 Javascript
js中string和number类型互转换技巧(分享)
2016/11/28 Javascript
node.js 和HTML5开发本地桌面应用程序
2016/12/13 Javascript
ReactJS实现表单的单选多选和反选的示例
2017/10/13 Javascript
JS实现瀑布流布局
2017/10/21 Javascript
jQuery子选择器与可见性选择器实例分析
2019/06/28 jQuery
vue通过video.js解决m3u8视频播放格式的方法
2019/07/30 Javascript
微信小程序事件流原理解析
2019/11/27 Javascript
es6数组之扩展运算符操作实例分析
2020/04/25 Javascript
python中日志logging模块的性能及多进程详解
2017/07/18 Python
Python3 利用requests 库进行post携带账号密码请求数据的方法
2018/10/26 Python
PyCharm配置mongo插件的方法
2018/11/30 Python
django-crontab 定时执行任务方法的实现
2019/09/06 Python
Macbook安装Python最新版本、GUI开发环境、图像处理、视频处理环境详解
2020/02/17 Python
修复iPhone的safari浏览器上submit按钮圆角bug
2012/12/24 HTML / CSS
html table呈现个人简历以及单元格宽度失效的问题解决
2021/01/22 HTML / CSS
Arti-shopping中文官网:大型海外商品一站式直邮平台
2020/03/23 全球购物
.net C#面试题
2012/08/28 面试题
面试必备的求职信
2014/05/25 职场文书
幼儿园端午节活动方案
2014/08/25 职场文书
2014年化验室工作总结
2014/11/21 职场文书
调解书格式范本
2015/05/20 职场文书
2016年公务员六五普法心得体会
2016/01/21 职场文书
哪类餐饮行业,最适合在高校创业?
2019/08/19 职场文书
vue项目两种方式实现竖向表格的思路分析
2021/04/28 Vue.js
Java 异步任务计算FutureTask
2022/04/28 Java/Android