我正在寻找一种方法来检测COM设备何时插入PC。我不限于.NET,但最终的应用程序是用.NET编写的。
最佳选择是连接某个事件(如果存在)。 但实际上我甚至可以循环列出所有设备。
在循环中检查新设备是可以接受的,因为几秒钟的延迟不是真正的问题,应用程序在整个生命周期中只执行一次。
答案 0 :(得分:1)
我可以通过两种不同的方式阅读这个问题:
在这种情况下,您可以在循环中执行SerialPort.GetPortNames并查看何时更改
没有确定的方法可以确定何时连接到COM端口而不发送数据。有一些额外的引脚用于这种方式,但它实际上取决于所涉及的布线。 See this post了解有关电缆类型,优点和缺点的更多详细信息。 如果您可以保证电缆的引脚排列以及您所连接的设备将DTR设置为高电平,那么这可能是一种可行的方法。
如果没有,那么您可能需要轮询每个COM端口并发送一些数据,看看是否有任何响应。