[C/C++] Registry verändern

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von R2Dzwo, 9. August 2009 .

Schlagworte:
  1. 9. August 2009
    Registry verändern

    hi,

    wie kann ich auf die Registry zugreifen? gibts da bestimmte funktionen?
    will einen bestimmten wert ändern, also das zeil kenne ich

    kann mir da jemand helfen?
     
  2. 9. August 2009
    AW: Registry verändern

    hi,

    schau mal auf der seite von microsoft.
    dort ist ein beispiel, wie sie einen neuen schlüssel anlegen und ihn mit werten befüllen und diese sich auch anzeigen lassen (siehe beispiel 2).

    Registry-Klasse (Microsoft.Win32)
     
  3. 9. August 2009
    AW: Registry verändern

    Autostart-Eintrag erstellen:
    Code:
    #include <Registry.hpp>
    ...
    
     TRegistry *reg = new TRegistry();
    
     reg->RootKey = HKEY_CURRENT_USER; // für aktuellen Benutzer
    
     /* mögliche Roots:
     reg->RootKey = HKEY_CLASSES_ROOT;
     reg->RootKey = HKEY_CURRENT_USER; // für aktuellen Benutzer
     reg->RootKey = HKEY_LOCAL_MACHINE; // für den gesamten PC (alle Benutzer)
     reg->RootKey = HKEY_USERS;
     reg->RootKey = HKEY_CURRENT_CONFIG;
     */
    
     reg->OpenKey("Software\\Microsoft\\Windows\\CurrentVersion\\Run", True);
     
     reg->WriteString("<Programmname>", Application->ExeName); // Trägt den kompletten Pfad zu deiner Anwendung als neuen Reg-Eintrag ein
    
     delete reg;
    

    Autostart-Eintrag löschen:
    Code:
     TRegistry *reg = new TRegistry();
    
     reg->RootKey = HKEY_CURRENT_USER; 
    
     reg->OpenKey("Software\\Microsoft\\Windows\\CurrentVersion\\Run", True);
     
     reg->DeleteValue("<Programmname>");
    
     delete reg;
    

    Einträge ändern/überschreiben:
    Code:
    reg->WriteString("<Name des Wertes>", "<Wert>");
     
  4. 19. August 2014
    AW: [C/C++] Registry verändern

    Okay, ich habe bis jetzt folgenes:

    #include <windows.h>
    #include <stdio.h>

    int main(int argc, char **argv)
    {
    unsigned char temp[99] = {""};
    unsigned long size = sizeof(temp);
    HKEY hKey;

    RegOpenKey(HKEY_LOCAL_MACHINE, "SYSTEM\\CurrentControlSet\\services\\NlaSvc\\Parameters\\Internet", &hKey);
    RegQueryValueEx(hKey, "ActiveWebProbeHost", NULL, NULL, temp, &size);
    RegCloseKey(hKey);
    printf("Wert: %s", temp, size);
    return 0;
    }

    Es wird nur der Wert ausgelesen. Wie kann ich es schaffen, dass der Wert zudem noch bearbeitet wird?
     
  5. 19. August 2014
    Zuletzt von einem Moderator bearbeitet: 20. August 2014
    AW: [C/C++] Registry verändern

    Alles was du brauchst steht (wie bei allen öffentlichen Windows Funktionen) in der MSDN: Registry Functions (Windows)
     
  6. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.