当前所在位置:珠峰网资料 >> 计算机 >> 计算机等级考试 >> 正文
枚举计算机的串口函数
发布时间:2010/5/6 17:14:48 来源:城市学习网 编辑:ziteng
1这个函数是读注册表的

  view source

  01void FindCommPort(CComboBox   *pComboBox )

  02{

  03       HKEY   hKey;

  04#ifdef   _DEBUG

  05       ASSERT(   pComboBox   !=   NULL   );

  06       pComboBox->AssertValid();

  07#endif

  08       if(::RegOpenKeyEx(   HKEY_LOCAL_MACHINE,

  09              "Hardware\\DeviceMap\\SerialComm",

  10              NULL,

  11              KEY_READ,

  12              &hKey )   ==   ERROR_SUCCESS )   //打开串口注册表对应的键值

  13              {

  14              int   i=0;

  15              char   portName[256],commName[256];

  16              DWORD   dwLong,dwSize;

  17

  18              while(1)

  19              {

  20                     dwLong   =   dwSize   =   sizeof(portName);

  21                     if(   ::RegEnumValue(   hKey,

  22                            i,

  23                            portName,

  24                            &dwLong,

  25                            NULL,

  26                            NULL,

  27                            (PUCHAR)commName,

  28                            &dwSize   )   ==   ERROR_NO_MORE_ITEMS )//   枚举串口

  29                            break;

  30

  31                     pComboBox->AddString(   commName   );   // commName就是串口名字

  32                     i++;

  33              }

  34

  35              if(   pComboBox->GetCount()   ==   0   )

  36              {

  37                     ::AfxMessageBox("在HKEY_LOCAL_MACHINE:Hardware\\DeviceMap\\SerialComm里找不到串口!!!");

  38              }

  39

  40              RegCloseKey(hKey);

  41       }

  42}

广告合作:400-664-0084 全国热线:400-664-0084
Copyright 2010 - 2017 www.my8848.com 珠峰网 粤ICP备15066211号
珠峰网 版权所有 All Rights Reserved