在我的代码中,我设置了以下值:
public SerialPort comPort = new SerialPort();
comPort.PortName = portName;
例如,PortName
可以是COM17。
现在如果我通过我的GUI添加两个设备,两者都在COM17上,最终会抛出异常(拒绝访问COM17)。现在我想检查哪个设备挂在该COM端口上,这样如果我的应用程序识别它,它可以通过端口发送命令,或者如果它不被识别,它将禁用我的GUI中的选项。
那么,有没有办法从COM端口获取唯一的信息,我可以在安装时保存在我的数据库中?
编辑:澄清一下,如果错误的设备挂钩到该COM端口(除了我安装时),我收到错误。我发现了这个错误,所以我知道这不是正确的错误。但我更愿意知道可能是哪种设备。说我有2个驱动程序包含DLL,2个不同的设备,有人将它们打开。然后我的应用程序可以检查并查看正确的名称,因此得出结论只是更改已安装对象的COM端口,而不是仅仅抛出错误并说用户必须重新安装。
答案 0 :(得分:1)
这取决于您的硬件。如果附加的设备将对特定信号消息给出可预测且一致的响应,那么您可以使用它来识别它们。我做同样的事情来弄清楚一个专有硬件连接到哪个COM端口。我遍历所有COM端口并发送一条消息,我知道它会从硬件中给出特定的响应。哪个端口给我预期的结果是硬件。