代码改变世界

如何枚举系统COM串口

2012-04-13 08:42  java20130722  阅读(343)  评论(0)    收藏  举报
 	CRegKey RegKey;   
 	int nCount = 0;   
	
	//系统COM端口的注册表信息就在该目录下。
 	if(RegKey.Open(HKEY_LOCAL_MACHINE, "Hardware\\DeviceMap\\SerialComm") 
 		== ERROR_SUCCESS)   
 	{   
 		while(true)   
 		{   
 			TCHAR ValueName[_MAX_PATH];		 //记录键名
 			BYTE ValueData[_MAX_PATH];			//记录键值
 			DWORD nValueSize = _MAX_PATH;   
 			DWORD nDataSize = _MAX_PATH;   
 			DWORD nType;   

			//逐个枚举出注册表目录下的键名和键值。
 			if(::RegEnumValue(HKEY(RegKey), nCount, ValueName, &nValueSize, 
 											NULL, &nType, ValueData, &nDataSize) 
 					== ERROR_NO_MORE_ITEMS)   
 			{   
 				break;   
 			}   
 			cout<<ValueName<<", "<<ValueData<<endl;
 			nCount++;   
 		}   
 	}