Einen Registry Wert auslesen



  • Hallo ich habe im Schlüssel

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\Beautifier.exe
    

    den Wert

    C:\Programme\Beautifier\Beautifier.exe
    

    es handelt sich hierbei um einen REG_SZ Typen.

    Wie kann ich den Schlüssel so auslesen, dass ich den wert

    C:\Programme\Beautifier\Beautifier.exe
    

    erhalte?

    Ich habe es schon mit

    RegQueryValueEx(HKEY_LOCAL_MACHINE,"\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\App Paths\\Beautifier.exe",NULL,NULL,(LPBYTE)wert,NULL);
    

    prbiert, aber es hat irgendwie nicht geklappt. ich suche nun schon seit stunden nach der antwort.... vieleicht weiß ja einer von euch wie es geht,

    gruß Patrick





  • Habe ich gelesen, aber so klappt es auch nicht.
    Ich möchte den wert in einem String haben und wenn ich den wert mit (char*) caste ist der string leer.

    Wie bekomme ich den jetzt den Wert in einem String?

    Ich habe es bislang so:

    HKEY hKey; 
        RegCreateKeyEx(HKEY_LOCAL_MACHINE,"\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\App Paths\\Beautifier.exe",0,0,REG_OPTION_NON_VOLATILE,KEY_READ,NULL,&hKey,0);
        DWORD dwData = 256; 
        BYTE cDaten[256] = ""; 
        RegQueryValueEx(hKey,"",0,0,cDaten,&dwData);
        RegCloseKey(hKey);
    
        QString Pfad;
        Pfad.append((char*)cDaten);
    
        QMessageBox::information(NULL,"Wert:",Pfad);
    

    und die MessageBox ist komplett leer....



  • Fehlersuchregel Nr. 1: Rückgabewerte prüfen. Für dich heißt das: RegCreateKeyEx und RegQueryValueEx.



  • Du musst den \\ vor SOFTWARE weglassen 🙂



  • @Flenders
    Danke vielmals, es war der einzige Fehler.

    @MFK
    Stimmt, entschuldigung, dass ich so blöd war und nicht einmal den Fehlercode überprüft habe. Ich dachte mir nur, dass ich es genau so gemacht hätte, wie es in der FAQ stand...

    Vielen Dank nochmal an Euch beide,

    Gruß Patrick


Anmelden zum Antworten