我想使用Boost Asio库来连接我的USB设备。它工作正常。现在我想枚举/扫描所有可能的USB设备,看看哪一个可以使用。这在Boost Asio库中可能吗?我还没有找到任何功能或相关信息。
这是最封闭的情况下找到USB端口。但不确定这是否是一个适当的解决方案。
#include <stdio.h>
#include <boost/asio.hpp>
int main()
{
boost::asio::io_service io;
boost::asio::serial_port port(io);
char portName[10];
for (int i = 0; i < 256; i++) {
try {
sprintf_s(portName, "COM%i", i);
port.open(portName);
if (port.is_open()) {
printf("Port COM%i is a possible USB port\n", i);
port.close();
}
}
catch (...) {
printf("Port COM%i is not a possible USB port\n", i);
}
}
return 0;
}
1条答案
按热度按时间of1yzvn41#
这不是图书馆的特色。
由于您正在寻找窗口,请考虑使用WMI接口来枚举串行端口。例如,在C#代码中: