Okna od kuchni

W trzydziestodwubitowych wersjach Windows 98, 2000 oraz XP Rejestr determinuje zachowanie wielu składników systemu operacyjnego. Wiedza na temat zasad manipulowania wpisami tej bazy jest przydatna zarówno dla programistów, jak i dla zwykłych użytkowników.

Jeżeli kiedyś miałeś już okazję przeczytać coś o Rejestrze systemowym, to jestem przekonany, że widziałeś ostrzeżenie w stylu: “nie próbuj tego sam w domu” lub “nie dokonuj żadnych zmian w Rejestrze, gdy nie jesteś przekonany, że wiesz, co robisz”. Są to jak najbardziej słuszne stwierdzenia, ponieważ jeżeli popełnisz błąd podczas wprowadzania zmian do Rejestru, to konsekwencją tego może być poważne uszkodzenie systemu, a nawet konieczność ponownej instalacji Windows. Przed dokonaniem poważniejszych modyfikacji w systemowej bazie informacji należy zatem utworzyć jej kopię zapasową. Pamiętajmy też, że wszelkie zmiany są natychmiast wprowadzane do pliku Rejestru (Ntuser.dat) i że nie mamy do dyspozycji polecenia Cofnij.

W głąb systemu

Rejestr powstał jako alternatywa dla plików INI i jest centralną bazą danych systemów Windows 98/2000/XP, w której przechowywane są informacje oraz ustawienia dotyczące konfiguracji sprzętowej, ustawień poszczególnych użytkowników oraz wpisy dotyczące zainstalowanych aplikacji. Jest to jeden z najciekawszych elementów Okien. Dostęp do Rejestru możemy uzyskać za pomocą narzędzia Regedit.exe. Edytor umożliwia modyfikowanie zawartości systemowej bazy danych. Po zainstalowaniu Windows Regedita nie znajdziemy (dotyczy to wszystkich edycji Okien) w menu Start ani na Pulpicie, ponieważ został on celowo ukryty przed niedoświadczonymi użytkownikami. Podczas instalacji plik Regedit.exe jest umieszczany w folderze Windows.

W Rejestrach systemów Windows 2000 i XP dane są zorganizowane w drzewiastą strukturę, w której wyróżniamy pięć kluczy głównych: HKEY_CLASSES_ROOT, HKEY_CURRENT_USER, HKEY_LOCAL_MACHINE, HKEY_USERS, HKEY_CURRENT_CONFIG. Jedynie Windows 98, oprócz wyżej wymienionych kluczy głównych, zawiera dodatkowo jeszcze gałąź HKEY_DYN_DATA.

Klucz, którego nazwa rozpoczyna się od HKEY, nazywany jest głównym (patrz: ramka na

s. 96

). Każdy klucz reprezentuje jedną grupę danych konfiguracyjnych (ustawienia związane ze sprzętem oraz informacje o użytkownikach). Wszystkie wpisy, które znajdują się w Rejestrze, są pogrupowane w klucze. Każdy z nich zawiera jeden lub kilka podkluczy, które z kolei przechowują wartości. Takie podejście pozwala w łatwy sposób grupować wszystkie opcje. W rezultacie powstaje hierarchiczne drzewo, które można zobaczyć, uruchamiając program Regedit.

Z czym to się je

Omawiając budowę Rejestru, nie sposób nie wspomnieć o wartościach. W prawym okienku Edytora Rejestru wyświetlane są wartości aktywnego klucza. Jak już pewnie zauważyłeś, okienko jest podzielone na trzy kolumny. W pierwszej, zatytułowanej Nazwa, widoczna jest nazwa wartości, druga kolumna definiuje typ wartości (o tym za chwilę), same wartości widoczne są natomiast w trzeciej kolumnie, zatytułowanej Dane. Każdy klucz czy podklucz zawiera przynajmniej jedną wartość o nazwie Domyślna. Jest ona automatycznie dodawana podczas tworzenia nowego klucza i w większości przypadków pozostaje niezdefiniowana. Wszystkie inne pozycje, które znajdują się w tym samym kluczu, muszą mieć określoną zarówno nazwę, jak i wartość. Edytując Rejestr, możemy do niego wpisywać wartości następujących typów:

– REG_SZ – ciąg tekstowy o zmiennej długości; może zawierać zarówno znaki UNICODE, jak i ANSI. Typ REG_SZ jest jednym z najczęściej używanych typów danych.

– REG_DWORD – typ danych reprezentowany przez 32-bitową liczbę całkowitą. Ponieważ Rejestr nie wykorzystuje danych typu logicznego, typ REG_DWORD najczęściej używany jest jako określenie wartości boolowskich, czyli przyjmuje wartość 0 lub 1, co odpowiada stałym True i False – Prawda i Fałsz.

– REG_BINARY – typ danych binarnych, na które składają się wyłącznie zera i jedynki. Większość informacji dotyczących konfiguracji sprzętowej jest jednak przechowywana i wyświetlana w Edytorze Rejestru w formacie szesnastkowym.

– REG_EXPAND_SZ – zakończony zerem rozszerzony łańcuch znaków UNICODE lub ANSI o zmiennej długości. Ten typ danych odnosi się do zmiennych środowiskowych (na przykład “%PATH%”).

– REG_MULTI_SZ – ciąg wielokrotny. Typ reprezentuje grupy ciągów zawierające zestawienia lub wartości wielokrotne, oddzielone spacjami lub przecinkami.

Zbędne informacje?

Po bliższym zapoznaniu się z Rejestrem zauważymy, że niektóre nazwy kluczy występują wielokrotnie. Co więcej, nie tylko nazwy, ale i wartości tych kluczy są takie same. Dzieje się tak dlatego, że pewne klucze są budowane na podstawie innych. Podczas wprowadzania jakiejkolwiek zmiany przez użytkownika system operacyjny Windows zapisuje ją we wszystkich powiązanych kluczach. Zmiany wprowadzone w HKEY_LOCAL_MACHINE\Software\Classes znajdują się także w kluczu HKEY_CLASSES_ROOT, ponieważ jest on budowany na bazie HKEY_LOCAL_MACHINE\Software\Classes. Podobnie podczas logowania się użytkownika do systemu określana jest zawartość HKEY_CURRENT_USER w oparciu o HKEY_USERS\{id użytkownika}. Jedynym wyjątkiem jest gałąź \Software\Microsoft\Windows\Current-Version, dostępna zarówno w HKEY_CURRENT_USER, jak i w HKEY_LOCAL_MACHINE. Nazwy tych dwóch gałęzi umieszczonych w różnych kluczach głównych są identyczne, ich znaczenie jest natomiast różne. Pozycje, które znajdują się w HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion zawierają informacje związane z użytkownikiem, podczas gdy dane z gałęzi HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Current-Version opisują wartości globalne, dotyczące całej maszyny, oprogramowania i wszystkich użytkowników.

Programy ułatwiające zarządzanie Rejestrem
Nazwa programuPrzeznaczenieSystemCenaAdres WWW [http://]
jv16 PowerToolsZarządzanie RejestremWindows 98/Me/2000/XP29,95 USDwww.jv16.org
RegCleanerZarządzanie RejestremWindows 98/Me/2000/XPfreewarewww.321download.com/LastFreeware
Advanced System OptimizerDostrajanie systemuWindows 98/Me/2000/XP35,96 USDwww.systweak.com
DoctorTweak XPDostosowanie systemu do własnych potrzebWindows XPfreewarewww.ficproducts.com
Tweak XPDostrajanie systemuWindows XP44,95 USDwww.totalidea.com
Tweak UI for Windows XPDostrajanie systemuWindows XPfreewarewww.microsoft.com
ERUNTKopia zapasowa oraz optymalizacja RejestruWindows NT/2000/XPfreewarewww.larshederer.homepage.t-online.de/erunt/
Resplendent RegistrarRozbudowany edytor RejestruWindows 98/Me/2000/XP44,95 USDwww.resplendence.com
RegSupreme Zarządzanie Rejestrem Windows 98/Me/2000/XP12,95 USDwww.macecraft.com
RegmonMonitor RejestruWindows 9x/Me/NT/2000/XPfreewarewww.sysinternals.com
Magic Tweak Tuning WindowsWindows2000/XP29,95 USDwww.magictweak.com
Więcej:bezcatnews