Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
I když by My.Computer.Registry měl splnit vaše základní potřeby při práci s registrem, můžete také použít třídy Registry a RegistryKey v rámci oboru názvů .NET.
Klíče ve třídě Registry
Třída Registry poskytuje základní klíče registru, které lze použít pro přístup k podklíčům a jejich hodnotám. Samotné základní klíče jsou jen pro čtení. Následující tabulka uvádí a popisuje sedm klíčů vystavených Registry třídou.
| Klíč | Popis |
|---|---|
| ClassesRoot | Definuje typy dokumentů a vlastnosti přidružené k těmto typům. |
| CurrentConfig | Obsahuje informace o konfiguraci hardwaru, které nejsou specifické pro uživatele. |
| CurrentUser | Obsahuje informace o aktuálních předvolbách uživatele, jako jsou například systémové proměnné. |
| DynData | Obsahuje dynamická data registru, jako jsou například data používaná ovladači virtuálních zařízení. |
| LocalMachine | Obsahuje pět podklíčů (Hardware, SAM, Security, Software a System), které obsahují konfigurační data místního počítače. |
| PerformanceData | Obsahuje informace o výkonu softwarových komponent. |
| Users | Obsahuje informace o výchozích uživatelských předvolbách. |
Důležité
Je bezpečnější zapisovat data aktuálnímu uživateli (CurrentUser) než do místního počítače (LocalMachine). Podmínka, která se obvykle označuje jako "squatting", nastane, když klíč, který vytváříte, již dříve vytvořil jiný, potenciálně škodlivý proces. Chcete-li tomu zabránit, použijte metodu, například GetValue, která vrátí Nothing , pokud klíč ještě neexistuje.
Čtení hodnoty z registru
Následující kód ukazuje, jak číst řetězec 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, inkrementuje a poté zapíše řetězec do 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