c++ - 查找我的 Windows PC 上可用的 USB 端口列表

标签 c++ windows visual-c++ usb winusb

我已经搜索了很多,但无法找到查询的答案。 我想知道 PC 上有多少个 USB 端口可用,例如,对于串行端口,我们有“COM1”和“COM2”。我的电脑 (windows7) 包含 8 个 USB 端口,我需要找到端口列表以及它们是否被使用。

我尝试使用 WMI 查询但没有结果,因为它仅提供已连接设备和 USB 集线器的详细信息。

使用 Win DDK 它将显示每个 HUB 可用的所有端口,但有趣的是,这与我从外部看到的不一样。 Win DDK 将给出每个集线器可寻址的端口数,而不是从外部可见的确切端口数。任何 C 或 C++ 代码都会有很大帮助。

理想的结果应该是这样的:

USB 1  USED
USB 2  Not USed 
USB 3  USED 
USB 4  Not Used 
.....

最佳答案

你无法确定这一点。原因很简单,您想要区分计算机内部的集线器和外部的集线器。您 PC 上的这 8 个 USB 端口中至少有一部分可能连接到焊接在主板上的集线器。

此外,USB 用作仅内部连接的情况并不少见。例如。许多 SD 读卡器连接到内部 USB 集线器。对于软件来说,这看起来像一个 USB 端口,但在您的 PC 外部当然看不到它。

关于c++ - 查找我的 Windows PC 上可用的 USB 端口列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14681333/

相关文章:

c++ - 删除所有未找到的,即删除映射中未在集合中找到的所有键/值

android - 通过 WiFi 将图像从 Android 发送/保存到 Windows 时数据过多

python - 使用python的U盘盘符

c++ - VC++ Debug模式:批量编辑 std::vector<int> 值?

c++ - CMake:在 Windows 上将 Boost v1.69 与 MSVC 结合使用

c++ - 引用复制是编译器优化吗,我可以避免吗?

c++ - qt c++ 信号槽连接,用于对象之间的数据交换

php - 如何从 php 将参数传递给 windows 命令行程序中的可执行文件?

winapi - 请求刷新 LVN_GETEMPTYMARKUP

c++ - 静态变量的 Constexpr 构造函数导致动态初始化