源代码如下:
HKEY hKey;
LPCTSTR data_Set = _T("HARDWARE\\DEVICEMAP\\SERIALCOMM\\");
LONG ret0 = RegOpenKeyEx(HKEY_LOCAL_MACHINE, data_Set, 0, KEY_READ, &hKey);
if(ret0 != ERROR_SUCCESS)
{
AfxMessageBox(L"错误:无法打开有关的hKEY");
return;
}
DWORD dwIndex = 0;
while(1)
{
LONG Status;
CHAR Name[256]={0};
UCHAR szPortName[80]={0};
DWORD dwName;
DWORD dwSizeofPortName;
DWORD Type;
dwName = sizeof(Name);
dwSizeofPortName = sizeof(szPortName);
Status = RegEnumValue(hKey, dwIndex++, (LPWSTR)Name, &dwName, NULL, &Type,
szPortName, &dwSizeofPortName);
if((Status == ERROR_SUCCESS)||(Status == ERROR_MORE_DATA))
{
CString str;
str.Format(L"%s", szPortName);
TRACE("\n-------%s", str);COM_SERIAL_PORT_LIST.AddString(str);
}
else
{
break;
}
}
RegCloseKey(hKey);