16,472
社区成员
发帖
与我相关
我的任务
分享
CString strCOMList[256]; //用来存放所有COM的List
UCHAR nCOMTotal = 0; //COM口总数
WCHAR chrKeyName[25]; //用来存放注册表键值名
DWORD dwSizeOfKeyName; //用来存放注册表键值名长度
DWORD dwType; //用来存放注册表键值类型
WCHAR chrKeyData[25]; //用来存放注册表键值Data
DWORD dwSizeOfKeyData; //用来存放注册表键值Data长度
LONG lRegEnumRet; //存放注册表枚举函数的返回值
DWORD dwIndex = 0; //注册表枚举函数Index
do
{
//枚举每个注册表键值
lRegEnumRet = RegEnumValue(hKey, dwIndex++, chrKeyName, &dwSizeOfKeyName,
NULL, &dwType, (UCHAR*) chrKeyData, &dwSizeOfKeyData);
//把注册表键值Data存入COM列表
if(lRegEnumRet == ERROR_SUCCESS || lRegEnumRet == ERROR_MORE_DATA)
{//最后一次进循环体时枚举函数将返回错误,因为index已经超出范围,所以现在判断
//然后再把结果存放进COM_List
strCOMList[dwIndex-1] = chrKeyData;
nCOMTotal++;
//初始化COMBBOX
m_Cbbox1.AddString(chrKeyData);
}
}while(lRegEnumRet == ERROR_SUCCESS || lRegEnumRet == ERROR_MORE_DATA);