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

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"), nCom);
  hCom = CreateFile(strComOpen, GENERIC_READ | GENERIC_WRITE, 0, NULL,OPEN_EXISTING, FILE_FLAG_OVERLAPPED, 0);//如果返回不为空则此串口可用
     if (INVALID_HANDLE_VALUE == hCom)
    {
    DWORD error = ::GetLastError();//取得错误信息
    }
     else
    {
    pComnum->AddString(strCom);
    count++;
    }
     CloseHandle(hCom);
  } while (nCom < 256);
 pComnum->SetCurSel(0);
}

时间: 2024-12-17 05:38:59

获取当前系统可用串口号(转,亲测有效)的相关文章

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

我想应该有很多技术爱好者,跟我一样喜欢用C#来开发小小的上位机助手吧^_^.同时也多采用串口来收发数据,简单嘛.可是每次当往我们的本本上插上USB转串口时,都需要打开设备管理器看看,当前设备对应的串口号.好麻烦,有没有觉得??? 现在我就教大家两种可以自动获得当前电脑上所有可用串口号的方法. 一.采用"try-catch"语句 很简单,直接上代码(感觉很熟悉的,请举手>_<).这种方法,很笨的其实,运行时间很长:同时如果串口号大于50的话,就检测不到了. 1 for(int

C#动态获取本机可用串口的两种方式

1. private void GetSerialPort() //获取串口列表 { RegistryKey keyCom = Registry.LocalMachine.OpenSubKey("Hardware\\DeviceMap\\SerialComm"); if (keyCom != null) { string[] sSubKeys = keyCom.GetValueNames(); foreach (string sName in sSubKeys) { string sV

获取系统当前可用串口的两种方法

进行串口通信之前,需要获取当前系统的可用串口.要想达到此目的,有两种方式,读取注册表和使用CreateFile函数轮询读取串口. 1.使用CreateFile轮询读取串口: 1 UINT CComDebugToolDlg::GetSerialPortState() 2 { 3 CString strCom; 4 int nCom=0; 5 HANDLE hCom; 6 7 do 8 { 9 nCom++; 10 strCom.Format("COM%d",nCom); 11 12 hC

亲测可用!在线购书系统项目分享(Java)

项目简介 项目来源于:https://gitee.com/suimz_admin/BookShop 一个基于JSP+Servlet+Jdbc的书店系统.涉及技术少,易于理解,适合JavaWeb初学者学习使用. 本人亲测可正常启动. 技术栈 前端技术 基础:html+css+JavaScript 框架:Jquery和BootStrap 后端技术 jsp+servlet 数据库:mysql 5.7.27(个人测试使用) 连接池:DBCP2 jdk版本:1.8.0_181(个人测试使用) tomcat

QT 自动获取可用串口

] view plain copy 本来想直接用Settings来获取的,但是串口信息类似 "\Device\Serial0",死活获取不了,用了转义.反斜杠还是获取不到,所以就放弃了,网上好像也没有获取成功的. 所以就用winapi来获取了,参考了网上源码 cpp文件 /* 初始化串口 */ void MainWindow::init_comm() { QString path = "HKEY_LOCAL_MACHINE\\HARDWARE\\DEVICEMAP\\SERI

Apache+Php配置(亲测可用)

引言: 在软件项目中,Maven提供了一体化的类库管理系统,非常实用.但是,如果新增的类库jar在网络上无法获取到,如何在本地按照Maven的规则添加进来呢?本文将通过一个小例子展示新增过程. 背景介绍: 一个Maven管理的Java项目,提供一个系统级别的POM.xml,其中定义了整个项目使用的类库. 需求: 需要添加一个自定义的类库到当前项目中.假定当前的类库文件名为:abc.jar.. 如何将类库添加进来? 1.  找到当前Maven的Repository类库位置 一般默认情况下,在win

获取手机内存\可用内存\单个APP运行内存

1 /** 手机总内存 */ 2 private String getTotalMemory() { 3 // 系统内存信息文件 4 String str1 = "/proc/meminfo"; 5 String str2; 6 String[] arrayOfString; 7 long initial_memory = 0; 8 9 try { 10 FileReader localFileReader = new FileReader(str1); 11 BufferedRead

UWP 应用获取各类系统、用户信息 (1) - 设备和系统的基本信息、应用包信息、用户数据账户信息和用户账户信息

应用开发中,开发者时常需要获取一些系统.用户信息用于数据统计遥测.问题反馈.用户识别等功能.本文旨在介绍在 Windows UWP 应用中获取一些常用系统.用户信息的方法.示例项目代码可参见 Github: https://github.com/validvoid/UWP-SystemInfoCollector 由于涉及内容较多,故本文会分为多篇展开.本篇介绍获取设备和系统的基本信息.应用包信息.用户数据账户信息和用户账户信息. 原博客阅读地址:http://validvoid.net/uwp-

这段百度问答,对我相关有对啊!!!----如何获取Windows系统登陆用户名

如何获取Windows系统登陆用户名 http://zhidao.baidu.com/link?url=Hva9PkVwYZv8KSEWftSqTWe8fqM1dhoq59BurnfADmcOvFjFgJUONb2kQ4KrJUF5KjOTXjCf5SQKYNLhcU_dBMzGGBxFxJCRfxCmamIjUji ======================= 一般用 GetUserName(或 GetUserNameEx )函数可得到当前登陆登陆用户名(但不总会得到,下面会分析),此系统函