我是winapi的新手并且遇到很多麻烦
尝试提取所有连接的COM端口并将其写入提示行。
HKEY hKey;
if (RegOpenKey(HKEY_LOCAL_MACHINE,TEXT("HARDWARE\\DEVICEMAP\\SERIALCOMM"),&hKey)==ERROR_SUCCESS)
{
DWORD NumKeys;
DWORD i;
TCHAR KeyNameBuf[255];
DWORD keyNameSizBuf=255;
RegQueryInfoKey(hKey,NULL,NULL,NULL,NULL,NULL,NULL,&NumKeys,NULL,NULL,NULL,NULL);
for (i=0;i<NumKeys-1;i++)
{
keyNameSizBuf=15;
RegEnumKeyEx(hKey,i,KeyNameBuf,&keyNameSizBuf,NULL,NULL,NULL,NULL);
qDebug() <<KeyNameBuf;
}
}
问题:它不会更改KeyNameBuf并将其保持为空。
有什么想法吗? 谢谢,如果这是微不足道的话,请提前抱歉......
答案 0 :(得分:0)
发现解决方案: RegEnumKeyEx检索数据指针(可选参数7),然后将int从Byte *转换为const char *