System.Environment.GetEnvironmentVariable-metoder

Anmärkning

Den här artikeln innehåller ytterligare kommentarer till referensdokumentationen för det här API:et.

Metoden GetEnvironmentVariable hämtar värdet för en miljövariabel från den aktuella processen.

Miljövariabelnamn är skiftlägeskänsliga i Unix-liknande system men är inte skiftlägeskänsliga i Windows.

Anmärkning

Ändringar i den processbaserade miljön som görs av interna bibliotek visas inte av hanterade anropare. Omvänt kan sådana ändringar som görs av hanterade anropare inte ses av interna bibliotek.

GetEnvironmentVariable(String) metod

Metoden GetEnvironmentVariable(String) hämtar en miljövariabel endast från miljöblocket i den aktuella processen. Det motsvarar att anropa metoden GetEnvironmentVariable(String, EnvironmentVariableTarget) med ett värde av targetEnvironmentVariableTarget.Process.

Anropa metoden för att hämta alla miljövariabler tillsammans med deras värden GetEnvironmentVariables .

På Windows-system

I Windows-system omfattar miljöblocket i den aktuella processen:

  • Alla miljövariabler som tillhandahålls av den överordnade processen som skapade den. Ett .NET-program som startas från ett konsolfönster ärver till exempel alla miljövariabler för konsolfönstret.

    Om det inte finns någon överordnad process används miljövariabler per dator och per användare i stället. Ett nytt konsolfönster har till exempel alla miljövariabler per dator och per användare definierade när det startades.

  • Alla variabler som läggs till i processblocket medan processen körs genom att anropa antingen SetEnvironmentVariable(String, String) -metoden eller SetEnvironmentVariable(String, String, EnvironmentVariableTarget) -metoden med värdet targetEnvironmentVariableTarget.Process. Dessa miljövariabler bevaras tills .NET-programmet avslutas.

Om miljövariabler skapas när processen har startat kan du använda den här metoden för att hämta endast de variabler som skapades genom att anropa SetEnvironmentVariable(String, String) metoden eller SetEnvironmentVariable(String, String, EnvironmentVariableTarget) metoden med värdet target .EnvironmentVariableTarget.Process.

På Unix-liknande system

I Unix-liknande system innehåller miljöblocket för den aktuella processen följande miljövariabler:

.NET på Unix-liknande system stöder inte miljövariabler per dator eller per användare.

GetEnvironmentVariable(String, EnvironmentVariableTarget) metod

Anropa metoden för att hämta alla miljövariabler tillsammans med deras värden GetEnvironmentVariables .

På Windows-system

I Windows anger parametern target om miljövariabeln hämtas från den aktuella processen eller från Windows-operativsystemets registernyckel för den aktuella användaren eller den lokala datorn. Alla miljövariabler per användare och per dator kopieras automatiskt till miljöblocket i den aktuella processen, liksom alla andra miljövariabler som är tillgängliga för den överordnade processen som skapade .NET-processen. Dock läggs miljövariabler till i miljöblocket för den aktuella processen endast genom att antingen anropa SetEnvironmentVariable(String, String)-metoden eller SetEnvironmentVariable(String, String, EnvironmentVariableTarget)-metoden med ett target-värde av EnvironmentVariableTarget.Process, och dessa kvarstår endast under processens livstid.

På Unix-liknande system

I Unix-liknande system stöder metoden endast ett GetEnvironmentVariable(String, EnvironmentVariableTarget) värde av target. Anrop med värdet targetEnvironmentVariableTarget.Machine eller EnvironmentVariableTarget.User stöds inte och returnerar null.

Miljövariabler per process är: