![](/img/trans.png)
[英]c++, windows 7: recognize usb thumbdrive was connected and recognize usb identifier?
[英]Logic to recognize the name of the COM port to which a USB to RS422 connector is connected (for Windows application))
我有一个应用程序,通过USB到RS422转换器将数据写入串行端口。 该转换器电缆通过USB集线器连接到我的PC。 我面临的问题是,每次更改运行应用程序的PC时,COM端口的名称都会更改。 因此,我将不得不在代码中对此进行更改,然后重新编译代码以运行该应用程序。 目前,以下是我用来初始化串口的代码:
if ((comport = CreateFile("\\\\.\\COM7", GENERIC_WRITE, 0,
NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL)) == INVALID_HANDLE_VALUE)
{
return false;
}
在这里,我仅提及COM端口的名称。 我想知道是否有一个API可以知道COM端口的状态,并且可以即时识别转换器连接到的COM端口吗?
检测Windows上所有可用串行端口的正确方法是什么? 这个问题可能至少会有所帮助。 因此,如第二个答案所示,API可能无法实现。 串行端口不是即插即用的。
因此可以列出所有端口。 我想到的唯一可能的方法是轮询列表中的每个设备。 等到您得到期望的响应。 不太好
编辑:可能有可能获得友好名称,如果那是您想要的。 如何获得Windows中COM端口的友好名称?
可以在以下应用程序中设置电缆的COM端口,而不是在应用程序中更改COM端口:
设备管理器->端口->右键单击电缆名称->属性->端口设置->高级->通讯端口号(您可以根据应用选择端口号)
无需更改应用程序中的任何内容。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.