使用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接收Gmail新邮件并发送到gtalk的方法
Mar 10 Python
在Python的web框架中配置app的教程
Apr 30 Python
Python实现计算最小编辑距离
Mar 17 Python
python 系统调用的实例详解
Jul 11 Python
Python使用回溯法子集树模板解决迷宫问题示例
Sep 01 Python
pandas进行数据的交集与并集方式的数据合并方法
Jun 27 Python
解决tensorflow1.x版本加载saver.restore目录报错的问题
Jul 26 Python
Django框架模型简单介绍与使用分析
Jul 18 Python
Python实现对adb命令封装
Mar 06 Python
六种酷炫Python运行进度条效果的实现代码
Jul 17 Python
基于opencv的selenium滑动验证码的实现
Jul 24 Python
python小程序之飘落的银杏
Apr 17 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
二十行语句实现从Excel到mysql的转化
2006/10/09 PHP
dede3.1分页文字采集过滤规则详说(图文教程)续二
2007/04/03 PHP
Yii框架的redis命令使用方法简单示例
2019/10/15 PHP
IE和FireFox(FF)中js和css的不同
2009/04/13 Javascript
得到jQuery detach()后节点中的某个值实现代码
2013/02/05 Javascript
可选择和输入的下拉列表框示例
2013/11/05 Javascript
JavaScript实现图片DIV竖向滑动的方法
2015/04/25 Javascript
深入分析JSON编码格式提交表单数据
2015/06/25 Javascript
省市区三级联动下拉框菜单javascript版
2015/08/11 Javascript
jQuery动画显示和隐藏效果实例演示(附demo源码下载)
2015/12/31 Javascript
利用JS判断字符串是否含有数字与特殊字符的方法小结
2016/11/25 Javascript
微信小程序模板之分页滑动栏
2017/02/10 Javascript
教你快速搭建Node.Js服务器的方法教程
2017/03/30 Javascript
深入理解Vue transition源码分析
2017/07/30 Javascript
使用ESLint禁止项目导入特定模块的方法步骤
2019/03/04 Javascript
layui按条件隐藏表格列的实例
2019/09/19 Javascript
Linux 发邮件磁盘空间监控(python)
2016/04/23 Python
Python实现简单文本字符串处理的方法
2018/01/22 Python
深入浅析Python传值与传址
2018/07/10 Python
python中类的属性和方法介绍
2018/11/27 Python
pygame实现俄罗斯方块游戏(AI篇1)
2019/10/29 Python
如何基于Python实现数字类型转换
2020/02/07 Python
python实现图片转字符画的完整代码
2021/02/21 Python
python实现MySQL指定表增量同步数据到clickhouse的脚本
2021/02/26 Python
使paramiko库执行命令时在给定的时间强制退出功能的实现
2021/03/03 Python
输入一行文字,找出其中大写字母、小写字母、空格、数字、及其他字符各有多少
2016/04/15 面试题
什么是.net
2015/08/03 面试题
信息管理专业推荐信
2013/10/29 职场文书
股权投资意向书
2014/04/01 职场文书
大学生入党推荐书范文
2014/05/17 职场文书
岗位明星事迹材料
2014/05/18 职场文书
党的群众路线教育实践活动个人整改措施
2014/10/27 职场文书
阿甘正传观后感
2015/06/01 职场文书
Python入门学习之类的相关知识总结
2021/05/25 Python
MySQL中日期型单行函数代码详解
2021/06/21 MySQL
关于redisson缓存序列化几枚大坑说明
2021/08/04 Redis