Delphi Uygulamalarından Windows Kayıt Defteri ile Çalışma

Kayıt Defteri, bir uygulamanın yapılandırmayı depolamak ve almak için kullanabileceği bir veritabanıdır bilgi (son pencere boyutu ve konumu, kullanıcı seçenekleri ve bilgileri veya diğer herhangi bir yapılandırma veri). Kayıt defteri ayrıca Windows (95/98 / NT) ve Windows yapılandırmanız hakkında bilgi içerir.

Kayıt defteri "veritabanı" ikili dosya olarak saklanır. Bulmak için Windows dizininizde regedit.exe'yi (Windows kayıt defteri düzenleyicisi yardımcı programı) çalıştırın. Kayıt Defterindeki bilgilerin, aşağıdakilere benzer şekilde düzenlendiğini göreceksiniz: Windows Gezgini. Kayıt defteri bilgilerini görüntülemek, değiştirmek veya bazı bilgiler eklemek için regedit.exe'yi kullanabiliriz. Kayıt defteri veritabanındaki değişikliklerin bir sistem çökmesine yol açabileceği açıktır (elbette ne yaptığınızı bilmiyorsanız).

Windows 3.xx INI dosyalarının uygulama bilgilerini ve diğer kullanıcı tarafından yapılandırılabilen ayarları depolamanın popüler bir yolu olduğu muhtemelen çok iyi bilinmektedir. INI dosyalarının en dehşet verici yanı, kullanıcının kolayca düzenleyebildiği (değiştirebileceği, hatta silebileceği) metin dosyaları olmalarıdır. 32-bit Windows'ta Microsoft, normalde INI dosyalarına yerleştireceğiniz bilgi türlerini saklamak için Kayıt Defteri'ni kullanmanızı önerir (kullanıcıların kayıt defteri girdilerini değiştirme olasılığı daha düşüktür).

instagram viewer

Delphi Windows Sistem Kayıt Defteri'ndeki girişleri değiştirmek için tam destek sağlar: TRegIniFile sınıfı aracılığıyla ( TIniFile 1.0 ile INI dosyaları kullanıcıları için bir sınıf) ve TRegistry sınıfı (Windows kayıt defteri için alt düzey sarmalayıcı ve kayıt defterinde çalışan işlevler).

Bu makalede daha önce de belirtildiği gibi, temel kayıt defteri işlemleri (kod manipülasyonu kullanarak) kayıt defterinden bilgi okumak ve veritabanına bilgi yazmak.

Sonraki kod parçası Windows duvar kağıdını değiştirecek ve TRegistry sınıfını kullanarak ekran koruyucuyu devre dışı bırakacaktır. TRegistry'i kullanmadan önce, kaynak kodunun üstündeki kullanımlar maddesine Kayıt Birimi eklemeliyiz.

~~~~~~~~~~~~~~~~~~~~~~~~~
kayıt defteri kullanır;
prosedür TForm1.FormCreate (Gönderen: TObject);
var
reg: TRegistry;
başla
reg: = TRegistry. Oluşturmak;
reg ile başlar
Deneyin
OpenKey ('\ Denetim Masası \ masaüstü', Yanlış) ise
// duvar kağıdını değiştirin ve döşeyin
reg. WriteString ('Duvar Kağıdı', 'c: \ windows \ CIRCLES.bmp');
reg. WriteString ('TileWallpaper', '1');
// ekran koruyucuyu devre dışı bırak // ('0' = devre dışı bırak, '1' = etkinleştir)
reg. WriteString ('ScreenSaveActive', '0');
// değişiklikleri hemen güncelle
SystemParametersInfo (SPI_SETDESKWALLPAPER, 0, sıfır, SPIF_SENDWININICHANGE);
SystemParametersInfo (SPI_SETSCREENSAVEACTIVE, 0, sıfır, SPIF_SENDWININICHANGE);
son
en sonunda
reg. Bedava;
son;
son;
son;
~~~~~~~~~~~~~~~~~~~~~~~~~

SystemParametersInfo ile başlayan bu iki kod satırı... Windows'u duvar kağıdı ve ekran koruyucu bilgilerini hemen güncellemeye zorlar. Uygulamanızı çalıştırdığınızda Windows duvar kağıdını göreceksiniz bitmap Circles.bmp resmine değiştirin - yani, Windows dizininizde circle.bmp resminiz varsa. (Not: ekran koruyucunuz şimdi devre dışıdır.)