启动“默认应用设置”页

了解如何启动 Windows 设置应用,以使用 ms-settings URI 方案从应用显示“默认应用”设置页面。

Windows 定义一组 URI,允许应用启动 Windows 设置应用并显示特定设置页面。 本文介绍如何将 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)。

注意

若要使已注册的AUMID 查询字符串参数在 OS 升级后正常工作,应用可能需要递增其 TargetDeviceFamily...其清单中的 MaxVersionTested 值。 这将确保为用户重新编制应用索引,这反过来又会更新用于通过协议激活处理深层链接的适当定义。 MaxVersionTested 应更新为 10.0.22000.1817 Windows 11 版本 21H2 或 10.0.22621.1555 Windows 11 版本 22H2。

在以下示例中, LaunchUriAsync 调用它以启动 Windows 设置应用。 ms-settings:defaultapps Uri 指定应显示“默认应用设置”页。 接下来,确定应启动的应用。 例如,应用在 HKEY_LOCAL_MACHINE\Software\RegisteredApplications 中注册了“Microsoft Edge”。 由于它是每台计算机安装的应用, registeredAppMachine 因此应使用查询字符串参数。 可选的查询字符串参数registeredAppMachine设置为注册名称,通过调用Url.EscapeDataString转义,以指定应显示Microsoft Edge 的页面

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 的默认应用