Partager via


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

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

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

La GetValue méthode 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 Registre à partir d’une application web, l’utilisateur actuel est déterminé par l’authentification et l’emprunt d’identité implémenté dans l’application web.

Pour lire une valeur à partir d’une clé de Registre

  • Utilisez la GetValue méthode, en spécifiant le chemin d’accès et le nom) pour lire une valeur à partir de la clé de Registre. L’exemple suivant lit la valeur Name et HKEY_CURRENT_USER\Software\MyApp l’affiche dans une 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 en tant qu’extrait de code IntelliSense. Dans le sélecteur d’extraits de code, il se trouve dans le Registre du système > d’exploitation Windows. Pour plus d’informations, consultez Extraits de code.

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

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

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

Programmation robuste

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

Les conditions suivantes peuvent entraîner une exception :

Sécurité du .NET Framework

Pour exécuter ce processus, votre assembly nécessite un niveau de privilège accordé par la RegistryPermission classe. Si vous 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 des listes de contrôle d’accès appropriées pour la création ou l’écriture dans les paramètres. Par exemple, une application locale disposant de l’autorisation de sécurité d’accès au code n’a peut-être pas l’autorisation du système d’exploitation. Pour plus d’informations, consultez Concepts de base de la sécurité de l’accès au code.

Remarque

La sécurité de l’accès au code (CAS) a été déconseillée dans toutes les versions de .NET Framework et .NET. Les versions récentes de .NET n’honorent pas les annotations CAS et produisent des erreurs si les API associées à CAS sont utilisées. Les développeurs doivent rechercher d’autres moyens d’accomplir des tâches de sécurité.

Voir aussi