Sdílet prostřednictvím


Č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

ClassesRoot

Definuje typy dokumentů a vlastnosti spojené s těmito typy.

CurrentConfig

Obsahuje informace o konfigurace hardware, který není specifický pro uživatel.

CurrentUser

Obsahuje informace o aktuálních uživatelských předvolbách, například proměnné prostředí.

DynData

Obsahuje dynamické data registrů, jako je například použité virtuální ovladače zařízení.

LocalMachine

Obsahuje pět podklíčů (hardware, SAM, zabezpečení, software a systém), které obsahují konfigurační data pro místní počítač.

PerformanceData

Obsahuje informace o výkon pro softwarové součásti.

Users

Obsahuje informace o výchozích uživatelských předvolbách.

Poznámka k zabezpečení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

SystemException

ApplicationException

RegistryProxy

Koncepty

Přehled strukturovaného zpracování výjimek pro jazyk Visual Basic

Běžné úkoly registru (Visual Basic)

Zabezpečení a registru (Visual Basic)

Čtení a zápis do registru pomocí mé (Visual Basic)