Wprowadzenie do pracy z rejestrem Windows
georgeclerk / Getty Images
Rejestr to po prostu baza danych, której aplikacja może używać do przechowywania i pobierania informacji konfiguracyjnych (rozmiar i położenie ostatniego okna, opcje i informacje użytkownika lub inne dane konfiguracyjne). Rejestr zawiera również informacje o systemie Windows (95/98/NT) oraz o konfiguracji systemu Windows.
„Baza danych” rejestru jest przechowywana w postaci pliku binarnego. Aby go znaleźć, uruchom regedit.exe (narzędzie edytora rejestru Windows) w katalogu Windows. Zobaczysz, że informacje w Rejestrze są zorganizowane w podobny sposób, jak: Eksplorator Windows . Możemy użyć regedit.exe, aby wyświetlić informacje rejestru, zmienić je lub dodać do niego pewne informacje. Oczywiste jest, że modyfikacje bazy danych rejestru mogą doprowadzić do awarii systemu (oczywiście, jeśli nie wiesz, co robisz).
TO vs. Rejestr
Prawdopodobnie bardzo dobrze wiadomo, że w czasach Windows 3.xx pliki INI były popularnym sposobem przechowywania informacji o aplikacjach i innych konfigurowalnych przez użytkownika ustawieniach. Najbardziej przerażającym aspektem plików INI jest to, że są to tylko pliki tekstowe, które użytkownik może łatwo edytować (zmieniać, a nawet usuwać). W 32-bitowym systemie Windows Microsoft zaleca używanie Rejestru do przechowywania informacji, które normalnie umieszczasz w plikach INI (użytkownicy są mniej skłonni do zmiany wpisów w rejestrze).
Delfy zapewnia pełną obsługę zmiany wpisów w rejestrze systemu Windows: poprzez klasę TRegIniFile (ten sam podstawowy interfejs, co TI-File klasę dla użytkowników plików INI z Delphi 1.0) oraz klasę TRegistry (opakowanie niskopoziomowe dla rejestru Windows i funkcji operujących na rejestrze).
Prosta wskazówka: pisanie do rejestru
Jak wspomniano wcześniej w tym artykule, podstawowe operacje rejestru (przy użyciu manipulacji kodem) to odczytywanie informacji z rejestru i zapisywanie informacji w bazie danych.
Następny fragment kodu zmieni tapetę Windows i wyłączy wygaszacz ekranu przy użyciu klasy TRegistry. Zanim będziemy mogli używać TRegistry, musimy dodać jednostkę Registry do klauzuli uses na początku kodu źródłowego.
~~~~~~~~~~~~~~~~~~~~~~~~~~~
korzysta z rejestru;
procedura TForm1.FormCreate(Sender: TObject) ;
był
reg:TRejestr;
zaczynać
reg:=TRejestr.Utwórz;
z reg zaczynaj
próbować
if OpenKey('Control Paneldesktop', False) to zacznij
//zmień tapetę i ułóż ją na kafelku
reg.WriteString ('Tapeta','c:windowsCIRCLES.bmp') ;
reg.WriteString ('TileWallpaper','1') ;
//wyłącz wygaszacz ekranu//('0'=wyłącz, '1'=włącz)
reg.WriteString('ScreenSaveActive','0') ;
//zaktualizuj zmiany natychmiast
SystemParametersInfo (SPI_SETDESKWALLPAPER,0, zero,SPIF_SENDWININICHANGE) ;
SystemParametersInfo (SPI_SETSCREENSAVEACTIVE,0, zero,SPIF_SENDWININICHANGE) ;
koniec
wreszcie
reg.Free;
koniec;
koniec;
koniec;
~~~~~~~~~~~~~~~~~~~~~~~~~~~
Te dwa wiersze kodu, które zaczynają się od SystemParametersInfo ... zmuszają system Windows do natychmiastowej aktualizacji informacji o tapecie i wygaszaczu ekranu. Po uruchomieniu aplikacji zobaczysz tapetę systemu Windows mapa bitowa zmień na obraz Circles.bmp — to znaczy, jeśli masz obraz circles.bmp w katalogu Windows. (Uwaga: wygaszacz ekranu jest teraz wyłączony.)