Sdílet prostřednictvím


Metody související se 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í 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 target hodnotou 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í:

.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: