Daten in die Windows-Registratur speichern
Veröffentlicht am 30.12.2003
Erläuterung der beiden API Funktionen RegCreateKey und RegSetValue.
Genauso, wie Sie Daten anderer Anwendungen aus der Registratur einlesen und wieder speichern können, so können Sie auch eigene Daten in der Registratur speichern.
Benötigt werden hierzu die beiden API-Funktionen RegCreateKey und RegSetValue.
Die Funktionen werden folgendermaßen deklariert werden:
Declare Function RegCreateKey Lib "advapi32.dll" Alias _
"RegCreateKeyA" (ByVal hKey As Long, _
ByVal lpSubKey As String, phkResult As Long) As Long
Declare Function RegSetValue Lib "advapi32.dll" Alias _
"RegSetValueExA" (ByVal hKey As Long, _
ByVal lpValueName As String, ByVal Reserved As Long, _
ByVal dwType As Long, lpData As Any, _
ByVal cbData As Long) As Long
Der Funktion RegCreateKey übergeben Sie als Parameter einen neuen Schlüssel der Form
HKEY_CURRENT_USER\Software\[Hersteller]\[Produkt]\[Version]
Anschließend legen Sie diesem Schlüssel mit der Funktion RegSetValue einen Eintragnamen sowie dessen Wert an. Die neuen Daten geben Sie der Registratur frei, indem Sie die Funktion RegCloseKey aufrufen.
Folgendes Beispiel erzeugt einen neuen Schlüssel namens Software\MeineFirma\MeinProgramm\DieVersion, den Eintrag DatenEintrag und einen EintragWert:
Public Function DatenSpeichern()
Dim NeuerSchlüssel As Long
If RegCreateKey(HKEY_CURRENT_USER, _
"Software\MeineFirma\MeinProgramm\DieVersion", _
NeuerSchlüssel) = ERROR_SUCCESS Then
If RegSetValue(NeuerSchlüssel, "DatenEintrag", _
REG_SZ, ByVal "EintragWert", 15) _
= ERROR_SUCCESS Then
Debug.Print "Daten erfolgreich angelegt."
Else
Debug.Print "Vorgang mißlungen"
End If
RegCloseKey NeuerSchlüssel
End If
End Function