// 枚举系统串口数目
DWORD MyPortClass::EnumPorts()
{
HKEY hKey;
DWORD dwPortNum = 0;
/* 打开注册表 */
if(::RegOpenKeyEx(HKEY_LOCAL_MACHINE,_T("HARDWARE\\DEVICEMAP\\SERIALCOMM"),NULL,KEY_READ,&hKey) == ERROR_SUCCESS)
{
TCHAR portName[256],commName[256];
DWORD dwLong = 0,dwSize = 0;
while (1)
{
dwLong = dwSize = sizeof(portName);
if(::RegEnumValue(hKey,dwPortNum,portName,&dwLong,NULL,NULL,(LPBYTE)commName,&dwSize) == ERROR_NO_MORE_ITEMS) // 枚举串口
{
break;
}
dwPortNum++;
}
if(dwPortNum == 0)
{
return -1;
}
}
else
{
return -1;
}
return dwPortNum;
}
通过注册表枚举串口设备
最新推荐文章于 2018-07-18 10:44:04 发布