Rad sa sustavom Windows Registry iz Delphi aplikacija

click fraud protection

Registar je jednostavno baza podataka koju aplikacija može koristiti za pohranjivanje i dohvaćanje konfiguracija informacije (veličina i položaj zadnjeg prozora, korisničke mogućnosti i informacije ili bilo koja druga konfiguracija podaci). Registar također sadrži podatke o sustavu Windows (95/98 / NT) i o vašoj konfiguraciji sustava Windows.

"Baza podataka" registra spremljena je kao binarna datoteka. Da biste ga pronašli, pokrenite regedit.exe (uslužni program za uređivanje registra Windows) u vašem Windows direktoriju. Vidjet ćete da su podaci u Registru organizirani na sličan način Windows Explorer. Regedit.exe možemo koristiti za pregled podataka iz registra, za promjenu ili dodavanje nekih podataka. Očito je da bi izmjene baze registra mogle dovesti do pada sustava (naravno ako ne znate što radite).

Vjerojatno je vrlo poznato da su u dane Windows 3.xx INI datoteke bile popularan način pohrane podataka o aplikacijama i drugih postavki koje se mogu konfigurirati prema korisniku. Najstrašniji aspekt INI datoteka jest to što su to samo tekstualne datoteke koje korisnik može lako uređivati ​​(mijenjati ili čak brisati). U 32-bitnom sustavu Windows Microsoft preporučuje korištenje registra radi pohrane vrste informacija koje biste inače smjestili u INI datoteke (manje je vjerojatno da će korisnici mijenjati unose u registar).

instagram viewer

Delphi pruža potpunu podršku promjeni unosa u Registru sustava Windows: putem klase TRegIniFile (isto osnovno sučelje kao i TIniFile klase za korisnike INI datoteka s Delphi 1.0) i TRegistry klase (niski omotač za Windows registar i funkcije koje rade na registru).

Kao što je ranije spomenuto u ovom članku, osnovne operacije registra (pomoću manipulacije kodom) su čitanje podataka iz Registra i upisivanje podataka u bazu podataka.

Sljedeći dio koda promijenit će Windows pozadinu i onemogućiti čuvar zaslona koristeći TRegistry klasu. Prije nego što možemo koristiti TRegistry moramo dodati registar jedinici u klauzulu upotrebe pri vrhu izvornog koda.

~~~~~~~~~~~~~~~~~~~~~~~~~
koristi registar;
postupak TForm1.FormCreate (pošiljatelj: TObject);
var
reg: TRegistry;
početi
reg: = TRegistry. Stvoriti;
s reg stvarno počinju
probati
ako OpenKey ('\ Control Panel \ desktop', False) tada započnite
// promijenite pozadinu i popločite je
reg. WriteString ('Pozadina', 'c: \ windows \ CIRCLES.bmp');
reg. WriteString ('TileWallpaper', '1');
// onemogući čuvar zaslona // ('0' = onemogući, '1' = omogući)
reg. WriteString ('ScreenSaveActive', '0');
// ažurirajte promjene odmah
SystemParametersInfo (SPI_SETDESKWALLPAPER, 0, nula, SPIF_SENDWININICHANGE);
SystemParametersInfo (SPI_SETSCREENSAVEACTIVE, 0, nula, SPIF_SENDWININICHANGE);
kraj
konačno
reg. Besplatno;
kraj;
kraj;
kraj;
~~~~~~~~~~~~~~~~~~~~~~~~~

Ona dva retka koda koji počinju sa SystemParametersInfo... prisiliti Windows da odmah ažurira podatke o pozadini i čuvaru zaslona. Kada pokrenete aplikaciju, vidjet ćete pozadinu sustava Windows bitna mapa promjena u Circles.bmp sliku - to jest, ako u direktoriju sustava Windows imate sliku krugova.bmp. (Napomena: čuvar zaslona je sada onemogućen.)

instagram story viewer