Guide pratique pour créer une clé de Registre et définir sa valeur en Visual Basic
Vous pouvez utiliser la méthode CreateSubKey
de l’objet My.Computer.Registry
pour créer une clé de Registre.
Procédure
Pour créer une clé de Registre
Utilisez la méthode
CreateSubKey
, en spécifiant le nom de la clé et sous quelle ruche la placer. Le paramètreSubkey
ne respecte pas la casse. Cet exemple crée la clé de RegistreMyTestKey
sous HKEY_CURRENT_USER.My.Computer.Registry.CurrentUser.CreateSubKey("MyTestKey")
Pour créer une clé de Registre et définir sa valeur
Utilisez la méthode
CreateSubkey
, en spécifiant le nom de la clé et sous quelle ruche la placer. Cet exemple crée la clé de RegistreMyTestKey
sous HKEY_CURRENT_USER.My.Computer.Registry.CurrentUser.CreateSubKey("MyTestKey")
Définissez la valeur avec la méthode
SetValue
. Cet exemple définit « This is a test value » comme valeur de chaîne « MyTestKeyValue ».My.Computer.Registry.SetValue("HKEY_CURRENT_USER\MyTestKey", "MyTestKeyValue", "This is a test value.")
Exemple
Cet exemple crée la clé de Registre MyTestKey
sous HKEY_CURRENT_USER, puis affecte This is a test value
comme valeur de chaîne MyTestKeyValue
.
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.")
Programmation fiable
Examinez la structure du Registre pour rechercher un emplacement approprié pour votre clé. Par exemple, vous souhaiterez peut-être ouvrir la clé HKEY_CURRENT_USER\Software de l’utilisateur actuel et créer une clé avec le nom de votre société. Ensuite, ajoutez les valeurs de Registre à la clé de votre société.
Lors de la lecture du Registre à partir d’une application web, l’utilisateur actuel dépend de l’authentification et de l’emprunt d’identité implémenté dans l’application web.
Il est plus sûr d’écrire des données dans le dossier utilisateur (CurrentUser) que sur l’ordinateur local (LocalMachine).
Quand vous créez une valeur de Registre, vous devez déterminer ce qu’il faut faire si cette valeur existe déjà. Il est possible qu’un autre processus, éventuellement malveillant, ait déjà créé la valeur et y ait accès. Quand vous placez des données dans la valeur de Registre, ces données sont accessibles à l’autre processus. Pour l’éviter, utilisez la méthode GetValue. Elle retourne Nothing
si la clé n’existe pas encore.
Il est dangereux de stocker des données confidentielles (telles que des mots de passe) dans le Registre sous forme de texte brut, même si la clé de Registre est protégée par des listes de contrôle d’accès.
Les conditions ci-dessous peuvent générer une exception.
Le nom de la clé est
Nothing
(ArgumentNullException).L’utilisateur ne dispose pas des autorisations nécessaires pour créer des clés de Registre (SecurityException).
Le nom de la clé dépasse la limite de 255 caractères (ArgumentException).
La clé est fermée (IOException).
La clé de Registre est en lecture seule (UnauthorizedAccessException).
Sécurité du .NET Framework
Pour exécuter ce processus, votre assembly nécessite un niveau de privilège accordé par la classe RegistryPermission. Si vous l’exécutez dans un contexte de confiance partielle, le processus peut lever une exception en raison de privilèges insuffisants. De même, l’utilisateur doit disposer de listes de contrôle d’accès (ACL) valides pour créer ou écrire des paramètres. Par exemple, une application locale qui dispose de l’autorisation de sécurité d’accès du code peut ne pas disposer des autorisations de système d’exploitation. Pour plus d’informations, consultez Notions fondamentales de la sécurité d’accès du code.
Notes
La sécurité d’accès du code (CAS) a été déconseillée dans toutes les versions du .NET Framework et de .NET. Les versions récentes de .NET ne respectent pas les annotations CAS et produisent des erreurs si les API liées à CAS sont utilisées. Les développeurs doivent chercher d’autres moyens pour accomplir les tâches liées à la sécurité.