Rejestr
To baza danych, w której przechowywane są
informacje o konfiguracji systemów operacyjnych
Windows serii 9x (95/98/Me) oraz NT, do których
należą: NT, 2000 i XP. Zawiera ona informacje i
ustawienia dotyczące sprzętu, oprogramowania,
użytkowników oraz ich indywidualnych
preferencji. Z bazy danych Rejestru korzysta
oczywiście Windows, a także pracujące w nim
aplikacje. Zmieniając jakiekolwiek ustawienia czy
instalując nowe oprogramowanie dokonujemy
jednocześnie zmian w Rejestrze. W sensie
fizycznym na Rejestr składają się konkretne pliki,
których nazwy i położenie są różne w
poszczególnych wersjach systemu.
• w systemach Windows 95 i 98 są to ukryte pliki
user.dat i system.dat znajdujące się w folderze
systemowym (najczęściej C:\Windows)
• w Windows Me część rejestru zawiera dodatkowo
plik classes.dat
• w systemach NT Rejestr znajduje się w folderze
Windows\System32\Config i w folderze Documents
and Settings\nazwa użytkownika\ntuser.dat
Do przeglądania Rejestru i jego modyfikacji służy
wbudowane w Windows narzędzie o nazwie Edytor
Rejestru.
Nie można jednak dostać się do niego
bezpośrednio z poziomu menu Start. To niejako
forma zabezpieczenia przed przypadkowym
dostępem niedoświadczonego użytkownika.
Uwaga !! usuwanie nieodpowiednich wpisów lub
ich nieprzemyślana modyfikacja może czasami
skończyć się reinstalacją całego systemu
.
Aby uruchomić Edytor Rejestru klikamy na
przycisk Start, następnie wybieramy polecenie
"Uruchom". W oknie, które się pojawi wpisujemy
"regedit" i klikamy na OK. Otwiera się okno,
które przypomina Eksploratora Windows. W lewej
części znajduje się 5, a w systemach
operacyjnych Windows 9x - 6 żółtych ikon. Są to
odpowiedniki folderów zwane kluczami. Po
kliknięciu na widoczne obok znaczniki "+"
uzyskujemy oczywiście dostęp do kolejnych
gałęzi drzewa kluczy. Kliknięcie na klucz
powoduje, że w prawym oknie pojawiają się
odpowiedniki plików zwane w Rejestrze
"Wartościami„. Ścieżka dostępu do danej
wartości wyświetlana jest na pasku stanu
edytora. Rejestr jest zatem podzielony na 5 lub 6
zasadniczych kluczy.
HKEY_CLASSES_ROOT zawiera informacje o wszystkich
skojarzeniach plików, skrótach i innych elementach interfejsu
użytkownika jak menu kontekstowe. Jest to inna nazwa gałęzi
klucza HKEY_LOCAL_MACHINE
HKEY_CURENT_VERSION to alias podgałęzi czyli
alternatywny
(dodatkowy)
klucz Rejestru HKEY_USERS, odnoszącej się do
użytkownika właśnie zalogowanego na komputerze.
Informacje tu zawarte to między innymi ustawienia pulpitu czy
menu Start oraz ustawienia zainstalowanych programów.
HKEY_LOCAL_MACHINE ten klucz zawiera informacje
dotyczące komputera: typu sprzętu oraz sterowników, a także
podstawowych ustawień aplikacji. Są to dane wspólne dla
wszystkich użytkowników peceta.
HKEY_USERS zawiera indywidualne ustawienia każdego z
użytkowników komputera
HKEY_CURRENT_VERSION jest aliasem podgałęzi klucza
HKEY_LOCAL_MACHINE i pokazuje aktualną konfigurację
sprzętową komputera.
HKEY_DYN_DATA jest wyodrębnionym jedynie w systemach
linii Windows 9x aliasem podgałęzi klucza rejestru
HKEY_LOCAL_MACHINE i zawiera dynamiczne, przechowywane
w pamięci RAM ustawienia sprzętowe.
W systemach linii NT użytkownik nie posiadający
dostępu do konta administratora nie może
dokonywać żadnych modyfikacji w podstawowych
kluczach z wyjątkiem swoich ustawień osobistych
zawartych w kluczu HKEY_CURRENT_ USER.
Podobnie jak istnieją różne formaty plików tak
samo w Rejestrze możemy odnaleźć różne typy
wartości, a każdy z nich pełni inną rolę.
Wartość DWORD może zawierać liczby o długości
maksymalnej 32 bitów (2
32
). Typ DWORD jest też
używany do przechowywania danych logicznych: 0 -
wyłączony, 1 - włączony. Korzystaliśmy z nich
uprzednio przy modyfikowaniu niektórych ustawień.
Wartość binarna może przechowywać dane zawierające liczby
dłuższe niż DWORD. Edytor Rejestru wyświetla je
w postaci szesnastkowej.
Wartość ciągu - przechowuje dane tekstowe, takie jak na
przykład ścieżka dostępu do pliku.
Wartość ciągu rozwijanego występuje tylko w systemach
Windows NT, 2000 i XP. Zawiera zmienne, które zostaną
zastąpione przez właściwe dane, kiedy zażąda ich aplikacja.
W systemach linii NT występuje też Wartość wielociągu
zawierająca kilka danych ciągu oddzielonych separatorem
np. spacją lub gwiazdką.
Pomimo, że wartości kluczy nadal pozostają "czarną magią"
korzystanie z nich i modyfikacja wcale nie są takie trudne
jeżeli logicznie przeanalizuje się ich zawartość. Dla przykładu
w kluczu HKEY_CURRENT_USER - Control Panel i Colors
możemy zmienić domyślne ustawienia wszystkich kolorów
systemowych interfejsu i w ten sposób zindywidualizować
swoje ustawienia, które graficznie nie będą różnić się od
pozostałych użytkowników.
To jednak co u innych jest systemowo niebieskie, u mnie
może mieć odcień lekko fioletowy itp. Na pozór
skomplikowane wartości ciągu dword są bowiem niczym
innym jak parametrami barw składowych RGB.
Przedstawiony przykład jest opisem barw stosowanych w
przycisku paska tytułowego w klasycznym schemacie
Windows XP. Ale zaczniemy od sporządzenia kopi rejestru.
Wykorzystując Notatnik wprowadzimy zmiany metodą
skryptu, który wyeksportujemy następnie do Rejestru
Windows.
Ciekawą funkcją Edytora Rejestru jest możliwość
importowania i eksportowania ustawień Rejestru
do pliku tekstowego. Plik ten jest rozpoznawany
przez edytor dzięki unikalnemu rozszerzeniu .reg.
Podwójne kliknięcie na taki plik eksportuje
zawarte w nim dane do Rejestru. To właśnie dzięki
tej właściwości możemy sporządzić kopię rejestru
i w każdej chwili go przywrócić. Szansę taką daje
również sam system, który każdego dnia,
niezależnie od nas, wykonuje kopię Rejestru. W
razie dostrzeżonej awarii można przywrócić
Rejestr i prawidłową konfigurację np. z
poprzedniego dnia. Ta właściwość rodzi jednak
pewne niebezpieczeństwo. Jeżeli zdarzy się nam
trafić na jakiś plik z rozszerzeniem .reg a nie
wiemy jakie modyfikacje są w nim zawarte lepiej
go nie dotykać. W najgorszym razie możemy
nawet pożegnać się z systemem i poszukać czasu
na reinstalację.
Aby wyeksportować cały Rejestr (zrobić jego
kopię) w oknie edytora klikamy na ikonę
"Mój Komputer", a następnie z menu
kontekstowego wybieramy polecenie
"Eksportuj". W oknie, które się pojawi,
wpisujemy nazwę pliku (najlepiej podać
datę) oraz zaznaczamy pole "Wszystko". Jak
widać można również eksportować dowolną
gałąź rejestru, a nawet pojedynczy klucz
który zamierzamy zmodyfikować. W takim
przypadku w lewym oknie zaznaczamy
gałąź (klucz) a precyzując zakres eksportu
oznaczamy "Wybrana gałąź". Aby lepiej
zrozumieć zasady edycji wartości Rejestru
posłużę się przykładem:
Kiedy klikamy na przycisk "Start" pojawia nam się
szereg dostępnych pozycji w kolejnych
rozwijanych menu. Stąd zwykle wędrujemy do
menu "Programy", "Ustawienia", szukamy plików i
możemy uruchamiać aplikacje np. właśnie Edytor
rejestru. Warto się zastanowić, czy wszystkie
widoczne pozycje są nam na prawdę potrzebne.
Na przykład gdy jestem jedynym użytkownikiem
komputera - po co mi "Wyloguj"? Rozważmy, czy
korzystamy na tej drodze z dostępu do
dokumentów i potrzebujemy, aby każdy kto
zatrzyma się na tej pozycji musiał widzieć z jakimi
plikami ostatnio pracowaliśmy, jakie strony
internetowe zgromadziliśmy w katalogu Ulubione.
Nie wnikając co komu się przyda zaczniemy
dowolnie skracać te listę. Jak w wielu podobnych
przypadkach musimy dokonać zmian w rejestrze.
Radzę jednak zabezpieczyć jego kopię bo
zapamiętanie zmienionych pozycji może być
bardzo trudne i dokonane zmiany okażą się
wtedy nieodwracalne. Przy eksporcie upewniamy
się, że jest zaznaczona opcja Wszystko. Dobrze
aby znajdowała się w niej aktualna data. Gdyby
po wprowadzeniu zmian w Rejestrze okazało się,
że komputer nie działa prawidłowo albo
dokonana zmiana nas nie satysfakcjonuje,
dwukrotne kliknięcie na tę ikonę przywróci
poprzednie ustawienia. Mając gotową kopię
rejestru wróćmy do jego modyfikacji. Kolejno
otwieramy zatem pozycje:
HKEY_CURENT_VERSION/SOFTWARE/Microsoft/Wi
ndows/CurentWersion/Policies/Explorer
Teraz w prawym oknie zobaczymy dziwnie długą
listę poleceń albo też tylko dwa. Będą to zapewne
wartości CDRAutoRun i NoDrive TypeAutoRun
odpowiadające za zdolność do automatycznego
uruchamiania płyt CD po włożeniu do napędu. A
teraz cała tajemnica: Wydaje się to logiczne, ale
nazwy są trudne do zapamiętania. Analizując
treść pozostałych można się domyśleć, że
niektóre decydują o dostępie do drukarek,
monitora itp. Tu bardzo ostrożnie bo po restarcie
poza czarnym ekranem możemy nie zobaczyć nic
więcej.
Jak dodać wartość DWORD? W oknie Edytora
rejestru rozwijamy listę Edycja, wybieramy Nowy,
a następnie Wartość DWORD. Po wykonaniu tej
czynności w prawym oknie edytora pojawi się
wartość: Nowa wartość #1 0x00000000 (0)
W polu nowa wartość należy wpisać
wybraną nazwę np. NoLogoff. Aby
uruchomić jej działanie (w tym przypadku
zlikwidować wybraną pozycję) wartość (0)
musimy zamienić dane wartości na (1). W
tym celu dwukrotnie klikamy w nazwę
wartości otwierając okno Edycji wartości
DWORD. Zaznaczamy system dziesiętny i w
pole dane wartości wpisujemy 1 w miejsce
0. Klikamy OK. Po dokonaniu wszystkich
planowanych zmian zamykamy okno
edytora rejestru. Jeżeli wymagane wartości
DWORD są już na liście dla dokonania
zmian wystarczy zmienić 0 na 1 lub
odwrotnie.
Nie chcemy w menu
Start
Dodajemy wartość
DWORD
Wyloguj
Ulubione
Dokumenty
Znajdź
Uruchom
NoLogOff
NoFavoritesMenu
NoRecentDocsMenu
NoFind
NoRun
Wyobraźmy sobie, że modyfikując rejestr
dokonaliśmy usunięcia opcji "Wyloguj" z menu Start.
W tym celu zmieniliśmy odpowiednią wartość
DWORD w kluczu HKEY_CURRENT_USER. Komuś, kto
narzekał również na nieprzydatność tej funkcji
chcemy zaproponować identyczną modyfikację.
Zamiast tłumaczenia zawiłości tego procesu chcemy
pomóc udostępniając kopię odpowiedniego klucza
rejestru. Zaznaczając w edytorze klucz (ścieżka
oznaczona na niebiesko na zdjęciu – kolejny slajd)
przygotowaliśmy plik log.reg. Zgrywając go na
dyskietkę i przekazując tej osobie z pewnością
zrobimy jej nie tyle dobrą przysługę co niezły kawał.
Otwierając ten plik w Notatniku zauważymy, że klucz
zawiera o wiele więcej wartości niż ta, o którą
chodziło.
Oprócz wartości DWORD 00000001 przy pozycji
"NoLogoff" mamy identyczną wartość przy pozycji
"NoRecentDocsMenu", a to oznacza, że usunęliśmy
także dostęp do historii ostatnio otwieranych
dokumentów w menu Start.
Takich zmian mogliśmy dokonać znacznie więcej i
przy zaimportowaniu takiego pliku funkcje te
automatycznie zostałyby usunięte również na innym
komputerze. A przecież nie o to chodziło.
Możemy jednak ten plik odpowiednio zmodyfikować.
Co więcej możemy stworzyć taki plik od podstaw w
notatniku i zapisując go z rozszerzeniem .reg nadać
mu postać pliku rejestru, który da się zaimportować.
W ten sposób tworzymy skrypt. Aby to było możliwe
przyjrzyjmy się tekstowej postaci pliku rejestru.
Nagłówek zawiera informację o typie pliku oraz jego
wersji. W naszym przypadku REGEDIT4 oznacza, że
jest to plik w systemie Windows 9x. W przypadku
Windows XP nagłówek będzie miał postać
następującą:
Pod treścią nagłówka znajdujemy ścieżkę
dostępu do klucza. Uwaga! Ścieżka pokazana
na rysunku z notatnikiem i oznaczona
niebieskim polem, została dla potrzeb tej
strony podzielona na trzy wiersze. Tworząc
skrypt musimy ją bezwzględnie zapisać w
jednym wierszu bez używania klawisza Enter.
Bezpośrednio pod ścieżką mamy listę
wartości. Każda jest umieszczona w
oddzielnym wierszu, a jej nazwa ujęta w
cudzysłów. Po znaku równości znajdują się
dane wartości, a typ wartości ilustruje
składnia zapisu. Spróbujmy je
zidentyfikować:
Wartość DWORD zawiera po znaku równości
nazwę dword i po dwukropku dane np.
„NoRecentDocsMenu”=dword:00000001 (wartość
logiczna 1 oznacza "wykonaj polecenie" – czyli w
tym przypadku nie pokazuj ostatniio używanych
dokumentów).
Wartość ciągu zawiera po znaku równości dane w
cudzysłowie np: „ScreenSeveTimeOut”=„60”
(czas po którym nastąpi uruchomienie
wygaszacza określono na 60 sek)
Wartość binarna, po znaku równości zawiera
wyrażenie hex i po dwukropku wartości
szesnastkowe oddzielone przecinkami np:
„NoDriveTypeAutoRun”=hex:95,00,00,00 (ta
konkretna wartość decyduje o funkcji
automatycznego uruchamiania krążków -
autorun.
Każdy klucz rejestru zawiera też wartość ciągu
o nazwie "Domyślna", która w systemach linii
Windows 9x jest z reguły nieokreślona. W serii
NT np. Windows XP występuje najczęściej w
postaci nazwy i tym samym lepiej pozwala
zorientować się użytkownikowi w zastosowaniu
innych wartości klucza np:
Jak widać w pliku tekstowym .reg oznaczana jest
symbolem @.
Aby przygotować właściwy skrypt modyfikujący tylko
jedną
wybraną wartość musi zatem pozostawić w pliku tyko:
•nagłówek zależny od wersji systemu
•ścieżkę dostępu do klucza
•zmodyfikowaną wartość
Stąd jeden wniosek - jeżeli nasza modyfikacja ma
dotyczyć usunięcia wybranego klucza to wskazana
metoda nie będzie skuteczna.
A teraz dwa małe tricki, które przygotujemy właśnie
w postaci pliku tekstowego (skryptu), nadamy mu
następnie rozszerzenie .reg i wyeksportujemy do
Rejestru.
Modyfikacja systemowych postaci skrótów -
napis
Kiedy tworzymy w Windows skrót do pliku, katalogu
czy dokumentu system oznacza ikonę specjalną
strzałką i napisem "Skrót do ...". Z reguły każdy
usuwa potem tę część nazwy, aby podpis pod ikoną
wyglądał estetycznie. Wprowadzając odpowiednią
zmianę możemy spowodować aby ten dodatkowy
napis nie pojawiał się nigdy. W tym celu
przygotujemy skrypt (plik .reg) o treści jak na
rysunku poniżej.
Wartość binarna przywracająca napis ma
standardową postać: 1e 00 00 00
Przyspieszanie dostępu do menu i list
rozwijanych
Gdy klikamy na przycisk Start a następnie
przeciągamy kursor na pozycję ze strzałką,
wywołujemy na ekran podmenu. Za każdym
razem musimy jednak chwilę odczekać
zanim ujrzymy jego zawartość na
ekranie. To może być denerwujące. Z tej
animacji pozwoli nam zrezygnować skrypt
po prawej. Standardowo nie ma w Rejestrze
tej wartości.