Windows Registry auslesen und bearbeiten

    • VB6

    Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von Agent.

      Windows Registry auslesen und bearbeiten

      Wie kann ich alle Schlüssel und dessen Werte aus der Windows Registrierung auslesen bzw ändern/löschen und hinzufügen/anlegen?

      Hier ist ein ausführliches Beispiel, wie man mithilfe von APIs auf die Registry zugreifen kann.


      Keywords: Visual Basic, VB 6, Registrierdatenbank, Registry, lesen, schreiben, ändern, bearbeiten, hinzufügen, Einstellungen speichern, Funktion, Function, SaveSetting, GetAllSettings, DeleteSetting, API, RegOpenKeyEx, RegCloseKey, RegQueryValueEx, RegCreateKeyEx, RegFlushKey, RegSetValueEx_Str, RegDeleteKey, RegDeleteValue, HKEY_CLASSES_ROOT, HKEY_CURRENT_USER, HKEY_LOCAL_MACHINE, HKEY_USERS, HKEY_PERFORMANCE_DATA, HKEY_CURRENT_CONFIG, HKEY_DYN_DATA
      Gruß, Agent Smith 8-)

      activeFlags = (lazy OR weary)

      Lemgo-Verschwörung | Mathematics | VB-Paradise in blau

      Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von „Mad Andy“ ()

      Wie kann ich schnell und einfach Einstellungen für mein Programm in der Registry speichern?

      Visual Basic hat standardmäßig vier Registry Funktionen zu bieten:
      Hinweis: Alle Vb-Registry-Funktionen speichern bzw. holen oder löschen die Werte im Abschnitt

      Quellcode

      1. HKEY_CURRENT_USER/Software/Vb and Vba Program Settings/


      Speichern mit SaveSetting appname, section, key, setting:

      Visual Basic-Quellcode

      1. SaveSetting "Registry-Programm", "Userinfo", "Name", "Günther"

      Diese Anweisung legt im Oben erwähnten Registry-Zweig für Visual Basic Programmeinstellungen einen neuen Ast namens ‘Registry-Programm’ an, dieser enthält wiederum einen Unterast ’Userinfo’. Dort hat eine Variable ’Name’ mit dem Wert ’Günther’

      Auslesen mit GetSetting(appname, section, key[, default]) :

      Visual Basic-Quellcode

      1. Dim Usernamen As String
      2. Usernamen=GetSetting("Registry-Programm", "Userinfo", "Name", "Hans")
      3. MsgBox Usernamen

      Was passiert? Wenn du das SaveSetting-Beispiel ausprobiert hast, und den Wert nicht wieder gelöscht hast, kriegst du eine MsgBox mit der Meldung ’Günther’. Lösche jetzt mal unseren Günther aus der Registry und du kriegst eine MsgBox mit ’Hans’. Was ist da los??? Nun, die Syntax verrät uns, dass die Funktion SaveSetting ein optionales Argument default hat. Dieses nimmt den Standardwert auf. Mit anderen Worten: Wenn der User nicht eingetragen ist, nimmt unser kleines Programm an, dass er ’Hans’ heißt. Das ist zwar kein gutes Beispiel für einen Standardwert, aber es demonstriert das Prinzip.
      Daneben gibt es noch zwei andere Vb-Funktionen für die Registry, die allerdings nicht so häufig gebraucht werden.

      Alle Werte eines Abschnittes auflisten:

      Visual Basic-Quellcode

      1. GetAllSettings(appname, section)

      Hinweis: Der Rückgabvewert ist ein zweidimensionales Array

      Schlüssel bzw Abschnitte löschen:

      Visual Basic-Quellcode

      1. DeleteSetting appname, section [,key]

      Hinweis: Wenn sie den Parameter key weglassen, wir der ganze Abschnitt gelöscht
      Gruß, Agent Smith 8-)

      activeFlags = (lazy OR weary)

      Lemgo-Verschwörung | Mathematics | VB-Paradise in blau

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Agent“ ()