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

Mag*_*nar 5 c# serial-port

我有以下问题。我必须检查我选择使用的 com 端口是否未被系统中的另一个进程使用。我试图通过检查字段对象场才达到的是IsOpenSystem.IO.Ports.SerialPort,但即使该端口是开放在另一个进程的结果是False使我的程序试图打开端口并崩溃由于异常。除了在 try catch 中处理这个问题之外,还有其他方法吗?

Adi*_*dil 2

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

对该端口的访问被拒绝。- 或 - 当前进程或系统上的另一个进程已通过 SerialPort 实例或非托管代码打开了指定的 COM 端口。

如果您在已打开端口的实例上打开该端口,您将收到InvalidOperationException异常。