小弟现在有个GPS设备通过COM口来进行对软件的通讯
请问怎么编写代码才能获取到本机未被使用的COM 端口号?

解决方案 »

  1.   

    这个只能一个一个打开试试
    string ports = SerialPort.GetPortNames();
    Array.Sort(ports);
    List<string> validPorts = new List<string>();
    foreach (string port in ports)
    {
        try
        {
            SerialPort comm = new SerialPort();
            comm.PortName = port;
            comm.Open();
            comm.Close();
            validPorts.Add(port);
        }
        catch
        {
        }
    }
      

  2.   

    string ports = SerialPort.GetPortNames();
    只获取了两个 COM 口 这个不对吧?
      

  3.   


    COM 口应该有这么多吧?
      

  4.   

    一般计算机只有一个COM口吧,除非扩展了的!要判断的话,只有一个一个尝试咯,就那么几个,判断也比较简单的