//获取端口号
BOOL CMyBlueT::GetCOM()
{
SetTips(L"正获取COM端口号。。。");
int nCount = 0;
CRegKey RegKey;
m_vCom.clear();
My_COM myCom;
if (RegKey.Open(HKEY_LOCAL_MACHINE, L"Hardware\\DeviceMap\\SerialComm") == ERROR_SUCCESS)
{
while (true)
{
wchar_t ValueName[_MAX_PATH];
TCHAR commName[255];
DWORD nValueSize = _MAX_PATH;
DWORD nDataSize = _MAX_PATH;
DWORD nType;
if (::RegEnumValue(HKEY(RegKey), nCount, ValueName, &nValueSize, NULL, &nType, (PUCHAR)commName, &nDataSize) == ERROR_NO_MORE_ITEMS)
{
break;
}
nCount++;
myCom.strCom = commName;
myCom.strDev = L"";
if (myCom.strCom == L"COM1")
{
continue;
}
SetTips(L"获取到COM端口号:" + myCom.strCom);
m_vCom.push_back(myCom);
}
}
if (m_vCom.empty())
{
SetTips(L"获取COM端口失败。");
return FALSE;
}
SetTips(L"获取COM端口成功。");
return TRUE;
}