RegQueryValueEx

neus

Grünschnabel
Hallo,

ich möchte mehrere SubKeys unterhalb eines Registrierungsschlüssels auslesen.

Folgendes Beispiel:
ich gebe vor:
+ HKLM\SOFTWARE\Apps

Darunter verbergen sich zum Beispiel
+ HKLM\SOFTWARE\Apps\Test1
+ HKLM\SOFTWARE\Apps\Solitaer
+ HKLM\SOFTWARE\Apps\Skat

und innerhalb dieser jeweiligen Schlüssel (die automatisch ausgelesen werden sollen, gibt es ein Value den ich benötige.

+ HKLM\SOFTWARE\Apps\Test1
InstallSource= test1.cab // (string)
+ HKLM\SOFTWARE\Apps\Solitaer
InstallSource= test2.cab // (string)
+ HKLM\SOFTWARE\Apps\Skat
InstallSource= test3.cab // (string)

Ich kann diese Werte geziehlt abfragen, aber ich weiß nicht wie ich den automatischen Scan hinbekommen soll. Es soll also nicht der Ordner Test1, Solitaer usw. vorgegbene werden.

Mein Ansatz:

HKEY hKey = NULL;
DWORD dwDisposition = 0;
if (RegCreateKeyEx( HKEY_LOCAL_MACHINE, _T("SOFTWARE\\Apps\\Solitaer"), 0, NULL, 0, KEY_ALL_ACCESS, NULL, &hKey, &dwDisposition ) != ERROR_SUCCESS)
{
MessageBox(hwndParent,L"No Values",L"No Values", MB_YESNO | MB_ICONQUESTION);
}
DWORD dwType = REG_SZ;
DWORD dwDataSize = 0;
CString strName;
if (RegQueryValueEx( hKey, _T("CabFile"), 0, &dwType, (PBYTE)NULL, &dwDataSize ) == ERROR_SUCCESS)
{
RegQueryValueEx( hKey, _T("CabFile"), 0, &dwType, (PBYTE)(LPTSTR)strName.GetBuffer(dwDataSize + 1), &dwDataSize );
strName.ReleaseBuffer();
}
RegCloseKey(hKey);
 
Zurück