BEISPIEL
Verwendung von
WritePrivateProfileString
:
Dim n As Long
n = WritePrivateProfileString("Abschnitt1", "Eintrag", "4711", "test.ini")
Obige Anweisungen erzeugen eine Datei
Test.ini
, die folgenden Inhalt hat:
[Abschnitt1]
Eintrag=4711
Die Registrierdatenbank
Jeder VBA-Programmierer sollte über grundlegende Kenntnisse der Registrierdatenbank, dem Nachfolger
der INI-Dateien, verfügen.
Einführung
Die eigentliche Registrierdatenbank lässt sich über API-Aufrufe oder den Registrierungseditor Regedit.exe
bearbeiten (Aufruf von regedit über Start/Ausführen...).
Abbildung 11.11 Der Registrierungseditor
Was auf den ersten Blick relativ unübersichtlich aussieht, folgt einem einfachen Konzept. Ausgehend vom
Arbeitsplatz finden Sie folgende Teilbäume:
Element Beschreibung
HKEY_LOCAL_MACHINE Enthält die Konfigurationsinformationen für den Computer (alle Benutzer/User).
HKEY_USERS Die Wurzel (Root) für alle Benutzerprofile.
HKEY_CURRENT_USER Zeigt die Konfigurationsinformationen für den momentan angemeldeten Benutzer (z.B. Programmgruppen,
Bildschirmfarben etc.). HKEY_CURRENT_USER ist ein Teilschlüssel von HKEY_USERS.
HKEY_CLASSES_ROOT Ist ein Teilschlüssel von HKEY_LOCAL_ MACHINE\SOFTWARE. Hier sind die Dateiverknüpfung und OLE-
Objekte gespeichert.
Tabelle 11.5 Teilbäume der Registrierdatenbank
709
Die Registrierdatenbank
HINWEIS
Kapitel 11: Dateien und Verzeichnisse
Auf die Teilbäume HKEY_CURRENT_CONFIG und HKEY_DYN_DATA wollen wir nicht weiter eingehen,
da alle enthaltenen Informationen auch über API-Funktionen abgefragt werden können, das direkte Aus-
lesen bzw. Verändern ist nicht empfehlenswert.
Für den Access-Programmierer ist im Wesentlichen nur der SOFTWARE-Teilbaum von HKEY_LOCAL_-
MACHINE und HKEY_CURRENT_USER interessant. Daten, die für jeden User zutreffen, sollten Sie nach
folgendem Muster unter HKEY_LOCAL_MACHINE speichern:
HKEY_LOCAL_MACHINE\SOFTWARE\Firmenname\Produktname\Versionsnummer\...
Benutzerspezifische Informationen (z.B. Farbeinstellungen, Fenstergrößen etc. ) speichern Sie statt unter
HKEY_LOCAL_MACHINE in HKEY_CURRENT_USER nach dem gleichen Muster.
Die nachfolgende Zeile steht für einen korrekten Eintrag:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\3.0
Wie Sie die einzelnen Schlüssel bezeichnen, bleibt Ihnen überlassen, Sie müssen lediglich sicherstellen, dass
kein gleichnamiger Schlüssel in derselben Baumebene existiert (in einem Verzeichnis können auch nicht
zwei gleichnamige Unterverzeichnisse gespeichert werden).
Ist ein Schlüssel nach der o.g. Konvention erstellt, können Sie die eigentlichen Einträge anlegen. Die verfüg-
baren Datentypen der Registrierung finden Sie in der folgenden Tabelle:
Typ Beschreibung
REG_BINARY Binärer Werteintrag
REG_SZ Zeichenkette (nullterminiert)
REG_DWORD DWORD-Eintrag
REG_MULTI_SZ Mehrere Zeichenketten
REG_EXPAND_SZ Erweiterbare Zeichenkette
Tabelle 11.6 Datentypen zur Registrierung
Nur REG_SZ und REG_DWORD sind eigentlich interessant. Das Auslesen der anderen Typen ist unter Access
nicht oder nur schwer möglich.
Die vorgestellten Funktionen fassen die teilweise recht aufwändigen API-Aufrufe zusammen und beschrän-
ken sich auf ein Minimum an Parametern. So wurde unter anderem gänzlich auf die Möglichkeit verzichtet,
unter Windows 2000/XP/Vista entsprechende Sicherheitsmechanismen zu verwenden. Probieren Sie die
Funktionen aus und wollen Sie die Ergebnisse mit dem Registrierungseditor kontrollieren, müssen Sie die
Anzeige nach jeder der o.g. Funktionen aktualisieren.
710

Get Microsoft Office Access 2007-Programmierung - Das Handbuch now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.