如何检查C#中的另一个进程是否打开了COM端口?

时间:2016-02-09 12:17:37

标签: c# serial-port

我有以下问题。我要检查我选择使用的com端口是否未被系统中的其他进程使用。我尝试通过检查来自IsOpen的字段对象字段System.IO.Ports.SerialPort来实现这一点,但即使端口在另一个进程中打开,结果也是False所以我的程序尝试打开端口并崩溃正当例外。除了在try catch中处理这个之外还有其他方法吗?

1 个答案:

答案 0 :(得分:2)

您可以调用打开的消息并查找UnauthorizedAccessException以确定它是否对您免费。

  

端口拒绝访问。    - 或 - 当前进程或系统上的其他进程已经通过SerialPort实例或在   非托管代码。

如果在已打开端口的实例上打开端口,则会出现InvalidOperationException异常。