Condividi tramite


Procedura: Creare una chiave del Registro di sistema e impostarne il valore in Visual Basic

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 parametro Subkey non fa distinzione tra maiuscole e minuscole. In questo esempio viene creata la chiave MyTestKey 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

  1. Usare il CreateSubkey metodo , specificando l'hive in cui inserire la chiave e il nome della chiave. In questo esempio viene creata la chiave MyTestKey del Registro di sistema in HKEY_CURRENT_USER.

    My.Computer.Registry.CurrentUser.CreateSubKey("MyTestKey")
    
  2. 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:

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.

Vedere anche