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í:
Všechny proměnné prostředí, které jsou k dispozici nadřazeným procesem, který ho vytvořil. Pro aplikace .NET spuštěné z prostředí to zahrnuje všechny proměnné prostředí definované v prostředí.
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.
.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:
Ty zděděné z nadřazeného procesu, obvykle prostředí používané k vyvolání
dotnet.exe
nebo spuštění aplikace .NET.Ty, které jsou definovány voláním SetEnvironmentVariable(String, String) metody nebo SetEnvironmentVariable(String, String, EnvironmentVariableTarget) metody s
target
hodnotou EnvironmentVariableTarget.Process. Tyto proměnné prostředí se uchovávají pouze do doby, než procesdotnet
nebo aplikace .NET skončí.