VC中的一段枚举串口代码

本文介绍了一种在Windows系统中通过注册表枚举可用串口的方法,并提供了具体的C++实现代码。该方法利用了Windows注册表中的相关信息来填充ComboBox控件,使用户能够直观地看到系统中所有可用的串口。
摘要由CSDN通过智能技术生成
 

FindCommPort()
{

  HKEY hKey; 
  int rtn;
  

//m_ctrlComboComPort为对话框中的combobox框
  m_ctrlComboComPort.ResetContent();
  rtn = RegOpenKeyEx( HKEY_LOCAL_MACHINE, "Hardware\\DeviceMap\\SerialComm",  
   NULL, KEY_READ, &hKey);  //   打开串口注册表
  if( rtn == ERROR_SUCCESS)    
  {   
   int   i=0; 

   char   portName[256],commName[256];  
   DWORD   dwLong,dwSize;  
   while(1)  
   {  
    dwSize =   sizeof(portName);  
    dwLong   =   dwSize;
    // If no more items to enumerate, the Rk.EnumValue returns FALSE
    rtn = RegEnumValue( hKey, i, portName, &dwLong,  
     NULL, NULL, (PUCHAR)commName, &dwSize );
    if( rtn == ERROR_NO_MORE_ITEMS )   //   枚举串口  
     break;     
    m_ctrlComboComPort.AddString(commName);
    i++;   
   }  
   RegCloseKey(hKey);  
  }    

}

此段代码来自http://blog.csdn.net/fuyangchang/article/details/2685746

 

http://topic.csdn.net/u/20090220/09/cabbac21-3ff5-4590-80e6-f989ef006576.html


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值