public bool IsCommPortValid(int port) { try { SerialPort sp = new SerialPort("COM"+port.ToString()); sp.Close(); } catch { return false; } }
用个try,catch抓一下,串口占用直接会报占用的错误,打印出来就行了啊
string port = null; port = Console.ReadLine(); SerialPort sp = new SerialPort("COM" + port); try { sp.Open(); Thread.Sleep(1000); sp.Close(); Console.WriteLine("端口尚未打开"); } catch (InvalidOperationException e) { Console.WriteLine("端口已打开"); } catch(Exception ee) { Console.WriteLine( new Exception(ee.Message)); }
测试
string port = null; port = Console.ReadLine(); SerialPort sp1 = new SerialPort("COM1"); sp1.Open(); SerialPort sp = new SerialPort("COM" + port); try { sp.Open(); sp.Close(); Console.WriteLine("端口尚未打开"); } catch (InvalidOperationException e) { Console.WriteLine("端口已打开"); } catch(Exception ee) { Console.WriteLine( new Exception(ee.Message)); }
时间: 2024-12-29 11:32:00