我有一个问题。我需要检查我选择使用的串口是否被系统中的另一个进程使用。我试图通过检查System.IO.Ports.SerialPort
的对象字段IsOpen
来实现,但即使该端口在另一个进程中打开,结果也是False
,因此我的程序尝试打开该端口并由于异常而崩溃。除了在try catch中处理这个问题,还有其他方法吗?
我有一个问题。我需要检查我选择使用的串口是否被系统中的另一个进程使用。我试图通过检查System.IO.Ports.SerialPort
的对象字段IsOpen
来实现,但即使该端口在另一个进程中打开,结果也是False
,因此我的程序尝试打开该端口并由于异常而崩溃。除了在try catch中处理这个问题,还有其他方法吗?
您可以调用打开消息,并查找UnauthorizedAccessException来确定它是否对您免费。
无法访问端口。 - 或 - 当前进程或系统上的另一个进程已经通过SerialPort实例或未受管理的代码打开了指定的COM端口。
如果在已经打开端口的实例上打开端口,您将收到InvalidOperationException异常。