Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Anche se My.Computer.Registry
deve soddisfare le esigenze di base quando si esegue la programmazione nel Registro di sistema, è anche possibile usare le Registry classi e RegistryKey nello Microsoft.Win32 spazio dei nomi di .NET.
Chiavi nella classe del Registro di sistema
La Registry classe fornisce le chiavi del Registro di sistema di base che possono essere usate per accedere alle sottochiavi e ai relativi valori. Le chiavi di base sono di sola lettura. Nella tabella seguente sono elencate e descritte le sette chiavi esposte dalla Registry classe .
chiave | Descrizione |
---|---|
ClassesRoot | Definisce i tipi di documenti e le proprietà associate a tali tipi. |
CurrentConfig | Contiene informazioni di configurazione hardware non specifiche dell'utente. |
CurrentUser | Contiene informazioni sulle preferenze utente correnti, ad esempio le variabili di ambiente. |
DynData | Contiene dati dinamici del Registro di sistema, ad esempio quelli usati dai driver di dispositivo virtuale. |
LocalMachine | Contiene cinque sottochiavi (Hardware, SAM, Sicurezza, Software e Sistema) che contengono i dati di configurazione per il computer locale. |
PerformanceData | Contiene informazioni sulle prestazioni per i componenti software. |
Users | Contiene informazioni sulle preferenze utente predefinite. |
Importante
È più sicuro scrivere dati nell'utente corrente (CurrentUser) rispetto al computer locale (LocalMachine). Una condizione in genere nota come "squatting" si verifica quando la chiave che si sta creando è stata creata in precedenza da un altro processo, possibilmente dannoso. Per evitare che ciò si verifichi, usare un metodo, ad esempio GetValue, che restituisce Nothing
se la chiave non esiste già.
Lettura di un valore dal Registro di sistema
Nel codice seguente viene illustrato come leggere una stringa da 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
Il codice seguente legge, incrementa e quindi scrive una stringa in 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