- int CUtil::GetSystemPorts(CString *pNameList, CString *pPortList)
- {
- CRegKey RegKey;
- int nCount = 0;
- if(RegKey.Open(HKEY_LOCAL_MACHINE, "Hardware//DeviceMap//SerialComm") == ERROR_SUCCESS)
- {
- while(true)
- {
- char ValueName[_MAX_PATH];
- unsigned char ValueData[_MAX_PATH];
- DWORD nValueSize = _MAX_PATH;
- DWORD nDataSize = _MAX_PATH;
- DWORD nType;
- //RegEnumValue函数的作用是,从被指定打开的注册表项中列举所有的值
//这函数每调用一次就会拷贝一个索引值的名称和数据块 - if(::RegEnumValue(HKEY(RegKey), nCount, ValueName, &nValueSize, NULL, &nType, ValueData, &nDataSize) == ERROR_NO_MORE_ITEMS)
- {
- break;
- }
- if(pNameList)
- pNameList[nCount] = ValueName;
- if(pPortList)
- pPortList[nCount] = ValueData;
- nCount++;
- }
- }
- return nCount;
- }
获取系统可用串口列表
最新推荐文章于 2022-01-10 15:46:14 发布