0

私は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 を変更せず、null のままにします。

何か案は?ありがとうございます、些細なことでしたら申し訳ありません...

4

1 に答える 1

0

見つかった解決策:RegEnumKeyExはデータポインター(オプションの引数7)を取得してから、intをByte*からconstchar*に変換します。

于 2012-06-30T23:27:00.380 に答える