Metody System.Environment.GetEnvironmentVariable

Tento článek obsahuje doplňující poznámky k referenční dokumentaci pro toto rozhraní API.

Metoda GetEnvironmentVariable načte hodnotu proměnné prostředí z aktuálního procesu.

Názvy proměnných prostředí jsou v systémech Unix-like rozlišovat malá a velká písmena, ale v systému Windows nerozlišují malá a velká písmena.

Poznámka:

Úpravy prostředí v procesu provedené nativními knihovnami nejsou spravované volajícími vidět. Naopak takové změny provedené spravovanými volajícími nejsou nativními knihovnami vidět.

GetEnvironmentVariable(String) Metoda

Metoda GetEnvironmentVariable(String) načte proměnnou prostředí pouze z bloku prostředí aktuálního procesu. Je ekvivalentní volání GetEnvironmentVariable(String, EnvironmentVariableTarget) metody s target hodnotou EnvironmentVariableTarget.Process.

Pokud chcete načíst všechny proměnné prostředí spolu s jejich hodnotami, zavolejte metodu GetEnvironmentVariables .

V systémech Windows

V systémech Windows blok prostředí aktuálního procesu zahrnuje:

  • Všechny proměnné prostředí, které jsou k dispozici nadřazeným procesem, který ho vytvořil. Například aplikace .NET spuštěná z okna konzoly dědí všechny proměnné prostředí okna konzoly.

    Pokud neexistuje žádný nadřazený proces, použijí se proměnné prostředí pro jednotlivé počítače a uživatele. Například nové okno konzoly obsahuje všechny proměnné prostředí pro jednotlivé počítače a uživatele definované v době, kdy byla spuštěna.

  • Všechny proměnné přidané do bloku procesu, zatímco proces běží voláním SetEnvironmentVariable(String, String) metody nebo SetEnvironmentVariable(String, String, EnvironmentVariableTarget) metody s target hodnotou EnvironmentVariableTarget.Process. Tyto proměnné prostředí se zachovají, dokud se aplikace .NET neukončila.

Pokud jsou proměnné prostředí vytvořeny po spuštění procesu, můžete tuto metodu použít k načtení pouze těch proměnných, které byly vytvořeny voláním SetEnvironmentVariable(String, String) metody nebo SetEnvironmentVariable(String, String, EnvironmentVariableTarget) metody s target hodnotou .EnvironmentVariableTarget.Process.

V systémech Unix

Blok prostředí aktuálního procesu v systémech Unix obsahuje následující proměnné prostředí:

.NET v systémech Unix-like nepodporuje proměnné prostředí pro jednotlivé počítače ani uživatele.

GetEnvironmentVariable(String, EnvironmentVariableTarget) Metoda

Pokud chcete načíst všechny proměnné prostředí spolu s jejich hodnotami, zavolejte metodu GetEnvironmentVariables .

V systémech Windows

V systému Windows určuje parametr, target zda je proměnná prostředí načtena z aktuálního procesu nebo z klíče registru operačního systému Windows pro aktuálního uživatele nebo místního počítače. Všechny proměnné prostředí pro jednotlivé uživatele a počítače se automaticky zkopírují do bloku prostředí aktuálního procesu, stejně jako všechny ostatní proměnné prostředí, které jsou k dispozici pro nadřazený proces, který vytvořil proces .NET. Proměnné prostředí přidané pouze do bloku prostředí aktuálního procesu voláním SetEnvironmentVariable(String, String) metody nebo SetEnvironmentVariable(String, String, EnvironmentVariableTarget) metody s target hodnotou EnvironmentVariableTarget.Process trvalá pouze po dobu trvání procesu.

V systémech Unix

V systémech Unix podporuje GetEnvironmentVariable(String, EnvironmentVariableTarget) metoda target pouze hodnotu EnvironmentVariableTarget.Process . Volání s target hodnotou EnvironmentVariableTarget.Machine nebo EnvironmentVariableTarget.User nejsou podporována a vrací null.

Proměnné prostředí pro jednotlivé procesy jsou: