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 CreateSubKey
metodo dell'oggetto può essere utilizzato per creare una chiave del My.Computer.Registry
Registro di sistema.
Procedimento
Per creare una chiave del Registro di sistema
Usare il
CreateSubKey
metodo , specificando l'hive in cui inserire la chiave e il nome della chiave. Il parametroSubkey
non fa distinzione tra maiuscole e minuscole. In questo esempio viene creata la chiaveMyTestKey
del Registro di sistema in HKEY_CURRENT_USER.My.Computer.Registry.CurrentUser.CreateSubKey("MyTestKey")
Per creare una chiave del Registro di sistema e impostarvi un valore
Usare il
CreateSubkey
metodo , specificando l'hive in cui inserire la chiave e il nome della chiave. In questo esempio viene creata la chiaveMyTestKey
del Registro di sistema in HKEY_CURRENT_USER.My.Computer.Registry.CurrentUser.CreateSubKey("MyTestKey")
Impostare il valore con il
SetValue
metodo . In questo esempio viene impostato il valore stringa. "MyTestKeyValue" a "Questo è un valore di prova".My.Computer.Registry.SetValue("HKEY_CURRENT_USER\MyTestKey", "MyTestKeyValue", "This is a test value.")
Esempio
In questo esempio, viene creata la chiave MyTestKey
del Registro di sistema sotto HKEY_CURRENT_USER e quindi viene impostato il valore stringa MyTestKeyValue
su This is a test value
.
My.Computer.Registry.CurrentUser.CreateSubKey("MyTestKey")
' Change MyTestKeyValue to This is a test value.
My.Computer.Registry.SetValue("HKEY_CURRENT_USER\MyTestKey",
"MyTestKeyValue", "This is a test value.")
Programmazione affidabile
Esaminare la struttura del Registro di sistema per trovare una posizione appropriata per la chiave. Ad esempio, è possibile aprire la chiave HKEY_CURRENT_USER\Software dell'utente corrente e creare una chiave con il nome della società. Aggiungere quindi i valori del Registro di sistema alla chiave della tua azienda.
Quando si legge il Registro di sistema da un'applicazione Web, l'utente corrente dipende dall'autenticazione e dalla rappresentazione implementata nell'applicazione Web.
È più sicuro scrivere dati nella cartella utente (CurrentUser) anziché nel computer locale (LocalMachine).
Quando si crea un valore del Registro di sistema, è necessario decidere cosa fare se tale valore esiste già. Un altro processo, forse dannoso, potrebbe aver già creato il valore e avere accesso a esso. Quando si inserisce dati nel valore del Registro di sistema, i dati sono disponibili per l'altro processo. Per evitare questo problema, usare il GetValue metodo . Restituisce Nothing
se la chiave non esiste già.
Non è sicuro archiviare segreti, ad esempio le password, nel Registro di sistema come testo normale, anche se la chiave del Registro di sistema è protetta da ACL (Elenchi di controllo di accesso).
Le condizioni seguenti possono causare un'eccezione:
Il nome della chiave è
Nothing
(ArgumentNullException).L'utente non dispone delle autorizzazioni per creare chiavi del Registro di sistema (SecurityException).
Il nome della chiave supera il limite di 255 caratteri (ArgumentException).
La chiave è chiusa (IOException).
La chiave del Registro di sistema è di sola lettura (UnauthorizedAccessException).
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.