Il presente articolo è stato tradotto manualmente. Passare il puntatore sulle frasi nell'articolo per visualizzare il testo originale.
Traduzione
Originale
Questo argomento non è stato ancora valutato - Valuta questo argomento

Classe RegistryKey

Rappresenta un nodo a livello di chiave nel Registro di sistema di Windows. Questa classe costituisce un incapsulamento del Registro di sistema.

Spazio dei nomi:  Microsoft.Win32
Assembly:  mscorlib (in mscorlib.dll)
[ComVisibleAttribute(true)]
public sealed class RegistryKey : MarshalByRefObject, 
	IDisposable

Il tipo RegistryKey espone i seguenti membri.

  NomeDescrizione
Proprietà pubblicaHandleOttiene un oggetto SafeRegistryHandle che rappresenta la chiave del Registro di sistema incapsulata dall'oggetto RegistryKey corrente.
Proprietà pubblicaNameRecupera il nome della chiave.
Proprietà pubblicaSubKeyCountRecupera il numero di sottochiavi della chiave corrente.
Proprietà pubblicaValueCountRecupera il numero di valori nella chiave.
Proprietà pubblicaViewOttiene la visualizzazione utilizzata per creare la chiave del Registro di sistema.
In alto
  NomeDescrizione
Metodo pubblicoCloseChiude la chiave e la scarica su disco se il contenuto è stato modificato.
Metodo pubblicoCreateObjRefConsente di creare un oggetto che contiene tutte le informazioni rilevanti necessarie per la generazione del proxy utilizzato per effettuare la comunicazione con un oggetto remoto. (Ereditato da MarshalByRefObject)
Metodo pubblicoCreateSubKey(String)Crea una nuova sottochiave o apre una sottochiave esistente per l'accesso in scrittura.
Metodo pubblicoCreateSubKey(String, RegistryKeyPermissionCheck)Crea una nuova sottochiave o apre una sottochiave esistente per l'accesso in scrittura, utilizzando l'opzione di controllo dell'autorizzazione specificata.
Metodo pubblicoCreateSubKey(String, RegistryKeyPermissionCheck, RegistryOptions)Crea una sottochiave o apre una sottochiave per l'accesso in scrittura, utilizzando le opzioni del Registro di sistema e di verifica delle autorizzazioni specificate.
Metodo pubblicoCreateSubKey(String, RegistryKeyPermissionCheck, RegistrySecurity)Crea una nuova sottochiave o apre una sottochiave esistente per l'accesso in scrittura, utilizzando l'opzione di controllo dell'autorizzazione e la sicurezza del Registro di sistema specificate.
Metodo pubblicoCreateSubKey(String, RegistryKeyPermissionCheck, RegistryOptions, RegistrySecurity)Crea una nuova sottochiave o apre una sottochiave per l'accesso in scrittura, utilizzando l'opzione di verifica delle autorizzazioni, l'opzione del Registro di sistema e la sicurezza del Registro di sistema specificate.
Metodo pubblicoDeleteSubKey(String)Elimina la sottochiave specificata.
Metodo pubblicoDeleteSubKey(String, Boolean)Elimina la sottochiave specificata e specifica se generare un'eccezione se la sottochiave non viene trovata.
Metodo pubblicoDeleteSubKeyTree(String)Elimina in modo ricorsivo una sottochiave e le eventuali sottochiavi figlio.
Metodo pubblicoDeleteSubKeyTree(String, Boolean)Elimina in modo ricorsivo la sottochiave specificata e qualsiasi sottochiave figlio e specifica se generare un'eccezione se la sottochiave non viene trovata.
Metodo pubblicoDeleteValue(String)Elimina il valore specificato dalla chiave.
Metodo pubblicoDeleteValue(String, Boolean)Elimina il valore specificato da questa chiave e specifica se generare un'eccezione se il valore non viene trovato.
Metodo pubblicoDisposeRilascia tutte le risorse utilizzate dall'istanza corrente della classe RegistryKey.
Metodo pubblicoEquals(Object)Determina se l'oggetto Object specificato è uguale all'oggetto Object corrente. (Ereditato da Object)
Metodo protettoFinalize Consente a un oggetto di provare a liberare risorse ed eseguire altre operazioni di pulizia prima che l'oggetto stesso venga reclamato dalla procedura di Garbage Collection. (Ereditato da Object)
Metodo pubblicoFlushScrive nel Registro di sistema tutti gli attributi della chiave aperta specificata.
Metodo pubblicoMembro staticoFromHandle(SafeRegistryHandle)Crea una chiave del Registro di sistema da un handle specificato.
Metodo pubblicoMembro staticoFromHandle(SafeRegistryHandle, RegistryView)Crea una chiave del Registro di sistema da un handle e da un'impostazione di visualizzazione del Registro di sistema specificati.
Metodo pubblicoGetAccessControl()Restituisce la sicurezza del controllo di accesso per la chiave del Registro di sistema corrente.
Metodo pubblicoGetAccessControl(AccessControlSections)Restituisce le sezioni specificate della sicurezza del controllo di accesso per la chiave del Registro di sistema corrente.
Metodo pubblicoGetHashCodeFunge da funzione hash per un determinato tipo. (Ereditato da Object)
Metodo pubblicoGetLifetimeServiceConsente di recuperare l'oggetto servizio di durata corrente per controllare i criteri di durata per l'istanza. (Ereditato da MarshalByRefObject)
Metodo pubblicoGetSubKeyNamesRecupera una matrice di stringhe contenente i nomi delle sottochiavi.
Metodo pubblicoGetTypeOttiene l'oggetto Type dell'istanza corrente. (Ereditato da Object)
Metodo pubblicoGetValue(String)Recupera il valore associato al nome specificato. Restituisce null se la coppia nome/valore non esiste nel Registro di sistema.
Metodo pubblicoGetValue(String, Object)Recupera il valore associato al nome specificato. Se il nome non viene trovato, restituisce il valore predefinito fornito dall'utente.
Metodo pubblicoGetValue(String, Object, RegistryValueOptions)Recupera il valore associato al nome specificato e le opzioni di recupero. Se il nome non viene trovato, restituisce il valore predefinito fornito dall'utente.
Metodo pubblicoGetValueKindRecupera il tipo di dati del Registro di sistema del valore associato al nome specificato.
Metodo pubblicoGetValueNamesRecupera una matrice di stringhe contenente tutti i nomi dei valori associati alla chiave.
Metodo pubblicoInitializeLifetimeServiceConsente di ottenere un oggetto servizio di durata per il controllo dei criteri di durata per l'istanza. (Ereditato da MarshalByRefObject)
Metodo protettoMemberwiseClone()Consente di creare una copia dei riferimenti dell'oggetto Object corrente. (Ereditato da Object)
Metodo protettoMemberwiseClone(Boolean)Crea una copia dei riferimenti dell'oggetto MarshalByRefObject corrente. (Ereditato da MarshalByRefObject)
Metodo pubblicoMembro staticoOpenBaseKeyApre un nuovo oggetto RegistryKey che rappresenta la chiave richiesta nel computer locale con la visualizzazione specificata.
Metodo pubblicoMembro staticoOpenRemoteBaseKey(RegistryHive, String)Apre un nuovo oggetto RegistryKey che rappresenta la chiave richiesta su un computer remoto.
Metodo pubblicoMembro staticoOpenRemoteBaseKey(RegistryHive, String, RegistryView)Apre una nuova chiave del Registro di sistema che rappresenta la chiave richiesta in un computer remoto con la visualizzazione specificata.
Metodo pubblicoOpenSubKey(String)Recupera una sottochiave in sola lettura.
Metodo pubblicoOpenSubKey(String, RegistryKeyPermissionCheck)Recupera la sottochiave specificata per l'accesso in lettura o in lettura/scrittura.
Metodo pubblicoOpenSubKey(String, Boolean)Recupera una sottochiave specificata e specifica se l'accesso in scrittura viene applicato alla chiave.
Metodo pubblicoOpenSubKey(String, RegistryKeyPermissionCheck, RegistryRights)Recupera la sottochiave specificata per l'accesso in lettura o in lettura/scrittura, richiedendo i diritti di accesso specificati.
Metodo pubblicoSetAccessControlApplica la sicurezza del controllo di accesso Windows a una chiave del Registro di sistema esistente.
Metodo pubblicoSetValue(String, Object)Imposta la coppia nome/valore specificata.
Metodo pubblicoSetValue(String, Object, RegistryValueKind)Imposta il valore di una coppia nome/valore nella chiave del Registro di sistema, utilizzando il tipo di dati del Registro di sistema specificato.
Metodo pubblicoToStringRecupera una rappresentazione in forma di stringa della chiave. (Esegue l'override di Object.ToString()).
In alto

Per ottenere un'istanza dell'oggetto RegistryKey, utilizzare uno dei membri statici della classe Registry.

Il Registro di sistema agisce da repository centrale delle informazioni del sistema operativo e delle applicazioni presenti su un computer. È organizzato secondo un formato gerarchico, basato su un ordinamento logico degli elementi contenuti (per gli elementi a livello di base di questa gerarchia, vedere Registry). Al momento dell'archiviazione delle informazioni nel Registro di sistema, selezionare il percorso appropriato in base al tipo di informazioni da archiviare. Assicurarsi di non eliminare le informazioni create da altre applicazioni per non causare comportamenti imprevisti da parte delle stesse e per non influire negativamente sulla propria.

Nel Registro di sistema le chiavi costituiscono le unità base dell'organizzazione e per questo motivo possono essere paragonate alle cartelle di Esplora risorse. Una chiave può contenere sottochiavi, esattamente come una cartella può contenere sottocartelle. Ogni chiave può essere eliminata, purché si disponga delle autorizzazioni appropriate e la chiave non sia una chiave di base o non si trovi al livello direttamente inferiore alle chiavi di base. A ogni chiave possono essere associati più valori (un valore può essere paragonato a un file) che vengono utilizzati per archiviare le informazioni, ad esempio le informazioni su un'applicazione installata sul computer. Ogni valore contiene una particolare informazione che potrà essere recuperata o aggiornata al momento necessario. Ad esempio, è possibile creare un oggetto RegistryKey per la propria società nella chiave HKEY_LOCAL_MACHINE\Software e una sottochiave per ogni applicazione creata dalla società. In ogni sottochiave sono contenute le informazioni specifiche di quell'applicazione, ad esempio impostazioni dei colori, dimensioni e posizione sullo schermo delle finestre o estensioni file riconosciute.

Si noti che le informazioni archiviate nel Registro di sistema possono essere lette da altre applicazioni e da altri utenti, pertanto non devono essere utilizzate per archiviare dati di sicurezza o informazioni critiche sull'applicazione.

Nota di avvisoAttenzione

Non esporre oggetti RegistryKey per evitare che un programma dannoso crei migliaia di sottochiavi o coppie chiave/valore non significative. Ad esempio, non consentire ai chiamanti di immettere valori o chiavi arbitrarie.

A partire da .NET Framework versione 4, la lunghezza di una chiave del Registro di sistema non è più limitata a 255 caratteri.

Nell'esempio di codice riportato di seguito viene illustrato come creare una sottochiave in HKEY_CURRENT_USER, come modificarne il contenuto e come eliminarla.


using System;
using System.Security.Permissions;
using Microsoft.Win32;

class RegKey
{
    static void Main()
    {
        // Create a subkey named Test9999 under HKEY_CURRENT_USER.
        RegistryKey test9999 = 
            Registry.CurrentUser.CreateSubKey("Test9999");
        // Create two subkeys under HKEY_CURRENT_USER\Test9999. The
        // keys are disposed when execution exits the using statement.
        using(RegistryKey 
            testName = test9999.CreateSubKey("TestName"),
            testSettings = test9999.CreateSubKey("TestSettings"))
        {
            // Create data for the TestSettings subkey.
            testSettings.SetValue("Language", "French");
            testSettings.SetValue("Level", "Intermediate");
            testSettings.SetValue("ID", 123);
        }

        // Print the information from the Test9999 subkey.
        Console.WriteLine("There are {0} subkeys under {1}.", 
            test9999.SubKeyCount.ToString(), test9999.Name);
        foreach(string subKeyName in test9999.GetSubKeyNames())
        {
            using(RegistryKey 
                tempKey = test9999.OpenSubKey(subKeyName))
            {
                Console.WriteLine("\nThere are {0} values for {1}.", 
                    tempKey.ValueCount.ToString(), tempKey.Name);
                foreach(string valueName in tempKey.GetValueNames())
                {
                    Console.WriteLine("{0,-8}: {1}", valueName, 
                        tempKey.GetValue(valueName).ToString());
                }
            }
        }

        using(RegistryKey 
            testSettings = test9999.OpenSubKey("TestSettings", true))
        {
            // Delete the ID value.
            testSettings.DeleteValue("id");

            // Verify the deletion.
            Console.WriteLine((string)testSettings.GetValue(
                "id", "ID not found."));
        }

        // Delete or close the new subkey.
        Console.Write("\nDelete newly created registry key? (Y/N) ");
        if(Char.ToUpper(Convert.ToChar(Console.Read())) == 'Y')
        {
            Registry.CurrentUser.DeleteSubKeyTree("Test9999");
            Console.WriteLine("\nRegistry key {0} deleted.", 
                test9999.Name);
        }
        else
        {
            Console.WriteLine("\nRegistry key {0} closed.", 
                test9999.ToString());
            test9999.Close();
        }
    }
}


.NET Framework

Supportato in: 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supportato in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 o versione successiva, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (componenti di base del server non supportati), Windows Server 2008 R2 (componenti di base del server supportati con SP1 o versione successiva), Windows Server 2003 SP2

.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.
Qualsiasi membro static (Shared in Visual Basic) pubblico di questo tipo è thread-safe. I membri di istanza non sono garantiti come thread-safe.
Il documento è risultato utile?
(1500 caratteri rimanenti)

Aggiunte alla community

AGGIUNGI
© 2013 Microsoft. Tutti i diritti riservati.