Procedura: creare una chiave del Registro di sistema e impostarne il valore in Visual Basic
Il metodo CreateSubKey dell'oggetto My.Computer.Registry consente di creare una chiave del Registro di sistema.
Procedura
Per creare una chiave del Registro di sistema
Utilizzare il metodo CreateSubKey specificando l'hive in cui inserire la chiave, nonché il nome della chiave. Per il parametro Subkey non viene effettuata distinzione tra maiuscole e minuscole. Nell'esempio che segue viene creata la chiave del Registro di sistema MyTestKey al di sotto di HKEY_CURRENT_USER.
My.Computer.Registry.CurrentUser.CreateSubKey("MyTestKey")
Per creare una chiave del Registro di sistema e impostare un valore al suo interno
Utilizzare il metodo CreateSubkey specificando l'hive in cui inserire la chiave, nonché il nome della chiave. Nell'esempio che segue viene creata la chiave del Registro di sistema MyTestKey al di sotto di HKEY_CURRENT_USER.
My.Computer.Registry.CurrentUser.CreateSubKey("MyTestKey")
Impostare il valore con il metodo SetValue. Nell'esempio che segue viene impostato il valore stringa " MyTestKeyValue" su "This is a test value".
My.Computer.Registry.SetValue("HKEY_CURRENT_USER\MyTestKey", "MyTestKeyValue", "This is a test value.")
Esempio
Nell'esempio che segue viene creata la chiave del Registro di sistema MyTestKey al di sotto di HKEY_CURRENT_USER, 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 efficiente
Esaminare la struttura del Registro di sistema per individuare un percorso adatto 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à, quindi aggiungere i valori del Registro di sistema alla chiave della società.
Durante la lettura del Registro di sistema da un'applicazione Web, l'utente corrente dipende dall'autenticazione e dalla rappresentazione implementate nell'applicazione Web.
È più sicuro scrivere i dati nella cartella dell'utente (CurrentUser) anziché nel computer locale (LocalMachine).
Quando si crea un valore del Registro di sistema, è necessario decidere come procedere nel caso in cui tale valore esista già. È possibile che un altro processo, forse dannoso, abbia già creato il valore e possa accedervi. I dati collocati nel valore del Registro di sistema sono disponibili per altri processi. Per evitare tale situazione, utilizzare il metodo GetValue. che restituisce Nothing se la chiave non esiste già.
Memorizzare come testo nel Registro di sistema informazioni riservate, quali le password, può presentare dei rischi, anche se la chiave del Registro di sistema è protetta da elenchi di controllo di accesso (ACL, Access Control List).
Le seguenti condizioni possono generare un'eccezione:
Il nome della chiave è Nothing (ArgumentNullException).
L'utente non dispone di autorizzazioni per la creazione delle 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
Per eseguire questo processo, l'assembly richiede un livello di privilegio garantito dalla classe RegistryPermission. Se viene eseguito in un contesto ad affidabilità parziale, il processo potrebbe generare un'eccezione a causa dell'insufficienza di privilegi. Allo stesso modo, l'utente deve disporre degli ACL corretti per la creazione o la scrittura nelle impostazioni. Un'applicazione locale che dispone dell'autorizzazione di sicurezza per l'accesso di codice potrebbe ad esempio non disporre dell'autorizzazione del sistema operativo. Per ulteriori informazioni, vedere Nozioni fondamentali sulla sicurezza per l’accesso al codice.
Vedere anche
Attività
Risoluzione dei problemi: modifica del Registro di sistema (Visual Basic)
Riferimenti
Concetti
Attività comuni del Registro di sistema (Visual Basic)
Nozioni fondamentali sulla sicurezza per l’accesso al codice