最近一直在研究USB HID多设备升级,然后就查看了微软提供的WDK USB Tree View源码,但是没有找到USB多设备端口绑定的决定因素,当在电脑接上多个相同的USB设备时,就不好判断USB HID设备路径对应的USB端口了。当时修改了 USB Tree View源码后就出现了这样的问题,根据PID VID以及设备GUID来判断连到哪个端口,但是很快就被否定了,当接了两台一样的设备时彻底傻眼了,每个端口上都有这些设备路径。

最后在网上查看了一个帖子,说是可以根据注册表来判断设备的连接,果然可以!上图中的PID和VID就是我使用的鼠标的ID,英菲克的鼠标!

最终通过注册表发现一个USB设备如果是复合设备时,其注册表对应的ContainerID都是一样的!!!

正好USB Tree View 源码里也可以读取USB设备对应的ContainerID ,然后就将USB Tree View 做成了动态dll,可以直接使用Autoit或C#等程序进行调用,下图是使用Auto调用的结果。USB复合设备对应的端口绑定也就解决了。

之前看了好多的帖子,也有兄弟在咨询说公司做项目,很多相同的USB设备连到电脑上怎么区分,使用我这个dll其实就可以进行初步区分了,什么序列号识别,GUID识别都不行,不能唯一对应设备在哪个usb端口,因此,升级后设备接在哪个端口更加不知道了,通过判断ContainerID可以唯一确定设备连接的USB端口号。

有一点有人要问的,比如我现在笔记本只有3个USB端口,为什么显示有24个端口这么多啊,其实这是电脑内部的USB总线,比如笔记本对应的WebCam 网络摄像头,也是通过USB来连接的,因此内部也要使用端口,还有一些设备比如wifi,蓝牙什么的也可能是通过内部USB连接的。使用我的例子程序,大家可以看到实体USB口对应的编号,USB HID升级以及设备识别也就简单很多了。大家也可以在网上下载一个USB Devic Tree Viewer看一下自己电脑上的USB口是不是按照下图中显示的。

最后,当然少不了源码放送了:查看我的资源,https://download.csdn.net/download/es15071848238/11232139

USB HID 多设备检查工具,使用USB Tree View源码修改而来相关推荐

  1. adb 工具源码修改

    adb 工具源码修改 1.修改客户端输入后的判断逻辑,使带密码的命令 可以通过命令检查 修改 system/core/adb/client/commandline.cpp 在最前面 新增一个函数 用来 ...

  2. Java毕设项目中学后勤设备保修维护管理系统计算机(附源码+系统+数据库+LW)

    Java毕设项目中学后勤设备保修维护管理系统计算机(附源码+系统+数据库+LW) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也 ...

  3. Go (Golang) 工具之copyright 添加 | go源码添加授权头

    文章目录 Go (Golang) 工具之copyright 添加 | go源码添加版权 什么是addlicense addlicense安装和使用 Go (Golang) 工具之copyright 添 ...

  4. java计算机毕业设计机械生产企业办公设备管理系统MyBatis+系统+LW文档+源码+调试部署

    java计算机毕业设计机械生产企业办公设备管理系统MyBatis+系统+LW文档+源码+调试部署 java计算机毕业设计机械生产企业办公设备管理系统MyBatis+系统+LW文档+源码+调试部署 本源 ...

  5. 家园垃圾分类php源码,PHP垃圾分类设备机器类企业网站整站源码(带手机移动端) dedecms内核...

    [温馨提示]源码包解压密码:www.youhutong.com 资源描述 PHP垃圾分类设备机器类企业网站整站源码(带手机移动端) dedecms内核 源码介绍: 采用织梦最新内核开发的模板,该模板属 ...

  6. 单机redis工具类的使用附源码

    单机redis工具类的使用附源码 问题背景 项目搭建 代码测试 总结 Lyric: 怎么隐藏我的悲伤 问题背景 redis常用的工具类 注意事项: 默认已安装redis,可以使用安装包安装看这篇文章, ...

  7. 计算机毕业设计JAVA基于微服务架构的设备管理系统的设计与实现mybatis+源码+调试部署+系统+数据库+lw

    计算机毕业设计JAVA基于微服务架构的设备管理系统的设计与实现mybatis+源码+调试部署+系统+数据库+lw 计算机毕业设计JAVA基于微服务架构的设备管理系统的设计与实现mybatis+源码+调 ...

  8. QT界面免费版开源图片转文字工具程序完整版附源码

    QT界面免费版开源图片转文字工具程序完整版附源码 需求源码的朋友请留言 操作步骤如下:

  9. 【STM32+cubemx】0017 HAL库开发:usb HID鼠标设备实现

    Cubemx可以生成多种usb设备的初始化代码,本节我们就使用它来生成一个usb HID鼠标的工程,在开发板上运行以后,可以模拟usb鼠标的功能. 1)生成USB HID工程 仍然使用串口工程,如下图 ...

最新文章

  1. 【 Linux 】Vim 使用的第一个阶段(满足基本的写代码需求)
  2. 【机器学习入门笔记8:TensorFlow运算实质】20190216
  3. 如何在调用Marketing Cloud contact创建API时增加对扩展字段的支持
  4. 6月15日起,刷卡机不能自选商户了,这样会有多少卡被封掉?
  5. RHEL124第一天
  6. 你会用LaTeX写毕业论文么?
  7. 怎么尽可能将pdf文件压缩到最小
  8. 北航单片机李广弟c语言还是汇编,单片机基础备课笔记
  9. IDEA 报错 LoggerFactory is not a Logback LoggerContext but Logback is on the classpath,如何排除依赖冲突
  10. 紫光集团赵伟国:拒绝资本高手标签 做好科技产业重炮手
  11. 计算机内存容量影响游戏的吗,内存容量对整机游戏性能影响有多大?
  12. 外挂、私服为何你们这么猖獗?
  13. 解决电脑usb接口无法识别u盘,键盘,鼠标的问题。
  14. Todesk远程连接时一直显示密码错误
  15. ORACLE ASMM与AMM的总结
  16. 【BZOJ】3398: [Usaco2009 Feb]Bullcow 牡牛和牝牛(排列组合+乘法逆元+欧拉定理/费马小定理)...
  17. 用命令行编译java文件
  18. EJB框架 详细介绍和注解的使用
  19. 电脑连接WiFi 网页打不开 QQ可以登上去
  20. 国家开放大学计算机应用基础模块3客观题,国家开放大学《计算机应用基础》考试与答案形考任务模块3模块3Excel2010电子表格系统—客观题答案-20210603091413.docx-原创力文档...

热门文章

  1. 云e办(后端)——员工管理
  2. 第7章 集成Redis缓存
  3. python开发职位_Python后端开发是什么职位?
  4. 使用 Unity 3D 开发游戏的几个架构设计难点
  5. dnf虚拟机连接服务器失败,用虚拟机登录dnf没法登录
  6. seo伪原创技术原理及思路分析
  7. 参加人工智能培训学费贵吗?
  8. 等离子纳秒高压脉冲电源维修HVP-20 P
  9. 计算机网络时延图,动画:什么是计算机网络时延
  10. LNMP+HAproxy+Keepalived+NFS集群架构