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ètre Subkey ne respecte pas la casse. Cet exemple crée la clé de Registre MyTestKey sous HKEY_CURRENT_USER.

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

Pour créer une clé de Registre et définir sa valeur

  1. 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 Registre MyTestKey sous HKEY_CURRENT_USER.

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

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é.

Voir aussi