作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
简而言之:我需要通过 PID/VID 检测我的 USB CDC 设备的热插拔事件,并获取由 Windows 在 Visual C++ 中创建的相应虚拟 COM 端口,最后创建一个 dll .
我有一个 USB CDC 设备,当它在 Windows 上连接/断开连接时需要得到通知。我的方法是使用 RegisterDeviceNotification
和一个“不可见”窗口来接收 WM_DEVICECHANGE
通知。到目前为止,这部分工作正常。
现在,据我所知,我需要获取插入的 USB 设备列表,遍历它并使用我的 PID/VID 过滤掉设备?我假设我随后能够获得有关设备的更多信息,包括 COM 端口?
在 setupapi.h
中使用 SetupDi
调用是实现我的目标的唯一方法吗?使用 WDK/DDK 是实现我的目标的唯一方法吗?
只要它起作用,我就会在 http://github.com/vinzenzweber/USBEventHandler 上开源它. Mac 版本已经可用!
最佳答案
在 msdn 上挖掘了大量无用的文档并进行了一些调试后,我发现了缺失的链接:setupapi.h 中的 SetupDi 调用:更多信息以及适用于 Mac 和 Windows 的源代码可以在我的 USBEventHandler 项目中找到 github.com包含适用于 Mac 和 Windows 的源代码。
关于windows - 如何在 Visual C++ 中列出所有连接的 USB 设备,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2735920/
我是一名优秀的程序员,十分优秀!