Partager via


Comment : créer une clé de Registre et définir sa valeur dans Visual Basic

La méthode CreateSubKey de l'objet My.Computer.Registry peut être utilisée pour créer une clé de Registre.

Procédure

Pour créer une clé de Registre

  • Utilisez la méthode CreateSubKey, en spécifiant sous quelle ruche placer la clé ainsi que le nom de la clé. 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 y définir une valeur

  1. Utilisez la méthode CreateSubkey, en spécifiant sous quelle ruche placer la clé ainsi que le nom de la clé. 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 la valeur de chaîne " "MyTestKeyValue" sur "This is a test value".

    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 définit la valeur de chaîne MyTestKeyValue à 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.")

Programmation fiable

Examinez la structure du Registre afin de trouver 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é. Vous pouvez ensuite ajouter les valeurs du Registre à la clé de votre société.

Lors de la lecture du Registre à partir d'une application Web, l'utilisateur en cours dépend de l'authentification et de l'emprunt d'identité implémentés dans l'application Web.

Pour des raisons de sécurité, il est préférable d'écrire des données dans le dossier utilisateur (CurrentUser) plutôt que sur l'ordinateur local (LocalMachine).

Lorsque vous créez une valeur de Registre, vous devez déterminer la marche à suivre si cette valeur existe déjà. Il est possible qu'un autre processus, peut-être nuisible, ait déjà créé la valeur et puisse y accéder. Lorsque vous placez des données dans la valeur du Registre, elles sont disponibles pour les autres processus. Pour empêcher cela, utilisez la méthode GetValue. Elle retourne Nothing si la clé n'existe pas.

Pour des raisons de sécurité, il est déconseillé de stocker des données confidentielles, telles que des mots de passe, en texte brut dans le Registre, même si la clé de Registre est protégée par des listes de contrôle d'accès (ACL, Access Control Lists).

Les conditions ci-dessous peuvent générer une exception.

Sécurité

Pour exécuter ce processus, votre assembly requiert un niveau de privilège accordé par la classe RegistryPermission. Si vous exécutez le programme dans un contexte partiellement fiable, le processus peut lever une exception en raison de privilèges insuffisants. De même, l'utilisateur doit posséder les listes de contrôles d'accès appropriées pour pouvoir créer des paramètres ou écrire dans ceux-ci. Par exemple, une application locale disposant d'une autorisation de sécurité d'accès du code peut ne pas avoir une autorisation du système d'exploitation. Pour plus d'informations, consultez Notions fondamentales de la sécurité d'accès du code.

Voir aussi

Référence

RegistryProxy

CurrentUser

CreateSubKey

Concepts

Notions fondamentales de la sécurité d'accès du code

Autres ressources

Lecture et écriture dans le Registre (Visual Basic)