Lecture et écriture dans le Registre à l'aide de l'espace de noms Microsoft.Win32
Mise à jour : novembre 2007
Même si My.Computer.Registry doit couvrir vos besoins de base lorsque vous programmez le Registre, vous pouvez également utiliser les classes Registry et RegistryKey dans l'espace de noms Microsoft.Win32 du .NET Framework.
Clés dans la classe de Registre
La classe Registry fournit les clés de Registre de base qui permettent d'accéder aux sous-clés et aux valeurs associées. Les clés de base sont en lecture seule. Le tableau ci-après répertorie et décrit les sept clés exposées par la classe Registry.
Clé |
Description |
---|---|
Définit les types de documents et les propriétés associées. |
|
Contient des informations sur la configuration matérielle qui ne sont pas spécifiques à un utilisateur. |
|
Contient des informations sur les préférences de l'utilisateur en cours (par exemple, des variables d'environnement). |
|
Contient des données de Registre dynamiques (par exemple, les données utilisées par les pilotes de périphériques virtuels). |
|
Contient cinq sous-clés (Hardware, SAM, Security, Software et System) qui stockent les données sur la configuration de l'ordinateur local. |
|
Contient des informations sur les performances des composants logiciels. |
|
Contient des informations sur les préférences par défaut des utilisateurs. |
Note de sécurité : |
---|
Pour des raisons de sécurité, il est préférable d'écrire des données dans l'utilisateur en cours (CurrentUser) que sur l'ordinateur local (LocalMachine). Il existe un cas, généralement appelé « squattage », où la clé que vous créez a déjà été créée par un autre processus, éventuellement malveillant. Pour empêcher cette situation, utilisez une méthode, telle que GetValue qui retourne Nothing si la clé n'existe pas déjà. |
Lecture d'une valeur du Registre
Le code suivant montre comment lire une chaîne à partir de HKEY_CURRENT_USER.
Dim regVersion As Microsoft.Win32.RegistryKey
Dim keyValue As String
keyValue = "Software\\Microsoft\\TestApp\\1.0"
regVersion = Microsoft.Win32.Registry.CurrentUser.OpenSubKey(keyValue, False)
Dim intVersion As Integer = 0
If (Not regVersion Is Nothing) Then
intVersion = regVersion.GetValue("Version", 0)
regVersion.Close()
End If
Le code suivant lit, incrémente, puis écrit une chaîne dans HKEY_CURRENT_USER.
Dim regVersion As Microsoft.Win32.RegistryKey
regVersion = Microsoft.Win32.Registry.CurrentUser.OpenSubKey( _
"SOFTWARE\\Microsoft\\TestApp\\1.0", True)
If regVersion Is Nothing Then
' Key doesn't exist; create it.
regVersion = Microsoft.Win32.Registry.CurrentUser.CreateSubKey( _
"SOFTWARE\\Microsoft\\TestApp\\1.0")
End If
Dim intVersion As Integer = 0
If (Not regVersion Is Nothing) Then
intVersion = regVersion.GetValue("Version", 0)
intVersion = intVersion + 1
regVersion.SetValue("Version", intVersion)
regVersion.Close()
End If
Voir aussi
Tâches
Dépannage : manipulation du Registre
Concepts
Vue d'ensemble de la gestion structurée des exceptions pour Visual Basic
Tâches courantes relatives au Registre
Lecture et écriture dans le Registre à l'aide de My