Partager via


Guide pratique pour lire une valeur à partir d'une clé de Registre en Visual Basic

La méthode GetValue de l’objet My.Computer.Registry peut être utilisée pour lire les valeurs dans le Registre Windows.

Si la clé « Software\MyApp » de l’exemple suivant n’existe pas, une exception est levée. Si le ValueName (« Name » dans l’exemple suivant) n’existe pas, Nothing est retourné.

La méthode GetValue peut également être utilisée pour déterminer si une valeur donnée existe dans une clé de Registre spécifique.

Lorsque le code lit le contenu du Registre à partir d’une application web, l’utilisateur actuel est déterminé par l’authentification et par l’emprunt d’identité implémenté dans l’application web.

Pour lire une valeur dans une clé de Registre

  • Utilisez la méthode GetValue, en spécifiant un chemin et un nom, pour lire une valeur dans une clé de Registre. L’exemple suivant lit la valeur Name dans HKEY_CURRENT_USER\Software\MyApp et l’affiche dans la boîte de message.

    Dim readValue = My.Computer.Registry.GetValue(
        "HKEY_CURRENT_USER\Software\MyApp", "Name", Nothing)
    MsgBox("The value is " & readValue)
    

Cet exemple de code est également disponible sous la forme d’un extrait de code IntelliSense. Dans le sélecteur d’extraits de code, il se trouve dans Système d’exploitation Windows > Registre. Pour plus d’informations, consultez Extraits de code.

Pour déterminer si une clé existe dans une clé de Registre

  • Utilisez la méthode GetValue pour récupérer la valeur. Le code suivant vérifie si la valeur existe et retourne un message si elle n’existe pas.

    If My.Computer.Registry.GetValue("HKEY_LOCAL_MACHINE\TestApp",
    "TestValue", Nothing) Is Nothing Then
        MsgBox("Value does not exist.")
    End If
    

Programmation fiable

Le Registre contient les clés de niveau supérieur, ou racine, qui sont utilisées pour stocker des données. Par exemple, la clé racine HKEY_LOCAL_MACHINE est utilisée pour stocker des paramètres d’ordinateur utilisés par tous les utilisateurs, tandis que HKEY_CURRENT_USER est utilisée pour stocker des données spécifiques à un utilisateur.

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