Práca s registrom Windows od aplikácií Delphi

Register je jednoducho databáza, ktorú môže aplikácia použiť na ukladanie a načítanie konfigurácie informácie (posledná veľkosť a umiestnenie okna, možnosti používateľa a informácie alebo akákoľvek iná konfigurácia dáta). Register tiež obsahuje informácie o Windows (95/98 / NT) ao vašej konfigurácii Windows.

Register „databáza“ je uložený ako binárny súbor. Ak ju chcete nájsť, spustite program regedit.exe (utilita editora databázy Registry systému Windows) v adresári Windows. Uvidíte, že informácie v registri sú usporiadané podobne Prieskumník systému Windows. Môžeme použiť regedit.exe na zobrazenie informácií v registri, zmenu alebo pridanie niektorých informácií. Je zrejmé, že úpravy databázy Registry môžu viesť k zlyhaniu systému (samozrejme, ak neviete, čo robíte).

Pravdepodobne je veľmi dobre známe, že v dňoch Windows 3.xx boli súbory INI populárnym spôsobom ukladania informácií o aplikácii a iných užívateľsky konfigurovateľných nastavení. Naj desivejším aspektom súborov INI je to, že sú to len textové súbory, ktoré môže užívateľ ľahko editovať (zmeniť alebo dokonca odstrániť). V 32-bitovom systéme Windows spoločnosť Microsoft odporúča používať register na ukladanie typov informácií, ktoré by ste normálne ukladali do súborov INI (používatelia s menšou pravdepodobnosťou upravia položky databázy Registry).

instagram viewer

Delphi poskytuje plnú podporu pre zmeny záznamov v registri systému Windows: prostredníctvom triedy TRegIniFile (rovnaké základné rozhranie ako Windows XP) TIniFile trieda pre používateľov súborov INI s Delphi 1.0) a trieda TRegistry (wrapper nízkej úrovne pre register Windows a funkcie, ktoré fungujú v registri).

Ako je uvedené vyššie v tomto článku, základné operácie registra (pomocou manipulácie s kódom) čítajú informácie z registra a zapisujú informácie do databázy.

Ďalšia časť kódu zmení tapetu Windows a vypne šetrič obrazovky pomocou triedy TRegistry. Predtým, ako použijeme TRegistry, musíme do klauzuly použitia v hornej časti zdrojového kódu pridať jednotku Registry.

~~~~~~~~~~~~~~~~~~~~~~~~~
používa register;
postup TForm1.FormCreate (odosielateľ: TObject);
var
reg: TRegistry;
začať
reg: = TRegistry. vytvorenie;
s reg začať
vyskúšať
ak OpenKey ('\ Control Panel \ desktop', False), potom začnite
// zmena tapety a jej obkladanie
reg. WriteString ('Tapeta', 'c: \ windows \ CIRCLES.bmp');
reg. WriteString ('TileWallpaper', '1');
// vypnúť šetrič obrazovky // ('0' = vypnúť, '1' = zapnúť)
reg. WriteString ('ScreenSaveActive', '0');
// aktualizovať zmeny okamžite
SystemParametersInfo (SPI_SETDESKWALLPAPER, 0, nula, SPIF_SENDWININICHANGE);
SystemParametersInfo (SPI_SETSCREENSAVEACTIVE, 0, nula, SPIF_SENDWININICHANGE);
koniec
konečne
reg. Zadarmo;
koniec;
koniec;
koniec;
~~~~~~~~~~~~~~~~~~~~~~~~~

Tieto dva riadky kódu začínajú systémom SystemParametersInfo... prinútiť Windows, aby okamžite aktualizoval informácie o tapete a šetriči obrazovky. Po spustení aplikácie sa zobrazí tapeta systému Windows bitmap prejdite na obrázok Circles.bmp - to znamená, ak máte obrázok Circles.bmp v adresári Windows. (Poznámka: šetrič obrazovky je teraz zakázaný.)