共用方式為


EnvironmentManager 類別

定義

用於讀取和寫入環境變數的類別。

public ref class EnvironmentManager sealed
/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.Windows.System.EnvironmentManagerContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class EnvironmentManager final
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.Windows.System.EnvironmentManagerContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class EnvironmentManager
Public NotInheritable Class EnvironmentManager
繼承
Object Platform::Object IInspectable EnvironmentManager
屬性

備註

API 會新增環境變數的追蹤,用來清除應用程式所撰寫的環境成品卸載。 追蹤也可在卸載應用程式時還原先前撰寫的追蹤變數。

針對已封裝的應用程式,將會追蹤使用新 API 建立或修改的變數。 未使用新 API 建立或修改的變數會繼續不追蹤。

平臺可以追蹤已封裝應用程式的卸載,但不適用於未封裝的應用程式。 針對未封裝的應用程式,應用程式本身的卸載程式會仰賴以清除環境變數。 未封裝的應用程式可以在卸載時提供自己的清除功能,方法是呼叫 SetEnvironmentVariable API 並具有值空字串或 RemoveFromPath - 但這會從 PATH 變數中移除路徑,而不會將其還原為先前的狀態。

卸載套件時,會觸發環境清除和還原。

  1. 刪除應用程式建立的任何變數。
  2. 如果變數原本不是由應用程式建立,但上次由應用程式修改,其值將會還原至另一個應用程式所設定的最後一個值。
  3. 除了使用這些 API 以外的機制所做的變數變更 (,例如,透過 RegEdit) 進行手動變更的使用者將會考慮。

注意

將變數設定為空字串的應用程式會有效地移除變數,而且不應該設定任何新的值。

要注意的一些其他事項:

  • 系統不會使用登錄接聽程式。 因此,如果呼叫端使用這些 API 來建立或修改變數,或應用程式現在已卸載,則其知道是否有變更的唯一方式。
  • 系統不會追蹤 API 外部所做的變更;而且不會追蹤未封裝應用程式的卸載。
  • 卸載已封裝的應用程式時,不論在變數存留期間追蹤或未追蹤) 追蹤的任何其他 (變更,都會刪除它所建立的任何變數。
  • 如果未使用這些 API 建立變數,則在卸載已封裝的應用程式時,將不會刪除它,而是會透過 API 還原 (該應用程式所做的最後一項變更,) 還原。
  • A-la-笛卡應用程式 具有身分識別,但未安裝已封裝應用程式的方式。 沒有可靠的方法可偵測何時卸載 a-la-笛卡應用程式。 因此,雖然會追蹤由 a-la-笛卡應用程式所建立/寫入的變數,但不會在卸載應用程式時清除它。

屬性

AreChangesTracked

取得值,指出是否追蹤環境變數變更。

IsSupported

取得值,指出目前裝置/OS 版本是否支援 EnvironmentManager

方法

AddExecutableFileExtension(String)

將指定的副檔名新增至 PATHEXT 環境變數的結尾。

AppendToPath(String)

將指定的路徑加入 PATH 環境變數的結尾。

GetEnvironmentVariable(String)

取得目前 EnvironmentManager範圍內的指定環境變數值。

GetEnvironmentVariables()

取得目前 EnvironmentManager範圍中的環境變數集合。

GetForMachine()

取得全系統範圍的 EnvironmentManager

GetForProcess()

取得範圍設定為目前進程的 EnvironmentManager

GetForUser()

取得範圍設定為目前使用者的 EnvironmentManager

RemoveExecutableFileExtension(String)

PATHEXT 環境變數結尾移除指定的副檔名。

RemoveFromPath(String)

從 PATH 環境變數結尾移除指定的 路徑

SetEnvironmentVariable(String, String)

在目前 EnvironmentManager的範圍內設定指定環境變數的值。

適用於