获取串口名称的方法(C#)


获取串口名称的方法(C#)

    • 第一种方法
    • 第二种方法

第一种方法 ①需要使用到的命名空间:
using System.IO.Ports; using Microsoft.Win32; //RegistryKey 类 //官网的介绍: https://docs.microsoft.com/zh-cn/dotnet/api/microsoft.win32.registrykey?redirectedfrom=MSDN&view=netframework-4.8

② 下面是获取串口名称的方法
void CheckSerialPort() { RegistryKey tempRegist = RegistryKey .LocalMachine.OpenSubKey("HARDWARE").OpenSubKey("DEVICEMAP").OpenSubKey("SERIALCOMM"); if (tempRegist != null && tempRegist .ValueCount > 0) { string[] tempRegistComs = tempRegist .GetValueNames(); cbPortItem.Items.Clear(); //清除Combox中的项 foreach (string tempStrName in tempRegistComs ) { string tempCom = Convert.ToString(tempRegist .GetValue(tempStrName )); cbPortOne.Items.Add(tempCom); //添加Com名称 } if (cbPortOne.Items.Count > 0) { cbPortOne.SelectedIndex = 0; //默认的索引 } } }

第二种方法 ① 需要使用到的命名空间:
using System.IO.Ports;

② 添加Com名称到ComboBox
void SerialPortDetect() //串口检测 { cbPortItem.Items.Clear(); //清除Combox中的项 try { cbPortItem.Items.AddRange(SerialPort.GetPortNames()); //添加项 if (cbPortItem.Items.Count > 0) { cbPortOne.SelectedIndex = 0; //默认的索引 } } catch (Exception ex) { MessageBox.Show(ex.Message); } }

【获取串口名称的方法(C#)】以上两种方法,都是检测本机有多少个COM口,然后将它加入到名字为cbPortOne的Combobox控件里面。

    推荐阅读