Registr systému Windows
Základní informace Co je to registr Windows? Databáze uchovávající nastavení a možnosti systému Nastavení hardware Nastavení programů operačního systému Nastavení uživatelských programů Uživatelská nastavení
Základní informace Příklady Nastavení hardware Seznam aktuálně používaného HW Verze ovladačů Umístění ovladačů Nastavení uživatelského SW Nejrůznější informace o programu Verze programu Pracovní adresář Šířka sloupce panelu v okně programu
Historie Náhrada za INI soubory Poprvé pro Windows 95 Původní „databáze“ nastavení programů a OS Zvlášť pro každý program Několik programů pro OS control.ini system.ini win.ini Problematická údržba Poprvé pro Windows 95
Členění Dva základní prvky Data nesena: Klíč (key) Hodnota (value) Někdy označován jako větev Hodnota (value) Data nesena: Zejména hodnotami Názvem klíče Přítomností klíče
Klíč Alternativa složek v souborovém systému Obsahuje podklíče nebo hodnoty Hierarchické struktura HKEY_CURRENT_USER\Software\ BlueJ\BlueJ\2.1.3 Speciální typ tzv. kořenový klíč (root key) Alternativa diskových jednotek
Hodnota Alternativa souborů v souborovém systému Dvojice název – data Nejčastější typy: REG_SZ: Řetězcová hodnota REG_BINARY: Binární hodnota REG_DWORD: Číslo od 0 do 232-1 REG_EXPAND_SZ: Řetězcová hodnota umožňující zápis proměnných prostředí
Hodnota Příklady typů: REG_SZ: http://www.seznam.cz/ REG_BINARY: 01 00 00 00 REG_DWORD: 0x00000001 (1) REG_EXPAND_SZ: %programfiles%\Internet Explorer
Kořenový klíč 6 kořenových klíčů: HKEY_CLASSES_ROOT (HKCR) HKEY_CURRENT_USER (HKCU) HKEY_LOCAL_MACHINE (HKLM) HKEY_USERS (HKU) HKEY_CURRENT_CONFIG (HKCC) HKEY_DYN_DATA
HKEY_CLASSES_ROOT Informace o registrovaných aplikacích Asociování souborů Soubory typu html se pro prohlížení otvírají v Mozilla Firefox Info o OLE propojeních Úprava grafu z MS Excel v MS PowerPoint Přehrávaní videa v Mozilla Firefox Ikony typů souborů Kompilace klíčů HKCU\Software\Classes a HKLM\Software\Classes (od Win 2000)
HKEY_CLASSES_ROOT
HKEY_CURRENT_USER Nastavení aktuálního uživatele Odkaz do HKU do větve daného uživatele Nejzajímavější část registru Uživatelské nastavení programů Větev HKCU/Software Typicky velikost okna při posledním spuštění Uživatelské nastavení systému Větev HKCU/Control Panel
HKEY_CURRENT_USER
HKEY_LOCAL_MACHINE Nastavení počítače a systému Pro editaci nutná administrátorská práva Číst mohou všichni uživatelé Nejzajímavější větev Software Nastavení programů Většina hodnot tvořena při instalaci programů Typicky jazyk instalace a cesta ke knihovnám
HKEY_LOCAL_MACHINE
HKEY_USERS Nastavení všech aktivně načtených uživatelů Každý uživatel má samostatnou větev Defaultní nastavení pro nové uživatele Většinou načtena jen větev přihlášených uživatelů a větev defaultního nastavení
HKEY_CURRENT_CONFIG Informace o HW konfiguraci Informace vytvářeny při startu OS Odkaz do HKLM\System\ CurrentControlSet\Hardware Profiles \Current
Umístění dat v souborech HKEY_CURRENT_USER V souborech NTUSER.DAT a USRCLASS.DAT Umístěny ve složce Documents and Settings uživatele Migrují společně s uživatelem HKEY_LOCAL_MACHINE V souborech SAM, SECURITY, SOFTWARE a SYSTEM Umístěny ve složce %SystemRoot%\System32\config (%SystemRoot% značí typicky C:\Windows)
Umístění dat v souborech
Prohlížení a úprava Prohlížet může každý uživatel Prohlížení je bezpečné Změny v registrech nebezpečné Nemusí fungovat daný program nebo celý OS Vždy se doporučuje záloha před změnami Program Editor registru Specializované nástroje Podpora v programovacích jazycích
Editor registru Spuštění Start Spustit regedit.exe Vlevo panel se stromem klíčů Vpravo panel se seznamem hodnot Možnost vyhledávání Možnost měnit hodnoty nebo celé klíče Uživatel musí mít příslušná práva Možnost importu a exportu klíčů Šikovné pro zálohování
Editor registru
Specializované nástroje Umožňují změnu v některých částech registru Mění vzhled pracovní plochy,… Přidávají nebo odebírají automaticky spouštěné aplikace Uživatel ani netuší, že pracuje s registry Např. TweakUI Nástroje na čištění registrů Odstraňují nepoužívané klíče Např. CCleaner, Registry Mechanics Vždy dobré nechat udělat zálohu registru
Specializované nástroje
Programovací jazyky Umožňují základní operace s registry Příklad v C#.NET: using Microsoft.Win32; RegistryKey klic = Registry.CurrentUser.OpenSubKey(nazevKlice); string puvodniHodnota = klic.GetValue(nazevHodnoty); Klic.SetValue(nazevHodnoty, novaHodnota);
.REG soubory Textové soubory Uchovávají klíče a hodnoty registru Vytvoření Ruční Exportem z Editoru registru nebo jiného programu Použití Po spuštění souboru se klíče automaticky naimportují do registru Šikovné na zálohování registru
REG soubory Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run] „SoundMan“=„SOUNDMAN.EXE“
Výhody a nevýhody (oproti INI souborům) Různé typy uchovávaných dat (text, číslo, …) Odlišení nastavení pro celý počítač a pro uživatele Standardizace přístupu k datům Možnost síťové správy registrů Snadná záloha Export do textových .REG souborů a import z nich Individuální nastavení pro každého uživatele
Výhody a nevýhody (oproti INI souborům) Problematická záloha nastavení pro danou aplikaci Nemožnost práce s registry v některých program. jazycích Některé aplikace při odinstalaci po sobě neuklidí stopy v registrech Překážka používání aplikací jako portable Aplikacím na jiném PC chybí vazby do registru Množství záznamů v registru zpomaluje systém
Zajímavé příklady Automatické spouštění aplikací po startu OS HKLM\Software\Microsoft\Windows \CurrentVersion\Run Nebo HKCU\Software\Microsoft\Windows \CurrentVersion\Run Přidat hodnotu nazev_aplikace typu REG_SZ a nastavit ji na „cesta k aplikaci“
Zajímavé příklady Odstranění šipek u zástupců HKCR\lnkfile HKCR\piffile V obou případech odstranit (přejmenovat) hodnotu IsShortcut a restartovat PC Změna cesty k systémovým složkám Například přemístění složky Dokumenty HKCU\Software\Microsoft\CurrentVersion\Explorer\ ShellFolders
Zajímavé příklady Změna pozadí plochy HKCC\Control Panel\Desktop Hodnotu Wallpaper nastavit na cestu k obrázku Změna názvu okna MS Internet Exploreru HKCU\Software\Microsoft\Internet Explorer\Main Přidat hodnotu Window Title jako REG_SZ a vložit požadovaný název (čeština podporována)