获取串口名称

//方法一:
using Microsoft.Win32;
        // 获取所有串口名,夹杂在ComboBox中
        public void GetComList(ComboBox cmbComPort)
        {
            RegistryKey keyCom = Registry.LocalMachine.OpenSubKey("Hardware\\DeviceMap\\SerialComm");
		//(*string []RegistryKey.GetValueNames()检索包含于此项关联的所有值名称的字符串数组)
            if (keyCom != null)
            {
                string[] sSubKeys = keyCom.GetValueNames();
                cmbComPort.Items.Clear();
                foreach (string sName in sSubKeys)
                {
                    string sValue = (string)keyCom.GetValue(sName);
                    cmbComPort.Items.Add(sValue);
                }
            }
        }


方法二:获取串口名称加载在TextBox中

using System.IO.Ports;

foreach (string vPortName in SerialPort.GetPortNames())
{
    this.textBox2.Text = this.textBox2.Text + vPortName + " ";
}


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Windows平台上,你可以使用Windows API函数来获取可用的串口名称列表。下面是一个示例代码,演示如何获取串口名称: ```cpp #include <iostream> #include <windows.h> int main() { const int MAX_PORT_NUM = 256; // 最大串口数量 char portName[MAX_PORT_NUM][10]; // 存储串口名称的数组 // 遍历所有可能的串口号,尝试打开串口获取可用串口名称 for (int i = 0; i < MAX_PORT_NUM; i++) { HANDLE hSerial = CreateFile( ("\\\\.\\COM" + std::to_string(i + 1)).c_str(), GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, NULL ); if (hSerial != INVALID_HANDLE_VALUE) { CloseHandle(hSerial); sprintf_s(portName[i], "COM%d", i + 1); } else { strcpy_s(portName[i], ""); } } // 输出可用的串口名称 for (int i = 0; i < MAX_PORT_NUM; i++) { if (strlen(portName[i]) > 0) { std::cout << "可用串口名称:" << portName[i] << std::endl; } } return 0; } ``` 在上述示例中,我们定义了一个最大串口数量 `MAX_PORT_NUM` 和一个二维字符数组 `portName`,用于存储串口名称。然后,我们使用循环遍历所有可能的串口号,并尝试打开串口设备。如果成功打开串口设备,则将串口名称存储在 `portName` 数组中;否则,将空字符串存储在 `portName` 数组中。 最后,我们输出可用的串口名称。 请注意,该示例仅获取串口设备的名称,并没有进行串口通信操作。你可以根据实际情况修改和扩展代码,以满足你的需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值