Computerwissenschaften

Arbeiten mit der Windows-Registrierung über Delphi-Anwendungen

Arbeiten mit der Windows-Registrierung über Delphi-Anwendungen

Die Registrierung ist einfach eine Datenbank, in der eine Anwendung Konfigurationsinformationen speichern und abrufen kann (Größe und Position des letzten Fensters, Benutzeroptionen und -informationen oder andere Konfigurationsdaten). Die Registrierung enthält auch Informationen zu Windows (95/98 / NT) und zu Ihrer Windows-Konfiguration.

Die Registrierungs- „Datenbank“ wird als Binärdatei gespeichert. Um es zu finden, führen Sie regedit.exe (Windows-Registrierungseditor-Dienstprogramm) in Ihrem Windows-Verzeichnis aus. Sie werden sehen, dass die Informationen in der Registrierung ähnlich wie im Windows Explorer organisiert sind. Wir können regedit.exe verwenden, um Registrierungsinformationen anzuzeigen, zu ändern oder einige Informationen hinzuzufügen. Es ist offensichtlich, dass Änderungen an der Registrierungsdatenbank zu einem Systemabsturz führen können (natürlich, wenn Sie nicht wissen, was Sie tun).

 

INI vs. Registry

Es ist wahrscheinlich sehr bekannt, dass INI-Dateien in den Tagen von Windows 3.xx eine beliebte Methode zum Speichern von Anwendungsinformationen und anderen vom Benutzer konfigurierbaren Einstellungen waren. Der schrecklichste Aspekt von INI-Dateien ist, dass es sich nur um Textdateien handelt, die der Benutzer leicht bearbeiten (ändern oder sogar löschen) kann. Unter 32-Bit-Windows empfiehlt Microsoft die Verwendung der Registrierung zum Speichern der Art von Informationen, die Sie normalerweise in INI-Dateien ablegen würden (Benutzer ändern Registrierungseinträge mit geringerer Wahrscheinlichkeit).

Delphi  bietet vollständige Unterstützung für das Ändern von Einträgen in der Windows-Systemregistrierung: über die TRegIniFile-Klasse (dieselbe grundlegende Schnittstelle wie die TIniFile- Klasse für Benutzer von INI-Dateien mit Delphi 1.0) und die TRegistry-Klasse (Low-Level-Wrapper für die Windows-Registrierung und die Funktionen, die ausgeführt werden) in der Registrierung).

 

Einfacher Tipp: Schreiben in die Registrierung

Wie bereits in diesem Artikel erwähnt, lesen grundlegende Registrierungsvorgänge (mithilfe der Codemanipulation) Informationen aus der Registrierung und schreiben Informationen in die Datenbank.

Der nächste Code ändert das Windows-Hintergrundbild und deaktiviert den Bildschirmschoner mithilfe der TRegistry-Klasse. Bevor wir TRegistry verwenden können, müssen wir der Verwendungsklausel oben im Quellcode eine Registrierungseinheit hinzufügen.

~~~~~~~~~~~~~~~~~~~~~~~~~~~
verwendet die Registrierung;
Prozedur TForm1.FormCreate (Absender: TObject);
var
reg: TRegistry;
begin
reg:=TRegistry.Create;
Beginnen Sie mit reg und
versuchen Sie,
wenn OpenKey (‚\ Control Panel \ desktop‘, False) dann
// das Hintergrundbild ändert und es
kachelt. reg.WriteString (‚Wallpaper‘, ‚c: \ windows \ CIRCLES.bmp‘);
reg.WriteString (‚TileWallpaper‘, ‚1‘);
// Bildschirmschoner deaktivieren // (‚0’=deaktivieren, ‚1‘=aktivieren)
reg.WriteString (‚ScreenSaveActive‘, ‚0‘);
// Änderungen sofort aktualisieren
SystemParametersInfo (SPI_SETDESKWALLPAPER, 0, nil, SPIF_SENDWININICHANGE);
SystemParametersInfo (SPI_SETSCREENSAVEACTIVE, 0, nil, SPIF_SENDWININICHANGE);
Ende
endlich
reg.Free;
Ende;
Ende;
Ende;
~~~~~~~~~~~~~~~~~~~~~~~~~~~

Diese beiden Codezeilen, die mit SystemParametersInfo … beginnen, zwingen Windows, die Hintergrund- und Bildschirmschonerinformationen sofort zu aktualisieren. Wenn Sie Ihre Anwendung ausführen, wird die Windows-Hintergrundbild- Bitmap in das Bild Circles.bmp geändert, dh wenn sich in Ihrem Windows-Verzeichnis das Bild circle.bmp befindet. (Hinweis: Ihr Bildschirmschoner ist jetzt deaktiviert.)

Similar Posts

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.