使用C ++扫描连接USB设备的本地Windows系统

使用C ++扫描连接USB设备的本地Windows系统的最佳方法是什么? 我需要获取供应商和产品ID的列表以匹配我的设备ID。 如果有一种方法可以扫描特定的VID / PID组合,那就更好了。 我的最终目标是检索Windows分配给设备的虚拟COM端口。 如果有办法做到这一切,这将是太棒了。 一如既往,例子非常感谢。 谢谢。

这几乎是你想要的一个MSDN例子:

http://msdn.microsoft.com/en-us/library/ff558728%28VS.85%29.aspx

看来你需要WDK,如果你想访问这种功能(每个MSDN搜索,我可以想到这个建议)。

我可以通过查询WMI来获得所需的信息。 基本上,我可以从微软的示例代码开始,修改一下,最后把它构建到我自己的类中,这个类就是我所需要的。

http://msdn.microsoft.com/en-us/library/aa390423%28v=VS.85%29.aspx

这个计算机系统硬件类的列表也是有帮助的:

http://msdn.microsoft.com/en-us/library/aa389273%28v=VS.85%29.aspx

我使用WMI Code Creator来预览看起来很有希望的类的结果。

最后我使用了以下内容:

  • 命名空间: root\CIMV2
  • 类: Win32_SerialPort
  • 属性: PNPDeviceIDDeviceID