Eine Einführung in die Arbeit mit der Windows-Registrierung

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

Die Registry "Datenbank" wird als Binärdatei gespeichert. Führen Sie dazu regedit.exe (Windows-Registrierungseditor) 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 gut bekannt, dass INI-Dateien zu Zeiten von Windows 3.xx eine beliebte Methode zum Speichern von Anwendungsinformationen und anderen vom Benutzer konfigurierbaren Einstellungen waren. Das Erschreckendste an INI-Dateien ist, dass es sich lediglich um Textdateien handelt, die der Benutzer leicht bearbeiten (ändern oder sogar löschen) kann. Unter 32-Bit-Windows empfiehlt Microsoft, die Registrierung zum Speichern der Informationen zu verwenden, die normalerweise in INI-Dateien gespeichert werden (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 Basisschnittstelle 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 Registry

Wie bereits in diesem Artikel erwähnt, werden bei grundlegenden Registrierungsvorgängen (mithilfe der Codemanipulation) Informationen aus der Registrierung gelesen und in die Datenbank geschrieben.

Der nächste Code ändert das Windows-Hintergrundbild und deaktiviert den Bildschirmschoner mit TRegistry class. Bevor wir TRegistry verwenden können, müssen wir der uses-Klausel oben im Quellcode die Registry-Unit hinzufügen.

~~~~~~~~~~~~~~~~~~~~~~~~~~
benutzt Registry;
procedure TForm1.FormCreate (Sender: TObject);
var
reg: TRegistry;
Start
reg: = TRegistry.Create;
mit reg beginnen
Versuchen
Wenn OpenKey ('\ Control Panel \ desktop', False), dann beginnen
// Ändere das Hintergrundbild und kachle es
reg.WriteString ('Hintergrundbild', '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
schließlich
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. Dies ist der Fall, wenn sich in Ihrem Windows-Verzeichnis das Bild circles.bmp befindet. (Hinweis: Ihr Bildschirmschoner ist jetzt deaktiviert.)