Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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í rozlišují velikost písmen v unixových systémech, ale v systému Windows nikoliv.
Poznámka:
Úpravy procesu prostředí provedené nativními knihovnami nejsou viditelné pro volající spravovaného kódu. Naopak takové změny provedené spravovanými volajícími nejsou patrné nativními knihovnami.
metoda GetEnvironmentVariable(String)
Metoda GetEnvironmentVariable(String) načte proměnnou prostředí pouze z bloku prostředí aktuálního procesu. Je to ekvivalentní jako zavolat metodu GetEnvironmentVariable(String, EnvironmentVariableTarget) s hodnotou targetEnvironmentVariableTarget.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é mu poskytuje nadřazený proces, 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
targethodnotou EnvironmentVariableTarget.Process. Tyto proměnné prostředí se zachovají do ukončení aplikace .NET.
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.
Na systémech podobných Unixu
Blok prostředí aktuálního procesu v Unixových systémech obsahuje následující proměnné prostředí:
Všechny proměnné prostředí, které mu poskytuje nadřazený proces, 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
targethodnotou EnvironmentVariableTarget.Process. Tyto proměnné prostředí se zachovají do ukončení aplikace .NET.
.NET v systémech Unix-like nepodporuje proměnné prostředí pro jednotlivé počítače ani uživatele.
metoda GetEnvironmentVariable(String, EnvironmentVariableTarget)
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í, které jsou přidány pouze do bloku prostředí aktuálního procesu voláním metody SetEnvironmentVariable(String, String) nebo metody SetEnvironmentVariable(String, String, EnvironmentVariableTarget) s hodnotou target, trvají pouze po dobu trvání procesu.
Na systémech podobných Unixu
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.exenebo spuštění aplikace .NET.Ty, které jsou definovány voláním SetEnvironmentVariable(String, String) metody nebo SetEnvironmentVariable(String, String, EnvironmentVariableTarget) metody s
targethodnotou EnvironmentVariableTarget.Process. Tyto proměnné prostředí se uchovávají pouze do doby, než procesdotnetnebo aplikace .NET skončí.