Condividi tramite


Procedura: creare una chiave del Registro di sistema e impostarne i valori in Visual Basic

Aggiornamento: novembre 2007

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

  1. 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")
    
  2. 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:

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 protezione dall'accesso di codice potrebbe ad esempio non disporre dell'autorizzazione del sistema operativo. Per ulteriori informazioni, vedere Nozioni fondamentali sulla protezione dall’accesso di codice.

Vedere anche

Attività

Risoluzione dei problemi: modifica del Registro di sistema

Procedura dettagliata: creazione di una chiave del Registro di sistema e modifica dei relativi valori

Concetti

Attività comuni del Registro di sistema

Nozioni fondamentali sulla protezione dall’accesso di codice

Riferimenti

Oggetto My.Computer.Registry

Proprietà My.Computer.Registry.CurrentUser

CreateSubKey