기본 앱 설정 페이지 시작
Windows 설정 앱을 시작해서 ms-settings URI 체계를 이용하여 앱에서 기본 앱 설정 페이지를 표시하는 방법을 알아보세요.
Windows는 앱에서 Windows 설정 앱이 시작되고 특정 설정 페이지가 표시되게 하는 URI의 집합을 정의합니다. 이 문서에서는 Windows 설정 앱을 기본 앱 설정 페이지에서 직접 시작하고, 필요에 따라 지정된 기본 애플리케이션의 설정으로 직접 이동하는 방법을 설명합니다. 자세한 내용은 Windows 설정 앱 시작을 참조하세요.
기본 앱 설정 URL
ms-settings:defaultapps
는 Windows 설정 앱을 시작하고 기본 앱 설정 페이지로 이동합니다. Windows 11 버전 21H2(2023-04 누적 업데이트 포함), 22H2(2023-04 누적 업데이트 포함) 및 23H2 이상부터 이스케이프된 URI 형식의 추가 쿼리 문자열 매개 변수를 추가하여 특정 애플리케이션의 설정 페이지에 직접 시작할 수 있습니다.
쿼리 문자열 매개변수는 세 개입니다. 사용할 쿼리 문자열 매개변수는 애플리케이션이 설치된 방법에 따라 달라집니다.
쿼리 문자열 매개 변수 | 전달할 값 |
---|---|
registeredAppUser | HKEY_CURRENT_USER\Software\RegisteredApplications의 명명된 값 사용자별로 앱이 설치되고 앱 등록이 HKEY_CURRENT_USER\Software\RegisteredApplications에 기록된 경우에 사용하세요. |
registeredAppMachine | HKEY_LOCAL_MACHINE\Software\RegisteredApplications의 명명된 값 머신별로 앱이 설치되고 앱 등록이 HKEY_LOCAL_MACHINE\Software\RegisteredApplications에 기록된 경우에 사용하세요. |
registeredAUMID | 애플리케이션 사용자 모델 ID 앱이 파일 형식(uap:FileTypeAssociation) 또는 URI 스키마(uap:Protocol)를 처리한다고 선언하는 매니페스트를 사용하여 앱이 패키지 관리자에 등록된 경우에 사용하세요. |
참고 항목
OS 업그레이드 이후 registeredAUMID 쿼리 문자열 매개변수가 작동하게 하려면 앱에서 해당 매니페스트의 TargetDeviceFamily...MaxVersionTested 값을 높여야 할 수 있습니다. 이렇게 하면 앱이 사용자에 대해 다시 인덱싱되고, 그 결과 프로토콜 활성화를 통해 딥 링크를 처리하는 데 사용될 적절한 정의가 업데이트됩니다. MaxVersionTested는 Windows 11 버전 21H2용 10.0.22000.1817
또는 Windows 11 버전 22H2용 10.0.22621.1555
(으)로 업데이트해야 합니다.
다음 예제인 LaunchUriAsync
는 Windows 설정 앱을 시작하기 위해 호출됩니다. URI는 ms-settings:defaultapps
기본 앱 설정 페이지가 표시되도록 지정합니다. 이어서, 시작해야 하는 앱이 결정됩니다. 그 예로 이 앱을 통해 “Microsoft Edge”를 HKEY_LOCAL_MACHINE\Software\RegisteredApplications에 등록했습니다. 이 앱은 머신별로 설치된 앱입니다. 따라서 registeredAppMachine
은 사용해야 하는 쿼리 문자열 매개변수입니다. 선택적 쿼리 문자열 매개변수 registeredAppMachine
은 Microsoft Edge의 페이지가 표시되도록 지정하기 위해 등록된 이름으로 설정되고 호출을 통해 Url.EscapeDataString
으로 이스케이프됩니다.
private async void LaunchSettingsPage_Click(object sender, RoutedEventArgs e)
{
bool result = await Windows.System.Launcher.LaunchUriAsync(new Uri("ms-settings:defaultapps?registeredAppMachine=" + Uri.EscapeDataString(("Microsoft Edge")));
}
bool result = co_await Windows::System::Launcher::LaunchUriAsync(Windows::Foundation::Uri(L"ms-settings:defaultapps?registeredAppMachine=" + Uri::EscapeDataString(L"Microsoft Edge")));