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.
Il GetValue metodo dell'oggetto My.Computer.Registry può essere utilizzato per leggere i valori nel Registro di sistema di Windows.
Se la chiave "Software\MyApp" nell'esempio seguente non esiste, viene generata un'eccezione. Se il ValueName, "Name" nell'esempio seguente, non esiste, viene restituito Nothing.
Il GetValue metodo può essere usato anche per determinare se un determinato valore esiste in una chiave del Registro di sistema specifica.
Quando il codice legge il Registro di sistema da un'applicazione Web, l'utente corrente viene determinato dall'autenticazione e dalla rappresentazione implementata nell'applicazione Web.
Per leggere un valore da una chiave del Registro di sistema
Usare il
GetValuemetodo , specificando il percorso e il nome) per leggere un valore dalla chiave del Registro di sistema. L'esempio seguente legge il valoreNamedaHKEY_CURRENT_USER\Software\MyAppe lo visualizza in una finestra di messaggio.Dim readValue = My.Computer.Registry.GetValue( "HKEY_CURRENT_USER\Software\MyApp", "Name", Nothing) MsgBox("The value is " & readValue)
Questo esempio di codice è disponibile anche come frammento di codice IntelliSense. Nella selezione dei frammenti di codice, si trova nel Registro di sistema operativo Windows>. Per altre informazioni, vedere Frammenti di Codice.
Per determinare se un valore esiste in una chiave del Registro di sistema
Utilizzare il
GetValuemetodo per recuperare il valore. Il codice seguente controlla se il valore esiste e restituisce un messaggio in caso contrario.If My.Computer.Registry.GetValue("HKEY_LOCAL_MACHINE\TestApp", "TestValue", Nothing) Is Nothing Then MsgBox("Value does not exist.") End If
Programmazione affidabile
Il Registro di sistema contiene chiavi di primo livello, o radice, usate per archiviare i dati. Ad esempio, la chiave radice HKEY_LOCAL_MACHINE viene usata per archiviare le impostazioni a livello di computer usate da tutti gli utenti, mentre HKEY_CURRENT_USER viene usata per archiviare i dati specifici di un singolo utente.
Le condizioni seguenti possono causare un'eccezione:
Il nome della chiave è
Nothing(ArgumentNullException).L'utente non dispone delle autorizzazioni per la lettura dalle chiavi del Registro di sistema (SecurityException).
Il nome della chiave supera il limite di 255 caratteri (ArgumentException).
Sicurezza di .NET Framework
Per eseguire questo processo, l'assembly richiede un livello di privilegio concesso dalla RegistryPermission classe . Se si esegue in un contesto a fiducia parziale, il processo potrebbe generare un'eccezione a causa di privilegi insufficienti. Analogamente, l'utente deve disporre degli elenchi di controllo di accesso corretti per la creazione o la scrittura nelle impostazioni. Ad esempio, un'applicazione locale che dispone dell'autorizzazione di sicurezza per l'accesso al codice potrebbe non disporre dell'autorizzazione del sistema operativo. Per altre informazioni, vedere Nozioni di Base sulla Sicurezza dell'Accesso al Codice.
Annotazioni
La sicurezza dall'accesso al codice è stata deprecata in tutte le versioni di .NET Framework e .NET. Le versioni recenti di .NET non rispettano le annotazioni CAS e generano errori se vengono usate API correlate a CAS. Gli sviluppatori devono cercare mezzi alternativi per eseguire attività di sicurezza.