"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ß!





  • 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!


Anmelden zum Antworten