Udostępnij za pośrednictwem


Metody System.Environment.GetEnvironmentVariable

Ten artykuł zawiera dodatkowe uwagi dotyczące dokumentacji referencyjnej dla tego interfejsu API.

Metoda GetEnvironmentVariable pobiera wartość zmiennej środowiskowej z bieżącego procesu.

Nazwy zmiennych środowiskowych są wrażliwe na wielkość liter w systemach przypominających system Unix, ale nie są uwzględniane wielkości liter w systemie Windows.

Uwaga

Modyfikacje środowiska przetwarzania wprowadzone przez biblioteki natywne nie są widoczne przez zarządzane osoby wywołujące. Z drugiej strony takie modyfikacje wprowadzone przez zarządzane obiekty wywołujące nie są widoczne przez biblioteki natywne.

GetEnvironmentVariable(String) Metoda

Metoda GetEnvironmentVariable(String) pobiera zmienną środowiskową tylko z bloku środowiskowego bieżącego procesu. Jest to równoważne wywołaniu GetEnvironmentVariable(String, EnvironmentVariableTarget) metody z wartością targetEnvironmentVariableTarget.Process.

Aby pobrać wszystkie zmienne środowiskowe wraz z ich wartościami, wywołaj metodę GetEnvironmentVariables .

W systemach Windows

W systemach Windows blok środowiska bieżącego procesu obejmuje:

  • Wszystkie zmienne środowiskowe udostępniane przez proces nadrzędny, który go utworzył. Na przykład aplikacja .NET uruchomiona z okna konsoli dziedziczy wszystkie zmienne środowiskowe okna konsoli.

    Jeśli nie ma procesu nadrzędnego, zamiast tego są używane zmienne środowiskowe dla poszczególnych maszyn i poszczególnych użytkowników. Na przykład nowe okno konsoli zawiera wszystkie zmienne środowiskowe dla poszczególnych maszyn i poszczególnych użytkowników zdefiniowane w momencie jego uruchomienia.

  • Wszystkie zmienne dodane do bloku procesu podczas uruchamiania procesu przez wywołanie SetEnvironmentVariable(String, String) metody lub SetEnvironmentVariable(String, String, EnvironmentVariableTarget) metody z wartością targetEnvironmentVariableTarget.Process. Te zmienne środowiskowe będą utrzymywane do momentu zakończenia działania aplikacji .NET.

Jeśli zmienne środowiskowe są tworzone po rozpoczęciu procesu, możesz użyć tej metody, aby pobrać tylko te zmienne, które zostały utworzone przez wywołanie SetEnvironmentVariable(String, String) metody lub SetEnvironmentVariable(String, String, EnvironmentVariableTarget) metody z wartością target .EnvironmentVariableTarget.Process.

W systemach przypominających system Unix

W systemach przypominających system Unix blok środowiska bieżącego procesu zawiera następujące zmienne środowiskowe:

Platforma .NET w systemach przypominających system Unix nie obsługuje zmiennych środowiskowych dla poszczególnych maszyn ani poszczególnych użytkowników.

GetEnvironmentVariable(String, EnvironmentVariableTarget) Metoda

Aby pobrać wszystkie zmienne środowiskowe wraz z ich wartościami, wywołaj metodę GetEnvironmentVariables .

W systemach Windows

W systemie Windows parametr określa, target czy zmienna środowiskowa jest pobierana z bieżącego procesu, czy z klucza rejestru systemu operacyjnego Windows dla bieżącego użytkownika lub komputera lokalnego. Wszystkie zmienne środowiskowe dla użytkownika i maszyny są automatycznie kopiowane do bloku środowiskowego bieżącego procesu, podobnie jak wszystkie inne zmienne środowiskowe dostępne dla procesu nadrzędnego, który utworzył proces platformy .NET. Jednak zmienne środowiskowe dodane tylko do bloku środowiskowego bieżącego procesu przez wywołanie SetEnvironmentVariable(String, String) metody lub SetEnvironmentVariable(String, String, EnvironmentVariableTarget) metody o target wartości EnvironmentVariableTarget.Process trwałej tylko przez czas trwania procesu.

W systemach przypominających system Unix

W systemach GetEnvironmentVariable(String, EnvironmentVariableTarget) przypominających system Unix metoda obsługuje target tylko wartość EnvironmentVariableTarget.Process . Wywołania z wartością EnvironmentVariableTarget.Machinetarget lub EnvironmentVariableTarget.User nie są obsługiwane i zwracają wartość null.

Zmienne środowiskowe dla procesu to: