gpt4 book ai didi

windows - 如何在 Visual C++ 中列出所有连接的 USB 设备

转载 作者:可可西里 更新时间:2023-11-01 09:18:25 24 4
gpt4 key购买 nike

简而言之:我需要通过 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com