Registry Wert löschen



  • Hallo zusammen

    Ich möche per c/c++ mit einer Windows Funktion ein Eintrag in der Registry löschen. Ich habe eine Funktion gefunden: RegDeleteKeyValue. Das Problem ist nur dass ich XP auf meinem Rechner habe. Der RootKey ist : HKEY_CURRENT_USER und der Subkey:\\Software\\Microsoft\\Windows\\CurrentVersion\\Run .
    Danke für eure Hilfe

    Gruss Binggi



  • Hallo Binggi,

    DWORD dwError = SHDeleteValue(HKEY_CURRENT_USER,
        TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Run"),
        TEXT("icq")); // shlwapi.h .lib
    


  • Danke für den Tipp...

    Leider kann ich die Funktion nicht brachen, da meine IDE dieser Befehl nicht unterstützt.
    Ich habe die Funktion RegDeleteValue gefunden.
    Aber auch diese Funktion funktioniert nicht...

    if(RegOpenKeyEx(HKEY_LOCAL_MACHINE, STARTUP_PATH, 0, KEY_ALL_ACCESS, &hKey)==ERROR_SUCCESS)
      {	
         printf("Open\n");
    if(RegDeleteValue(hKey,"FolderWatch.exe")==ERROR_SUCCESS);
    						printf("Deleted\n");
    				}
    


  • Danke für den Tipp...

    Leider kann ich die Funktion nicht brachen, da meine IDE dieser Befehl nicht unterstützt.
    Ich habe die Funktion RegDeleteValue gefunden.
    Aber auch diese Funktion funktioniert nicht...

    if(RegOpenKeyEx(HKEY_LOCAL_MACHINE, TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Run"), 0, KEY_ALL_ACCESS, &hKey)==ERROR_SUCCESS)
      {	
         printf("Open\n");
         if(RegDeleteValue(hKey,"Value")==ERROR_SUCCESS);
    	     printf("Deleted\n");
      }
    

    Soweit bin ich gekommen, aber es löscht den Wert Value nicht weg, obwohl Open und Deleted aufgerufen werden.
    Was mach ich falsch?



  • Hab den Fehler gefunden...
    War im Falschen RootKey, sollte HKEY_CURRENT_USER heissen.
    Gruss Binggi


Anmelden zum Antworten