C Registry Windows Centrum pro virtuln a modern

  • Slides: 18
Download presentation
C# - Registry Windows Centrum pro virtuální a moderní metody a formy vzdělávání na

C# - Registry Windows Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T. G. Masaryka, Kostelec nad Orlicí

Co jsou registry ? � Registry (přesněji Windows Registry) jsou databází, do které si

Co jsou registry ? � Registry (přesněji Windows Registry) jsou databází, do které si Windows ukládají všechna svá nastavení. V registrech najdeme: � nastavení týkající se veškerého používaného hardwaru a softwaru � nastavení týkající se vzhledu plochy, konkrétních uživatelů atd. Jakmile uživatel provede jakoukoliv změnu v systému prostřednictvím Ovládacích panelů, změnu v asociování souborů, systémových politikách nebo v instalovaném softwaru, tak všechny tyto změny se promítnou zpětně do registrů. � Windows Registry mají tedy pro chod systému zcela zásadní význam.

Příkaz - regedit

Příkaz - regedit

Uložení DB registry a jejich struktura Uložení souborů s údaji DB registry se mírně

Uložení DB registry a jejich struktura Uložení souborů s údaji DB registry se mírně liší v závislosti na verzi systému, který používáte, v zásadě je v několika souborech (security. dat, sam. dat, default. dat , …) v systémovém adresáři viz. obr. � Základní strom tvoří šest hlavních "větví" označovaných jako "Handle keys". Jsou to � � HKEY_LOCAL_MACHINE � HKEY_CLASSES_ROOT � HKEY_CURRENT_CONFIG � HKEY_DYN_DATA � HKEY_USERS � HKEY_CURRENT_USER

� HKEY_LOCAL_MACHINE � informace vztahující se k typu hardwaru počítače a softwaru, který je

� HKEY_LOCAL_MACHINE � informace vztahující se k typu hardwaru počítače a softwaru, který je na něm provozován. � informace týkající se bezpečnosti, uživatelských práv a sdílení. � HKEY_CLASSES_ROOT informace nezbytné pro běh � HKEY_CURRENT_CONFIG aplikací: � přípony souborů a asociace mezi aplikacemi a dokumenty � Jména všech ovladačů � řetězce používané jako ukazatele na text, který reprezentují � čísla CLASS ID � informace vztahující se k DDE a OLE � ikony používané pro aplikace a dokumenty � HKEY_CLASSES_ROOT je součástí HKEY_LOCAL_MACHINE. informace se do HKEY_CLASSES_ROOT mapují z HKEY_LOCAL_MACHINESOFTWARECLASSES. � aktuální hardwarový profil. � data pro tento profil se mapují z HKEY_LOCAL_MACHINE. Pokud systém používá pouze jeden hardwarový profil, což je běžné třeba ve Win 95, tak obsah HKEY_CURRENT_CONFIG je stejný jako obsah HKEY_LOCAL_MACHINEConfig01.

� HKEY_DYN_DATA informace používané pro řízení hardwaru. Tyto informace se dynamicky zjišťují a nastavují

� HKEY_DYN_DATA informace používané pro řízení hardwaru. Tyto informace se dynamicky zjišťují a nastavují při startu počítače. Jsou uloženy v RAM a nezapisují se na disk. � HKEY_USERS informace o standardních uživatelských nastaveních, uživatelích systému a o aktuálně přihlášeném uživateli. � HKEY_CURRENT_USER informace o aktuálně přihlášeném uživateli. Příslušné informace se do HKEY_CURRENT_USER mapují z HKEY_USERS.

Problémy s registry a jejich řešení � jakékoliv jejich poškození může mít pro celý

Problémy s registry a jejich řešení � jakékoliv jejich poškození může mít pro celý operační systém resp. aplikace v něm nainstalované zcela fatální následky. K poškození registrů může dojít například když: � do systému instalujeme nové aplikace a ovladače � dojde k hardwarové chybě způsobené např. selháním zařízení (disku, paměti apod. ) � často instalujeme a odinstalováváme větší množství aplikací � instalovaná aplikace obsahuje chyby a špatně modifikuje obsah registrů � nastane nevhodný zásah ze strany uživatele Abychom se vyhnuli těmto a podobným problémům, obsahují Windows různé bezpečnostní mechanismy s jejichž pomocí můžeme těmto událostem předcházet nebo je i zcela vyřešit. � Pro různé tipy pro práci s registry můžete využít například http: //registry. winguides. com �

Registry pro vývojáře Jak vidíte, aplikace a celý systém uchovává některá svá nastavení v

Registry pro vývojáře Jak vidíte, aplikace a celý systém uchovává některá svá nastavení v systémové DB. Pokud chcete uložit některé informace důležité např. pro start vaší aplikace je vhodné umět ovládat základní činnost související s prací s touto DB � V zásadě vývojář potřebuje pouze dvě činnosti umět přečíst hodnotu z DB a nebo ji zapsat �

Naše první aplikace – Step by Step Spusťte na vašem počítači regedit. exe, v

Naše první aplikace – Step by Step Spusťte na vašem počítači regedit. exe, v příkazové řádce zadejte regedit � v HKEY_LOCAL_MACHINESOFTWARE vytvořte vlastní klíč a nazvěte ho "My. Test. Reg. Key" � Vytvořte 2 stringové hodnoty uvnitř tohoto uzlu, pojmenujte je "Name" a "Password", a přiřaďte jim stringové hodnoty "Guest", "123456". � Porovnejte s obrázkem �

Step 2 (Metoda pro čtení) � Otevřete C#, vytvořte formulářovou aplikaci „Work. With. Registry“

Step 2 (Metoda pro čtení) � Otevřete C#, vytvořte formulářovou aplikaci „Work. With. Registry“ přidejte do ní class „My. Registry“ a doplňte kód metod pro čtení hodnot z vytvořeného klíče

� Metoda Open. Sub. Key vrací klíč registry, který je zamčený pro editaci, pokud

� Metoda Open. Sub. Key vrací klíč registry, který je zamčený pro editaci, pokud chceme editovat klíč, musíme použít přetíženou metodu Open. Sub. Key, která nebere pouze klíč registry, ale také boolean hodnotu určující zda budeme moci editovat co je uvnitř. Viz. Ukázka z helpu :

Step 3 – (metoda pro vytvoření hodnoty v Registry) Použijeme metodu Create. Sub. Key,

Step 3 – (metoda pro vytvoření hodnoty v Registry) Použijeme metodu Create. Sub. Key, na rozdíl od Open. Sub. Key je ten, že pokud klíč v DB registry neexistuje tak je vytvořen, zatímco Open. Sub. Key vrací NULL pokud klíč není nalezen. � Na klíči, který je vrácen, můžete nadefinovat nové hodnoty, vytvořit nové podklíče a jim vytvořit nové hodnoty a podklíče atd. : �

Step 4 – využití vytvořené třídy a demonstrace její činnosti na formuláři � Vytvořte

Step 4 – využití vytvořené třídy a demonstrace její činnosti na formuláři � Vytvořte formulář s prvky viz. obrázek a pojmenujte je: � btn_Load. Registry_Click � btn_Create. And. Load. Registry � rich. Text. Box. Registry. Values

Doplňte kód formuláře private void btn_Load. Registry_Click(object sender, Event. Args e) { Load. Registry.

Doplňte kód formuláře private void btn_Load. Registry_Click(object sender, Event. Args e) { Load. Registry. Values(); } private void Load. Registry. Values() { //vytvořím instanci třídy My. Registry (lokální) My. Registry my. Reg. Cls = new My. Registry(); //vytvořím řetězcové pole k načtení výsledků, které //vrací metoda Read. My. Test. Reg. Key třídy My. Registry string[] Reg. Values; //vyčistím textbox rich. Text. Box. Registry. Values. Clear(); //načtu do lokální proměnné typu pole řetězců výsledek metody Reg. Values = my. Reg. Cls. Read. My. Test. Reg. Key(); //vrácený výsledek načtu do Rich. Text. Boxu rich. Text. Box. Registry. Values. Lines = Reg. Values; }

� Analogicky doplňte funkčnost druhého tlačítka � Zkontrolujte změny v Registry Windows � Ručně

� Analogicky doplňte funkčnost druhého tlačítka � Zkontrolujte změny v Registry Windows � Ručně změňte hodnotu „Workgroup“ v registry na něco jiného a znovu spusťte program sledujte změny a popište jak program a Vámi naprogramovaná metoda funguje.

Závěr Demo příkladu Naučili jste se základním způsobem pracovat se systémovou DB Windows �

Závěr Demo příkladu Naučili jste se základním způsobem pracovat se systémovou DB Windows � Funkcí a možností jak s uvedenou DB pracovat existuje mnohem více a seznam metod a objektů najdete v helpu vývojového nástroje i s ukázkovými příklady použití � MSDN - Registry v C# Zapamatujte si k čemu tato DB slouží a zamyslete se nad praktickým použitím naší aplikace � DB registry windows hraje důležitou roli u nastavení Vašich aplikací a OS �

ÚKOLY � Dopracujte do vytvořené aplikace metodu objektu My. Registry, která bude mazat vytvořenou

ÚKOLY � Dopracujte do vytvořené aplikace metodu objektu My. Registry, která bude mazat vytvořenou hodnotu „Domain“ � Předělejte metody tak, aby cesta ke klíči tzn. k upravované větvi byla předávána vstupním parametrem � Vytvořte jednoduchou aplikaci na změnu jména a hesla, která využije Vámi vytvořený objekt

Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T. G.

Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T. G. Masaryka, Kostelec nad Orlicí Použité materiály: Kniha: Programujeme profesionálně, nakladatelství WROX, autor: Jay Glynn, … www. wikipedia. com Seriály o programování v jazyce C# : www. živě. cz www. java 2 s. com www. functionx. com www. csharp-station. com www. msdn. com www. bytes. com www. c-sharpcorner. com 18