首页  >  文章  >  后端开发  >  如何在 C# 中检索串行端口描述?

如何在 C# 中检索串行端口描述?

DDD
DDD原创
2024-10-31 10:26:28997浏览

How Do I Retrieve Serial Port Descriptions in C#?

检索串行端口详细信息

提供的代码成功枚举 COM 端口,但缺乏检索端口描述(如设备管理器中可见的端口描述)的功能。对于全面的解决方案,建议采用以下方法:

<code class="csharp">using (var searcher = new ManagementObjectSearcher("SELECT * FROM Win32_PnPEntity WHERE Caption like '%(COM%'"))
{
    var portnames = SerialPort.GetPortNames();
    var ports = searcher.Get().Cast<ManagementBaseObject>().ToList().Select(p => p["Caption"].ToString());

    var portList = portnames.Select(n => n + " - " + ports.FirstOrDefault(s => s.Contains(n))).ToList();

    foreach (string s in portList)
    {
        Console.WriteLine(s);
    }
}</code>

上述代码利用 Windows Management Instrumentation (WMI) 收集有关每个串行端口的详细信息。 ManagementObjectSearcher 配置为查询特定 COM 端口信息。

SerialPort.GetPortNames() 方法返回端口名称数组。然后,使用这些名称来过滤 WMI 查询并检索相应的端口描述。

生成的列表 portList 包含端口名称和描述的组合。通过迭代此列表,您可以根据需要显示信息,例如,在组合框中为用户提供可用串行端口的描述性列表。

以上是如何在 C# 中检索串行端口描述?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn