"Alle" Registry einträge in einem Ordner auslesen.
-
Hi.
Wie bekomme ich das mit einer while oder do Schleife hin, dass ich "alle" Einträge in z.B. HKEY_LOCAL_MACHINE/SOFTWARE/MeineFirma auslesen kann? In "MeineFirma" steht z.B:Ein Programm 1 "Ein String Wert" Ein weiteres Programm 2 "Ein weiterer String Wert"
Danke + Gruß!
-
RegEnumValue bzw. RegEnumKey(Ex)
-
Ihr sagt doch immer, man soll die Antwort posten.
Bitte, so hat's geklappt:
HKEY hKey; char szMsg1[MAX_PATH]; char szMsg2[MAX_PATH]; char szValues1[255][255]; char szValues2[255][255]; int iQueryNum; int iQueryPos = 0; DWORD dw1 = MAX_PATH; DWORD dw2 = MAX_PATH; if(RegOpenKeyEx(HKEY_LOCAL_MACHINE,"SOFTWARE\\WAPITECH", 0, KEY_ALL_ACCESS, &hKey) == ERROR_SUCCESS) { RegQueryInfoKey(hKey, NULL, NULL, NULL, NULL, NULL, NULL, (LPDWORD)&iQueryNum, NULL, NULL, NULL, NULL); while(RegEnumValue(hKey, iQueryPos, szMsg1, &dw1, NULL, NULL, (LPBYTE)&szMsg2, &dw2) != ERROR_NO_MORE_ITEMS) { strcpy(szValues1[iQueryPos], szMsg1); strcpy(szValues2[iQueryPos], szMsg2); dw1 = MAX_PATH; dw2 = MAX_PATH; iQueryPos++; } RegCloseKey(hKey); } for(int i=0; i<iQueryNum; i++) MessageBox(hMainDlg, szValues2[i], szValues1[i], 0);
:> DANKE FLENDERS!