0
我是一個很新的WINAPI並具有很多麻煩RegEnumKeyEx不改變文件名的Qt
試圖提取所有連接的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並將其保留爲空。
任何想法? 謝謝你,和遺憾,提前如果是一些小事...
你應該檢查Reg * API調用的返回值。這很可能是RegEnumKeyEx調用失敗,並返回一個非零的錯誤代碼來指示發生了什麼。 – reuben
另外,爲什麼你將keyNameSizBuf設置爲15? – reuben
只是隨意的,因爲我讀過的地方應該每次都進行初始化。 – BioSP