Métodos System.Environment.GetEnvironmentVariable

Este artigo fornece observações complementares à documentação de referência para essa API.

O GetEnvironmentVariable método recupera o valor de uma variável de ambiente do processo atual.

Os nomes de variáveis de ambiente diferenciam maiúsculas de minúsculas em sistemas Unix, mas não diferenciam maiúsculas de minúsculas no Windows.

Observação

As modificações no ambiente em processo feitas por bibliotecas nativas não são vistas pelos chamadores gerenciados. Por outro lado, essas modificações feitas por chamadores gerenciados não são vistas pelas bibliotecas nativas.

GetEnvironmentVariable(String)método

O GetEnvironmentVariable(String) método recupera uma variável de ambiente do bloco de ambiente do processo atual somente. É equivalente a chamar o GetEnvironmentVariable(String, EnvironmentVariableTarget) método com um target valor de EnvironmentVariableTarget.Process.

Para recuperar todas as variáveis de ambiente junto com seus valores, chame o GetEnvironmentVariables método.

Em sistemas Windows

Em sistemas Windows, o bloco de ambiente do processo atual inclui:

  • Todas as variáveis de ambiente que são fornecidas a ele pelo processo pai que o criou. Por exemplo, um aplicativo .NET iniciado a partir de uma janela do console herda todas as variáveis de ambiente da janela do console.

    Se não houver nenhum processo pai, as variáveis de ambiente por máquina e por usuário serão usadas. Por exemplo, uma nova janela de console tem todas as variáveis de ambiente por máquina e por usuário definidas no momento em que foi iniciada.

  • Quaisquer variáveis adicionadas ao bloco de processo enquanto o processo está em execução chamando o SetEnvironmentVariable(String, String) método ou o SetEnvironmentVariable(String, String, EnvironmentVariableTarget) método com um target valor de EnvironmentVariableTarget.Process. Essas variáveis de ambiente persistem até que o aplicativo .NET seja encerrado.

Se as variáveis de ambiente forem criadas após o início do processo, você poderá usar esse método para recuperar somente as variáveis que foram criadas chamando o SetEnvironmentVariable(String, String) método ou o SetEnvironmentVariable(String, String, EnvironmentVariableTarget) método com um target valor de .EnvironmentVariableTarget.Process.

Em sistemas Unix-like

Em sistemas Unix-like, o bloco de ambiente do processo atual inclui as seguintes variáveis de ambiente:

O .NET em sistemas do tipo Unix não oferece suporte a variáveis de ambiente por máquina ou por usuário.

GetEnvironmentVariable(String, EnvironmentVariableTarget)método

Para recuperar todas as variáveis de ambiente junto com seus valores, chame o GetEnvironmentVariables método.

Em sistemas Windows

No Windows, o target parâmetro especifica se a variável de ambiente é recuperada do processo atual ou da chave do Registro do sistema operacional Windows para o usuário ou computador local atual. Todas as variáveis de ambiente por usuário e por máquina são copiadas automaticamente para o bloco de ambiente do processo atual, assim como quaisquer outras variáveis de ambiente disponíveis para o processo pai que criou o processo .NET. No entanto, as variáveis de ambiente adicionadas somente ao bloco de ambiente do processo atual chamando o SetEnvironmentVariable(String, String) método ou o SetEnvironmentVariable(String, String, EnvironmentVariableTarget) método com um target valor de EnvironmentVariableTarget.Process persist somente durante o processo.

Em sistemas Unix-like

Em sistemas Unix-like, o GetEnvironmentVariable(String, EnvironmentVariableTarget) método suporta um target valor de EnvironmentVariableTarget.Process apenas. Chamadas com um target valor de ou EnvironmentVariableTarget.User não são suportadas EnvironmentVariableTarget.Machine e retornam null.

As variáveis de ambiente por processo são: