EnvironmentManager 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
환경 변수를 읽고 쓰기 위한 클래스입니다.
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
- 상속
- 특성
설명
API는 앱에서 작성한 환경 아티팩트 제거에 사용되는 환경 변수 추적을 추가합니다. 추적을 사용하면 앱이 제거될 때 이전에 기록된 추적 변수를 복원할 수도 있습니다.
패키지된 앱의 경우 새 API를 사용하여 만들거나 수정한 변수가 추적됩니다. 새 API를 사용하여 만들거나 수정하지 않은 변수는 계속 추적되지 않습니다.
플랫폼은 패키지된 앱에 대한 제거를 추적할 수 있지만 패키지되지 않은 앱의 경우 추적할 수 없습니다. 패키지되지 않은 앱의 경우 앱 자체 제거 프로그램은 환경 변수를 클린 데 의존합니다. 패키지되지 않은 앱은 SetEnvironmentVariable API에 값에 대한 빈 문자열 또는 RemoveFromPath를 호출하여 제거 시 자체 정리를 제공할 수 있지만 PATH 변수에서 경로를 제거하므로 이전 상태로 되돌리기 않습니다.
패키지를 제거하면 환경 정리 및 복원이 트리거됩니다.
- 앱에서 만든 모든 변수가 삭제됩니다.
- 변수가 원래 앱에서 만들어지지 않았지만 앱에서 마지막으로 수정한 경우 해당 값은 다른 앱에서 설정한 마지막 값으로 복원됩니다.
- 이러한 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 지정된 환경 변수의 값을 설정합니다. |