C#中获得当前可用串口号的方法

  我想应该有很多技术爱好者,跟我一样喜欢用C#来开发小小的上位机助手吧^_^。同时也多采用串口来收发数据,简单嘛。可是每次当往我们的本本上插上USB转串口时,都需要打开设备管理器看看,当前设备对应的串口号。好麻烦,有没有觉得???

  现在我就教大家两种可以自动获得当前电脑上所有可用串口号的方法。

  一、采用"try-catch"语句

    很简单,直接上代码(感觉很熟悉的,请举手>_<)。这种方法,很笨的其实,运行时间很长;同时如果串口号大于50的话,就检测不到了。


 1 for(int i = 1;i < 50;i++)
2 {
3   try
4 {
5     serialPort.PortName = "COM" + i.ToString();
6 serialPort.Open();
7 serialPort.Close();
8 cboPortName.Items.Add(serialPort.PortName)
9 }
10   catch
11 {
12 }
13 }

  二、采用SerialPort类自带的方法

    同样也很简单,但需要引用"System.IO.Ports"命名空间。这种方法很好,运行时间短,对于串口号的范围没有限制。

1 foreach(string portName in SerialPort.GetPortNames())
2 {
3   cboPortName.Items.Add(portName);
4 }

C#中获得当前可用串口号的方法,布布扣,bubuko.com

时间: 2024-10-17 19:12:46

C#中获得当前可用串口号的方法的相关文章

获取当前系统可用串口号(转,亲测有效)

void GetComList_256(CComboBox* pComnum){ CString strCom, strComOpen; int nCom = 0; int count = 0; HANDLE hCom; pComnum->ResetContent();//组合框清空 do { nCom++;   strCom.Format(_T("COM%d"), nCom);   strComOpen.Format(_T("\\\\.\\COM%d"),

Android中验证输入是否为汉字及手机号,邮箱验证,IP地址可用port号验证

1,验证是否为汉字 // 验证昵称 private boolean verifyNickname() { String nickname = edt_username.getText().toString(); if (nickname == null || nickname.length() == 0) { edt_username.setError("不能为空"); return false; } int len = 0; char[] nickchar = nickname.to

Qt 自动搜索串口号列表

@功能: SerialPortList 类实现当前可用的串口进行实时扫描,当发现有新的串口 或是现有串口消失时,SerialPortList类将发出一个QStringList类型的 信号onNewSerialPort,QStringList类型对象中存放当前可用的串口设备. @使用方法: 1.Qt版本需要高于5.1以上: 2.在新建Qt工程文件中时需要加入QSerialPort模块:即:在xxx.pro文件    中加入 Qt += serialport 3.在应用程序中定义一个曹,用于响应Se

Dev的GridView中如何自动生成行号

这里提供一个方法,使用简单,只需将GridView传入,即可自动生成行号 1 public static void SetRowNumberIndicator(GridView gridView) 2 { 3 gridView.BeginUpdate(); 4 gridView.OptionsView.ShowIndicator = true; 5 gridView.CustomDrawRowIndicator += new RowIndicatorCustomDrawEventHandler(

Exchange Server 2016中批量导入邮箱帐号照片

在前面的文章中,我们主要介绍了管理如何为单个用户设置邮箱帐号头像,以及用户如何上传头像以实现个性化显示,那么在今天我们一起来学习管理员如何批量初始化上传用户帐号至邮箱帐号. 1.首先,我们像批量开启帐号的方法一样,利用CSV文件编辑好要配置邮箱头像的帐号,如下图所示: 2.接着呢,我们将对应员工照片放入对应存放路径,如下图所示: 3.制作PowerShell脚本,以实现批量导入功能,脚本内容及存放位置如下: Import-Csv -path C:\Employees_Accounts_Photo

AnsiString 在 Delphi 中虽然不可用,但是,在 C++ 中可以用

[C++] C++ Builder 中 Ansi 编码的字符串在Android/iOS程序中显示的问题 呃,这个问题说起来,其实也不麻烦,C++ Builder 本身在 TEncoding 做了处理,但是,可能用起来还是不够舒服,毕竟 Delphi 的 TBytes 在 C++ Builder 里用,还是感觉怪怪的. 不过,可以告诉大家一个好消息,AnsiString 在 Delphi 中虽然不可用,但是,在 C++ 中可以用. 接下来,告诉大家一个坏消息,你指望 AnsiString 直接赋值

转 TCP中的序号和确认号

在网络分析中,读懂TCP序列号和确认号在的变化趋势,可以帮助我们学习TCP协议以及排查通讯故障,如通过查看序列号和确认号可以确定数据传输是否乱 序.但我在查阅了当前很多资料后发现,它们大多只简单介绍了TCP通讯的过程,并没有对序列号和确认号进行详细介绍,结合实例的讲解就更没有了.近段时间 由于工作的原因,需要对TCP的序列号和确认号进行深入学习,下面便是我学习后的一些知识点总结,希望对TCP序列号和确认号感兴趣的朋友有一定帮助. [b]1.  序列号和确认号的简介及作用[/b] TCP协议工作在

在VB中利用API进行串口通信

本文转自http://blog.csdn.net/lyserver/article/details/4153335 '* ******************************************************* *'*    程序名称:basComm.bas'*    程序功能:在VB中利用API进行串口通信'*    作者:lyserver'*    联系方式:http://blog.csdn.net/lyserver'* ************************

telosb中的Oscilloscope解析-串口通信

Oscilloscope的这个例子包括了PC与串口的接发送消息,很值得研究一番. 大体的思想是传感器节点采集数据,每采集十个数据发送一个数据包给另外一个Base节点,然后Base节点把数据转发给PC端.PC端有一个java程序收集数据并且显示.所以运行这个例子要两个节点,一个烧录Oscilloscope,一个烧录Base节点,还需要一台PC,连接Base节点,运行java程序.但是在运行java程序之前要启动SerialForward工具,这样PC和Base节点才能通信.具体命令不详细描述. 在