Share via


[既定のアプリ] 設定ページを起動する

ms-settings URI スキームを使用して、Windows 設定アプリを起動してアプリから [既定のアプリ設定] ページを表示する方法について説明します。

Windows では、アプリが Windows 設定アプリを起動し、特定の設定ページを表示できるようにする URI のセットを定義します。 この記事では、Windows 設定アプリを [既定のアプリ] 設定ページに直接起動し、必要に応じて、指定した既定のアプリケーションの設定に直接移動する方法について説明します。 詳細については、「 Windows 設定アプリを起動する」を参照してください。

既定のアプリ設定 URL

ms-settings:defaultapps は、Windows 設定アプリを起動し、[既定のアプリの設定] ページに移動します。 Windows 11バージョン 21H2 (2023-04 累積的な更新プログラムを使用) または 22H2 (2023-04 累積的な更新プログラム) 以降では、エスケープされた URI 形式で追加のクエリ文字列パラメーターを追加して、特定のアプリケーションの設定ページに直接起動できます。

クエリ文字列パラメーターは 3 つあります。 使用するクエリ文字列パラメーターは、アプリケーションのインストール方法によって異なります。

クエリ文字列パラメーター 渡す値
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更新するか10.0.22621.1555、Windows 11バージョン 22H2 の場合は に更新する必要があります。

次の例では、 LaunchUriAsync を呼び出して Windows 設定アプリを起動します。 ms-settings:defaultapps Uri は、既定のアプリ設定ページを表示することを指定します。 次に、起動するアプリが決定されます。 たとえば、アプリによって "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")));

関連項目

Windows 設定アプリの起動

URI に応じた既定のアプリの起動