启动“默认应用设置”页
了解如何启动 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")));