Registryeintrag mit einfachem C++ Programm ändern.



  • Inwiefern hat es denn mit dem FAQ-Beitrag nicht funktioniert?! Welche Fehler hast du bekommen?



  • Es kam eine Fehlermeldung.
    Ich habe beim Testen einfach mal versucht, einen Eintrag in der Reg zu erstellen.
    Hier mal der Code (ja, ich weiß, nicht perfekt 🤡 )

    // Cool & Quite AN/AUS
    #include <iostream.h>
    #include <conio.h>
    #include <iomanip.h>
    #include <windows.h>
    
    //------------------------------------------------------------------------------
    
    int main()
    {
    int user=0;
    char end;
    end='j';
    do
    {
    cout<<"-------------------MENUE--------------------"<<endl;
    cout<<"Cool n Quite ausschalten: 1 eingeben"<<endl;
    cout<<"Cool n Quite einschalten: 2 eingeben"<<endl;
    cout<<"Testlauf: 3 eingeben"<<endl;
    cout<<"--------------------------------------------"<<endl;
    cout<<"--------------------------------------------"<<endl;
    cout<<"Auswahl: ";
    cin>>user;
    cout<<endl<<"--------------------------------------------"<<endl<<endl;
    
    switch (user)
    {
        case 1:
            {
                    cout<<"AUS"<<endl;
                    cout<<"--------------------------------------------"<<endl;
                    cout<<"Diese Programm wiederholen? <j/n>: ";
                    cin>>end;
                    break;
            }
        case 2:
            {
                    cout<<"AN"<<endl;
                    cout<<"--------------------------------------------"<<endl;
                    cout<<"Diese Programm wiederholen? <j/n>: ";
                    cin>>end;
                    break;
            }
        case 3:
            {
                    cout<<"Zum Test wird ein Schluessel erstellt"<<endl;
                    HKEY hKey=NULL; 
                    RegCreateKeyEx(HKEY_CURRENT_USER,"Test",0,0,REG_OPTION_NON_VOLATILE,KEY_ALL_ACCESS,NULL,&hkey,0);
                    RegCloseKey(hKey);
                    cout<<"--------------------------------------------"<<endl;
                    cout<<"Diese Programm wiederholen? <j/n>: ";
                    cin>>end;
                    break;
            }
    }
    }
    while(end!='n');
    
    return 0;
    }
    

    In dieser Zeile

    RegCreateKeyEx(HKEY_CURRENT_USER,"Test",0,0,REG_OPTION_NON_VOLATILE,KEY_ALL_ACCESS,NULL,&hkey,0);
    

    meldet er den Fehler "'hkey' undeclared".
    Gut, nicht deklariert, aber wie deklarier ich die denn richtig?

    Mit dem genauen Problem, wie ich jetzt einen bestimmten Eintrag ändere habe ich mich noch nicht befasst.

    Gruß



  • Du hast bei der Deklaration das k von Key groß geschrieben und bei der Verwendung klein



  • Sitz in der Schule, will mich grad nicht einloggen..

    Dann solltet ihr das mit der Deklaration in der FAQ dazu ändern.
    Ich hatte das nur rauskopiert, dann ist dort der gleiche Fehler 🙂
    Ich ändere es zu Hause mal um und probiere es aus

    Danke!



  • Super, funktioniert 👍

    Jetzt gleich meine nächste Frage. Ich möchte unter diesem Pfad

    HKEY_USERS\.DEFAULT\Control Panel\PowerCfg
    

    den Schlüssel

    CurrentPowerPolicy
    

    bearbeiten. Also dort geschriebene Werte ändern.
    Nur die ganzen Parameter in den Befehlen bereiten mir Kopfsausen 😃
    Wie sieht das denn aus, wenn ich dort den Wert mit dem Programm entweder auf "0" oder auf "4" setzen möchte.
    Könnte mir jemand dafür ein Beispiel geben?

    Danke.

    Gruß, Stephan



  • Habe das im FAQ-Beitrag jetzt auch korrigiert 🙂

    DWORD dwNumber=150;
    RegSetValueEx(hKey,"EintragsName",0,REG_DWORD,(BYTE*)&dwNumber,sizeof(DWORD));
    


  • So, das mit dem Schreiben eines Schlüssel und setzten des Wertes funktioniert soweit auch..
    Nur bekomme ich hier einen Fehler? Habe ich bei dem Pfad etwas falsch gemacht?

    RegCreateKeyEx(HKEY_USERS,".DEFAULT\\Control Panel\\PowerCfg","Test",0,0,REG_OPTION_NON_VOLATILE,KEY_ALL_ACCESS,NULL,&hkey,0);
    

    Gruß, Stephan

    EDIT: Und dann weiß ich nicht, wie ich einen Schlüssel vom Typ REG_SZ erstelle. Im Moment sind die Einträge ja alle vom Typ REG_DWORD..



  • Freddy84 schrieb:

    Nur bekomme ich hier einen Fehler?

    Was denn für einen?

    Freddy84 schrieb:

    Und dann weiß ich nicht, wie ich einen Schlüssel vom Typ REG_SZ erstelle. Im Moment sind die Einträge ja alle vom Typ REG_DWORD..

    Findest du doch alles in dem FAQ-Beitrag 😕



  • In der Zeile, die ich kopiert habe meldet er die Fehler:
    - invalid conversion from const char*' to \- invalid conversion from \int' to `
    - cannot convert `HKEY__**' to `DWORD*' for

    Ich weiß da nicht wirklich was mit anzufangen 😞



  • Was genau hast du denn kopiert bzw. wie sieht dein jetziger Code aus?!


Anmelden zum Antworten