Anatomia Rejestru i podstawy edycji O Rejestrze Windows miałam juŝ okazję pisać, skupiając się na problemie jego optymalizacji i niektórych modyfikacjach, pozwalających na indywidualne dostosowanie systemu. Dostrzegam jednak pewien błąd, jakim było pominięcie podstawowych informacji o strukturze Rejestru i jego składnikach. Na ile pozwala moja praktyka chciałabym ten błąd naprawić. Z całą pewnością nie wyjaśnię wszystkiego. Mam jednak nadzieję, Ŝe podejmując ten temat uchylę nieco tajemnic i dodam więcej odwagi tym, którzy dopiero zaczynają tę przygodę. Mówiąc ogólnie - 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 wbudowa ne w Windows narzędzie o nazwie Edytor Rejestru. Nie moŝna jednak dostać się do niego bezpośrednio z pozio mu menu Start. To niejako forma zabezpieczenia przed przypadkowym dostępem niedoświadczonego uŝytkownika. Niestety - jak wielokrotnie wspominałam usuwanie 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 (tę stronę przygotowuję korzystając z systemu XP), 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" (rys. powyŝej). ŚcieŜka dostępu do danej wartości wyświetlana jest na pasku stanu edytora (rys. poniŝej). Rejestr jest zatem podzielony na 5 lub 6 zasadniczych kluczy. Spróbujmy się teraz przyjrzeć ich przeznaczeniu. zawiera informacje o wszystkich skojarzeniach plików, skrótach i innych elementach interfejsu uŝytkownika jak menu konteksto- we. Jest to inna nazwa gałęzi klucza HKEY_LOCAL_MACHINE. to alias podgałęzi klucza 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. 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. zawiera indywidualne ustawienia kaŝdego z uŝytkowników kom- putera jest aliansem podgałęzi klucza HKEY_LOCAL_MACHINE i pokazuje aktualną konfigurację sprzętową komputera. jest wyodrębnionym jedynie w systemach linii Windows 9x alia- sem 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łączo ny. 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 inter- fejsu i w ten sposób zindywidualizować swoje ustawie nia, 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. Na kolejnej stronie sporządzimy 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. Jak to zrobić? - z pewnością podpowiem. 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 wybieramy "Rejestr" i polecenie "Eksportuj plik Rejestru". W oknie, które się pojawi, wpisujemy nazwę pliku (ja oznaczyłam go uŝywając daty) oraz zaznaczamy pole "Wszystko". Jak widać na przykładowym rysunku, 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: Wyobraźmy sobie, Ŝe modyfikując re- jestr dokonaliśmy usunięcia opcji "Wylo- guj" z menu Start. W tym celu zmieni- liśmy odpowiednią wartość DWORD w kluczu HKEY_CURRENT_USER (jak? - kliknij). Komuś, kto narzekał równieŝ na nieprzydatność tej funkcji chcemy zapro- ponować identyczną modyfikację. Zamiast tłumaczenia zawiłości tego pro- cesu chcemy pomóc udostępniając kopię odpowiedniego klucza rejestru. Zaznaczając w edytorze klucz (ścieŝka oznaczona na niebiesko) przygotowaliś- my plik log.reg. Zgrywając go na dyskiet kę 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ŝy- my, Ŝ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ć znacz- nie 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 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. (wartość logiczna 1 oznacza "wykonaj polecenie" - nie pokazuj Wartość ciągu zawiera po znaku równości dane w cudzysłowie np: (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: funkcji automatycznego uruchamiania krąŝków - autorun. (ta konkretna wartość decyduje o 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. A teraz zachęcam do eksperymentowania. JeŜeli posiadacie jeszcze jakieś tricki związane z Rejestrem, albo uzyskacie ciekawe i przydatne efekty własnych doświadczeń - napiszcie do mnie. Chętnie je dołączę, oczywiście nie zapominając o Autorze.