Postupy: Načtení hodnoty z klíče registru v jazyce Visual Basic
GetValue
Metodu objektu My.Computer.Registry
lze použít ke čtení hodnot v registru Systému Windows.
Pokud klíč Software\MyApp v následujícím příkladu neexistuje, vyvolá se výjimka. Pokud výraz ValueName
"Name" v následujícím příkladu neexistuje, Nothing
vrátí se.
Metodu GetValue
lze také použít k určení, zda daná hodnota existuje v určitém klíči registru.
Když kód načte registr z webové aplikace, určuje aktuální uživatel ověřování a zosobnění implementované ve webové aplikaci.
Čtení hodnoty z klíče registru
Použijte metodu
GetValue
, zadáním cesty a názvu) načtěte hodnotu z klíče registru. Následující příklad přečte hodnotuName
zHKEY_CURRENT_USER\Software\MyApp
a zobrazí ji v poli se zprávou.Dim readValue = My.Computer.Registry.GetValue( "HKEY_CURRENT_USER\Software\MyApp", "Name", Nothing) MsgBox("The value is " & readValue)
Tento příklad kódu je také k dispozici jako fragment kódu IntelliSense. V nástroji pro výběr fragmentu kódu se nachází v registru operačního systému > Windows. Další informace najdete v tématu Fragmenty kódu.
Určení, jestli v klíči registru existuje hodnota
GetValue
K načtení hodnoty použijte metodu. Následující kód zkontroluje, jestli hodnota existuje, a pokud ne, vrátí zprávu.If My.Computer.Registry.GetValue("HKEY_LOCAL_MACHINE\TestApp", "TestValue", Nothing) Is Nothing Then MsgBox("Value does not exist.") End If
Robustní programování
Registr obsahuje klíče nejvyšší úrovně nebo kořenového adresáře, které se používají k ukládání dat. Například kořenový klíč HKEY_LOCAL_MACHINE slouží k ukládání nastavení na úrovni počítače používaných všemi uživateli, zatímco HKEY_CURRENT_USER slouží k ukládání dat specifických pro jednotlivé uživatele.
Následující podmínky mohou způsobit výjimku:
Název klíče je
Nothing
(ArgumentNullException).Uživatel nemá oprávnění ke čtení z klíčů registru (SecurityException).
Název klíče překračuje limit 255 znaků (ArgumentException).
Zabezpečení rozhraní .NET Framework
Ke spuštění tohoto procesu vyžaduje sestavení úroveň oprávnění udělenou RegistryPermission třídou. Pokud běžíte v kontextu částečné důvěryhodnosti, může proces vyvolat výjimku kvůli nedostatečným oprávněním. Podobně musí mít uživatel správné seznamy ACL pro vytváření nebo zápis do nastavení. Například místní aplikace, která má oprávnění zabezpečení přístupu kódu, nemusí mít oprávnění operačního systému. Další informace naleznete v tématu Základy zabezpečení přístupu kódu.
Poznámka:
Zabezpečení přístupu kódu (CAS) je zastaralé ve všech verzích rozhraní .NET Framework a .NET. Nedávné verze rozhraní .NET nedotknou poznámek CAS a generují chyby, pokud se používají rozhraní API související s casem. Vývojáři by měli hledat alternativní způsoby provádění úloh zabezpečení.