RegKey löschen

Jacal

Mitglied
Hi,

Ich habe zum Test etwas mit der Registry, genauer gesagt dem Autostart herumgespielt:

Das Programm soll das Programm "D:\\autostart.exe" in die Registry eintragen und anschließend wieder löschen (sinnlos, ich weiß; ist nur zum testen).

Bis auf das Löschen funktioniert alles...
Hier ist mein Code:
C++:
#include <iostream>
#include <windows.h>

using namespace std;

int main()
{
    HKEY hkey; // der eigentliche Key

    /// Die Eigenschaften des Keys
    HKEY KEY = HKEY_LOCAL_MACHINE;
    char place[100]= {"Software\\Microsoft\\Windows\\CurrentVersion\\Run"};
    char name[100]= {"Autostart"};
    char value[100]= {"D:\\autostart.exe"};

    /// ///////////////////////////////////////
    /// Key Öffnen
    if(RegOpenKeyEx(KEY,(LPCTSTR)place,0, KEY_ALL_ACCESS,&hkey) == ERROR_SUCCESS)
        cout    << "Öffnen des Keys hKey war erfolgreich!\n"
                << "[HKEY_LOCAL_MACHINE, \"" << place << "\", \"" << name << "\", \"" << value << "]" << endl;
    else
        cout    << "Fehler beim Öffnen des Keys hKey!\n"
                << "[HKEY_LOCAL_MACHINE, \"" << place << "\", \"" << name << "\", \"" << value << "]" << endl;

    //////////////////////////////////
        cout    << endl;
    //////////////////////////////////

    /// ///////////////////////////////////////
    /// Werte in Registry setzen
    if (RegSetValueEx(hkey, name, 0, REG_SZ, (BYTE *)value, strlen(value))==ERROR_SUCCESS)
        cout    << "SetValue des Keys hKey war erfolgreich!" << endl;
    else
        cout    << "Fehler beim Schreiben des Keys hKey!" << endl;

    //////////////////////////////////
        cout    << endl;
    //////////////////////////////////

    /// ///////////////////////////////////////
    /// Key aus Registry löschen
    if (RegDeleteKey(KEY, TEXT("\\Software\\Microsoft\\Windows\\CurrentVersion\\Run\\Autostart\\"))==ERROR_SUCCESS)
        cout    << "Löschen des Keys hKey war erfolgreich!" << endl;
    else
        cout    << "Fehler beim Löschen des Keys hKey!" << endl;

    //////////////////////////////////
        cout    << endl;
    //////////////////////////////////

    /// ///////////////////////////////////////
    /// Key Schließen
    if (RegCloseKey(hkey)==ERROR_SUCCESS)
        cout    << "Schließen des Keys hKey war erfolgreich!" << endl;
    else
        cout    << "Fehler beim Schließen des Keys hKey!" << endl;

    return 0;
}

Mfg, Jacal
 
Funktioniert leider auch nicht :(


Edit:
Ich habe es jetzt mit der Funktion RegDeleteValue geschafft:
C++:
#include <iostream>
#include <windows.h>

using namespace std;

int main()
{
    HKEY hkey; // der eigentliche Key

    /// Die Eigenschaften des Keys
    HKEY KEY = HKEY_LOCAL_MACHINE;

    char place[100]= {"Software\\Microsoft\\Windows\\CurrentVersion\\Run"};
    char name[100]= {"Autostart"};
    char value[100]= {"D:\\autostart.exe"};

    /// ///////////////////////////////////////
    /// Key Öffnen
    if(RegOpenKeyEx(KEY,(LPCTSTR)place,0, KEY_ALL_ACCESS,&hkey) == ERROR_SUCCESS)
        cout    << "Öffnen des Keys hKey war erfolgreich!\n"
                << "[HKEY_LOCAL_MACHINE, \"" << place << "\", \"" << name << "\", \"" << value << "]" << endl;
    else
        cout    << "Fehler beim Öffnen des Keys hKey!\n"
                << "[HKEY_LOCAL_MACHINE, \"" << place << "\", \"" << name << "\", \"" << value << "]" << endl;

    //////////////////////////////////
        cout    << endl;
    //////////////////////////////////

    /// ///////////////////////////////////////
    /// Key aus Registry löschen
    if (RegDeleteValue(hkey, "Autostart")==ERROR_SUCCESS)
        cout    << "Löschen des Keys hKey war erfolgreich!" << endl;
    else
        cout    << "Fehler beim Löschen des Keys hKey!" << endl;

    //////////////////////////////////
        cout    << endl;
    //////////////////////////////////

    /// ///////////////////////////////////////
    /// Key Schließen
    if (RegCloseKey(hkey)==ERROR_SUCCESS)
        cout    << "Schließen des Keys hKey war erfolgreich!" << endl;
    else
        cout    << "Fehler beim Schließen des Keys hKey!" << endl;

    return 0;
}
 
Zuletzt bearbeitet:
Zurück