Search code examples
c#exceptionserial-port

Programmatically check if a COM port exists in C#


I just got myself into using the SerialPort object in C# and I realised it throws an exception saying that "COM1" does not exist. I checked my device manager to see what COM ports I can use, but is there a way to find out what COM ports are available and programmatically select one of them?


Solution

  • Yes, use SerialPort.GetPortNames(), which returns an array of strings of available port names.

    Then create your SerialPort object by specifying one of the names in the constructor.

    string[] ports = SerialPort.GetPortNames();
    SerialPort port = new SerialPort(ports[0]);  // create using first existing serial port, for example