Share via


启动“默认应用设置”页

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

Windows 定义一组 URI,这些 URI 允许应用启动 Windows 设置应用并显示特定的设置页面。 本文介绍如何直接在“默认应用”设置页中启动 Windows 设置应用,并可选择直接导航到指定默认应用程序的设置。 有关详细信息,请参阅 启动 Windows 设置应用

默认应用设置 URL

ms-settings:defaultapps 启动 Windows 设置应用并导航到“默认应用设置”页。 从 Windows 11 版本 21H2 (2023-04 累积更新) 或 22H2 (2023-04 累积更新) 开始,可以附加转义 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 (uap:FileTypeAssociation) 或 uri 方案 (uap:Protocol) 。

注意

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

在以下示例中, 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 的默认应用