winform 获取可用的串口(包括串口名称)
2023-12-27 22:04:56
SerialPort.GetPortNames() 也可以获取可用的串口,但是只有COM1、COM2?这种,下面的代码是另一种获取串口的方式,可以获取到驱动名称之类的设备名
using System;
using System.Collections.Generic;
using System.Management;
using System.Text.RegularExpressions;
namespace Example
{
internal class Example
{
public static List<string> GetComList()
{
List<string> list = new List<string>();
using (ManagementObjectSearcher searcher = new ManagementObjectSearcher("select * from Win32_PnPEntity"))
using(ManagementObjectCollection.ManagementObjectEnumerator enumerator = searcher.Get().GetEnumerator())
{
while (enumerator.MoveNext())
{
ManagementBaseObject current = enumerator.Current;
if (current.Properties["Name"].Value != null)
{
string text = current.Properties["Name"].Value.ToString();
Match m = Regex.Match(text, @"COM\d+");
if (m.Success)
{
Console.WriteLine(new string('*', 100));
//获取的是这样子的:通信端口 (COM1)
//我们给转成这样子:COM1 通信端口
string item = $"{m.Value} {text.Substring(0, m.Index - 1)}".Trim();
Console.WriteLine(item);
list.Add(item);
}
}
}
return list;
}
}
}
}
文章来源:https://blog.csdn.net/jjf19891208/article/details/135249422
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!