Condividi tramite


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

  • Usare il metodo CreateSubKey specificando l'hive in cui inserire la chiave, nonché il nome della chiave. Per il parametro Subkey non esiste distinzione tra maiuscole e minuscole. Nell'esempio che segue viene creata la chiave del Registro di sistema MyTestKey in HKEY_CURRENT_USER.

    My.Computer.Registry.CurrentUser.CreateSubKey("MyTestKey")
    

Per creare una chiave del Registro di sistema e impostarne il valore

  1. Usare 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 in HKEY_CURRENT_USER.

    My.Computer.Registry.CurrentUser.CreateSubKey("MyTestKey")
    
  2. Impostare il valore con il metodo SetValue. In questo esempio 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 in HKEY_CURRENT_USER e il valore stringa MyTestKeyValue viene impostato 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. Può essere ad esempio necessario 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à stessa.

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 inseriti nel valore del Registro di sistema sono disponibili per altri processi. Per evitare che ciò accada, usare il metodo GetValue. Restituisce Nothing se la chiave non esiste.

Archiviare 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 di .NET Framework

Per eseguire questo processo, l'assembly richiede un livello di privilegio concesso dalla classe RegistryPermission. Se viene eseguito in un contesto parzialmente attendibile, il processo potrebbe generare un'eccezione a causa di privilegi insufficienti. Allo stesso modo, l'utente deve disporre degli ACL corretti per la creazione o la scrittura nelle impostazioni. Ad esempio, un'applicazione locale che ha l'autorizzazione di sicurezza dall'accesso di codice potrebbe non avere l'autorizzazione del sistema operativo. Per altre informazioni, vedere Code Access Security Basics.

Nota

La sicurezza dall'accesso al codice (CAS) è 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 alla CAS. Gli sviluppatori devono cercare mezzi alternativi per eseguire attività di sicurezza.

Vedi anche