Méthodes System.Environment.GetEnvironmentVariable

Cet article vous offre des remarques complémentaires à la documentation de référence pour cette API.

La GetEnvironmentVariable méthode récupère la valeur d’une variable d’environnement à partir du processus actuel.

Les noms de variables d’environnement respectent la casse sur les systèmes de type Unix, mais ne respectent pas la casse sur Windows.

Remarque

Les modifications apportées à l’environnement in-process par les bibliothèques natives ne sont pas visibles par les appelants gérés. À l’inverse, ces modifications apportées par les appelants managés ne sont pas visibles par les bibliothèques natives.

Méthode GetEnvironmentVariable(String)

La GetEnvironmentVariable(String) méthode récupère une variable d’environnement à partir du bloc d’environnement du processus actuel uniquement. Il équivaut à appeler la GetEnvironmentVariable(String, EnvironmentVariableTarget) méthode avec une target valeur de EnvironmentVariableTarget.Process.

Pour récupérer toutes les variables d’environnement ainsi que leurs valeurs, appelez la GetEnvironmentVariables méthode.

Sur les systèmes Windows

Sur les systèmes Windows, le bloc d’environnement du processus actuel inclut :

  • Toutes les variables d’environnement qui lui sont fournies par le processus parent qui l’a créée. Par exemple, une application .NET lancée à partir d’une fenêtre de console hérite de toutes les variables d’environnement de la fenêtre de console.

    S’il n’existe aucun processus parent, les variables d’environnement par ordinateur et par utilisateur sont utilisées à la place. Par exemple, une nouvelle fenêtre de console comporte toutes les variables d’environnement par ordinateur et par utilisateur définies au moment où elle a été lancée.

  • Toutes les variables ajoutées au bloc de processus pendant l’exécution du processus en appelant la SetEnvironmentVariable(String, String) méthode ou la SetEnvironmentVariable(String, String, EnvironmentVariableTarget) méthode avec une target valeur de EnvironmentVariableTarget.Process. Ces variables d’environnement persistent jusqu’à ce que l’application .NET se termine.

Si des variables d’environnement sont créées une fois le processus démarré, vous pouvez utiliser cette méthode pour récupérer uniquement les variables qui ont été créées en appelant la SetEnvironmentVariable(String, String) méthode ou la SetEnvironmentVariable(String, String, EnvironmentVariableTarget) méthode avec la target valeur .EnvironmentVariableTarget.Process.

Sur les systèmes de type Unix

Sur les systèmes unix, le bloc d’environnement du processus actuel inclut les variables d’environnement suivantes :

Les systèmes de type .NET sur Unix ne prennent pas en charge les variables d’environnement par ordinateur ou par utilisateur.

Méthode GetEnvironmentVariable(String, EnvironmentVariableTarget)

Pour récupérer toutes les variables d’environnement ainsi que leurs valeurs, appelez la GetEnvironmentVariables méthode.

Sur les systèmes Windows

Sur Windows, le target paramètre spécifie si la variable d’environnement est récupérée à partir du processus actuel ou de la clé de Registre du système d’exploitation Windows pour l’utilisateur actuel ou l’ordinateur local. Toutes les variables d’environnement par utilisateur et par ordinateur sont automatiquement copiées dans le bloc d’environnement du processus actuel, comme toutes les autres variables d’environnement disponibles pour le processus parent qui a créé le processus .NET. Toutefois, les variables d’environnement ajoutées uniquement au bloc d’environnement du processus actuel en appelant la SetEnvironmentVariable(String, String) méthode ou la SetEnvironmentVariable(String, String, EnvironmentVariableTarget) méthode avec une target valeur de EnvironmentVariableTarget.Process persistance uniquement pendant la durée du processus.

Sur les systèmes de type Unix

Sur les systèmes de type Unix, la GetEnvironmentVariable(String, EnvironmentVariableTarget) méthode prend uniquement en charge la target valeur.EnvironmentVariableTarget.Process Les appels avec une target valeur ou EnvironmentVariableTarget.UserEnvironmentVariableTarget.Machine ne sont pas pris en charge et retournés null.

Les variables d’environnement par processus sont les suivantes :