SerialPort(.net) - 未找到端口

时间:2017-09-01 07:55:39

标签: c# .net serial-port

using System;
using System.IO.Ports;

public static void getPorts()
{
    string[] ports = SerialPort.GetPortNames();

    Console.WriteLine("The following serial ports were found:");

    foreach (string port in ports)
    {
        Console.WriteLine(port);
    }
    Console.ReadLine();
}

我对这个简单的代码有疑问。我需要写出我的端口,因为我稍后会与他们一起工作(我在我更大的应用程序中使用这个简单的功能)。一切正常,直到我升级Windows。你知道可能是什么问题吗?我还安装了所有驱动程序。

1 个答案:

答案 0 :(得分:1)

SerialPort.GetPortNames方法不会列出一些虚拟串行端口(如某些USB-to-RS232适配器等提供的端口),因为它依赖于HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM注册表项,如documentation。 您可以使用WMI查询列出所有串行端口,详细信息为here