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

有帮助吗?

解决方案 2

我能够通过查询 WMI 来获取所需的信息来解决此问题。基本上,我能够从 Microsoft 的示例代码开始,对其进行一些修改,最后将其构建到我自己的类中,以满足我的需要。

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

其他提示

这是相当多的,你想要的东西MSDN例如:

http://msdn.microsoft.com/ EN-US /库/ ff558728%28VS.85%29.aspx

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top