Udostępnij za pomocą


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 podobnych do Unix, lecz w systemie Windows nie są one wrażliwe na wielkość liter.

Uwaga / Notatka

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 wywołania nie są rozpoznawane przez biblioteki natywne.

Metoda GetEnvironmentVariable(String)

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 w trakcie działania procesu przez wywołanie metody SetEnvironmentVariable(String, String) lub metody SetEnvironmentVariable(String, String, EnvironmentVariableTarget) 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.

Metoda GetEnvironmentVariable(String, EnvironmentVariableTarget)

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 metody SetEnvironmentVariable(String, String) lub metody SetEnvironmentVariable(String, String, EnvironmentVariableTarget) z wartością targetEnvironmentVariableTarget.Process trwają tylko przez czas trwania tego 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ą target, EnvironmentVariableTarget.Machine lub EnvironmentVariableTarget.User nie są obsługiwane i zwracają null.

Zmienne środowiskowe dla procesu to: