RegEnumKeyEx不会更改文件名Qt

时间:2012-06-30 20:07:00

标签: winapi registry

我是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并将其保持为空。

有什么想法吗? 谢谢,如果这是微不足道的话,请提前抱歉......

1 个答案:

答案 0 :(得分:0)

发现解决方案: RegEnumKeyEx检索数据指针(可选参数7),然后将int从Byte *转换为const char *