启动“默认应用设置”页
了解如何启动 Windows 设置应用,以使用 ms-settings URI 方案从应用显示“默认应用”设置页面。
Windows 定义一组 URI,允许应用启动 Windows 设置应用并显示特定设置页面。 本文介绍如何将 Windows 设置应用直接启动到“默认应用设置”页,还可以选择直接导航到指定默认应用程序的设置。 有关详细信息,请参阅 启动 Windows 设置应用。
默认应用设置 URL
ms-settings:defaultapps
启动 Windows 设置应用并导航到“默认应用设置”页。 从 Windows 11 版本 21H2(使用 2023-04 累积更新)、22H2(使用 2023-04 累积更新)或 23H2 或更高版本开始,可以附加一个转义 URI 格式的其他查询字符串参数,以直接启动到特定应用程序对应的设置页。
有三个查询字符串参数。 要使用的查询字符串参数取决于应用程序的安装方式。
查询字符串参数 | 要传递的值 |
---|---|
注册的应用用户 | 来自 HKEY_CURRENT_USER\Software\RegisteredApplications 的命名值 在每个用户安装应用时使用,并将应用的注册写入 HKEY_CURRENT_USER\Software\RegisteredApplications。 |
已注册的应用机器 | 来自 HKEY_LOCAL_MACHINE\Software\RegisteredApplications 的命名值 在每台计算机安装应用时使用,并将应用的注册写入 HKEY_LOCAL_MACHINE\Software\RegisteredApplications。 |
已注册的AUMID | 应用程序用户模型 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 指定应显示“默认应用设置”页。 接下来,确定应启动的应用。 例如,“Microsoft Edge”由应用在 HKEY_LOCAL_MACHINE\Software\RegisteredApplications中注册。 由于它是每台计算机安装的应用,因此 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")));
相关内容
启动 URI 的默认应用