Share via


Comment : créer une clé dans le Registre (Visual C#)

Cet exemple ajoute la paire de valeurs "Name" et "Isabella" au Registre de l'utilisateur en cours, sous la clé "Names".

Exemple

Microsoft.Win32.RegistryKey key;
key = Microsoft.Win32.Registry.CurrentUser.CreateSubKey("Names");
key.SetValue("Name", "Isabella");
key.Close();

Compilation du code

  • Copiez le code et collez-le dans la méthode Main d'une application console.

  • Remplacez le paramètre Names par le nom d'une clé située immédiatement au-dessous du nœud HKEY_CURRENT_USER du Registre.

  • Remplacez le paramètre Name par le nom d'une valeur située immédiatement au-dessous du nœud Names.

Programmation fiable

Examinez la structure du Registre afin de trouver un emplacement approprié pour votre clé. Vous pouvez par exemple ouvrir la clé Software de l'utilisateur en cours 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é.

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

  • Le nom de la clé est null.

  • L'utilisateur n'a pas l'autorisation de créer des clés de Registre.

  • Le nom de la clé dépasse la limite de 255 caractères.

  • La clé est fermée.

  • La clé de Registre est en lecture seule.

Sécurité

Pour des raisons de sécurité, il est préférable d'écrire des données dans le dossier utilisateur (Microsoft.Win32.Registry.CurrentUser) plutôt que sur l'ordinateur local (Microsoft.Win32.Registry.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 Overload:Microsoft.Win32.RegistryKey.GetValue. Elle retourne null 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).

Voir aussi

Référence

System.IO

Concepts

Guide de programmation C#

Autres ressources

Système de fichiers et Registre (Guide de programmation C#)