Čtení a zápis do registru pomocí oboru názvů Microsoft.Win32 (Visual Basic)
Přestože My.Computer.Registry by mělo zahrnovat základních potřeb při programování proto registrům, můžete také použít Registry a RegistryKey třídy v obor názvů Microsoft.Win32 .NET Framework.
Klíče v třídě registru
Třída Registry dodává základní klíče registrů, které můžou být použity pro přístup k pod klíčům a jejich hodnotám. Základní klíče jsou jen pro čtení. V následující tabulce je uvedeno a popsáno sedm klíčů zprostředkovávaných třídou Registry.
Klíč |
Popis |
---|---|
Definuje typy dokumentů a vlastnosti spojené s těmito typy. |
|
Obsahuje informace o konfigurace hardware, který není specifický pro uživatel. |
|
Obsahuje informace o aktuálních uživatelských předvolbách, například proměnné prostředí. |
|
Obsahuje dynamické data registrů, jako je například použité virtuální ovladače zařízení. |
|
Obsahuje pět podklíčů (hardware, SAM, zabezpečení, software a systém), které obsahují konfigurační data pro místní počítač. |
|
Obsahuje informace o výkon pro softwarové součásti. |
|
Obsahuje informace o výchozích uživatelských předvolbách. |
Poznámka k zabezpečení |
---|
Je bezpečnější zapsat data do aktuálního uživatel (CurrentUser) než k místnímu počítači (LocalMachine). Případ, který nastane když je vámi vytvářený klič již vytvořen jiným, možná nebezpečným procesem, se nazývá "squatting". Chcete-li tomuto zabránit, použít například metodu GetValue, která vrátí Nothing pokud klíč již ještě neexistuje. |
Čtení hodnot z registru
Následující kód ukazuje, jak číst řetězce z HKEY_CURRENT_USER.
Dim regVersion As Microsoft.Win32.RegistryKey
Dim keyValue = "Software\\Microsoft\\TestApp\\1.0"
regVersion = Microsoft.Win32.Registry.CurrentUser.OpenSubKey(keyValue, False)
Dim intVersion As Integer = 0
If regVersion IsNot Nothing Then
intVersion = regVersion.GetValue("Version", 0)
regVersion.Close()
End If
Následující kód načte, zvětší hodnotu a poté zapíše řetězec HKEY_CURRENT_USER.
Dim regVersion = Microsoft.Win32.Registry.CurrentUser.OpenSubKey(
"SOFTWARE\\Microsoft\\TestApp\\1.0", True)
If regVersion Is Nothing Then
' Key doesn't exist; create it.
regVersion = Microsoft.Win32.Registry.CurrentUser.CreateSubKey(
"SOFTWARE\\Microsoft\\TestApp\\1.0")
End If
Dim intVersion As Integer = 0
If regVersion IsNot Nothing Then
intVersion = regVersion.GetValue("Version", 0)
intVersion = intVersion + 1
regVersion.SetValue("Version", intVersion)
regVersion.Close()
End If
Viz také
Úkoly
Poradce při potížích: Zpracování registru (Visual Basic)
Odkaz
Koncepty
Přehled strukturovaného zpracování výjimek pro jazyk Visual Basic
Běžné úkoly registru (Visual Basic)