다음을 통해 공유


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-carte 앱 에는 ID가 있지만 패키지된 앱이 설치되는 방식으로 설치되지 않습니다. a-la-carte 앱이 제거되는 시기를 감지하는 신뢰할 수 있는 방법은 없습니다. 따라서 a-la-carte 앱에서 생성/작성된 변수는 추적되지만 앱이 제거되면 정리되지 않습니다.

속성

AreChangesTracked

환경 변수 변경 내용이 추적되는지 여부를 나타내는 값을 가져옵니다.

IsSupported

EnvironmentManager가 현재 디바이스/OS 버전에서 지원되는지 여부를 나타내는 값을 가져옵니다.

메서드

AddExecutableFileExtension(String)

PATHEXT 환경 변수의 끝에 지정된 파일 확장자를 추가합니다.

AppendToPath(String)

PATH 환경 변수의 끝에 지정된 경로를 추가합니다.

GetEnvironmentVariable(String)

현재 EnvironmentManager의 scope 지정된 환경 변수의 값을 가져옵니다.

GetEnvironmentVariables()

현재 EnvironmentManager의 scope 환경 변수 컬렉션을 가져옵니다.

GetForMachine()

시스템 전체 scope EnvironmentManager를 가져옵니다.

GetForProcess()

현재 프로세스로 범위가 지정된 EnvironmentManager 를 가져옵니다.

GetForUser()

현재 사용자로 범위가 지정된 EnvironmentManager 를 가져옵니다.

RemoveExecutableFileExtension(String)

PATHEXT 환경 변수의 끝에서 지정된 파일 확장자를 제거합니다.

RemoveFromPath(String)

PATH 환경 변수의 끝에서 지정된 경로를 제거합니다.

SetEnvironmentVariable(String, String)

현재 EnvironmentManager의 scope 지정된 환경 변수의 값을 설정합니다.

적용 대상