启动默认 Web 浏览器或 Windows 应用商店应用后,桌面应用可能不可见

平台

客户端 - Windows 8 服务器 - Windows Server 2012

说明

Windows 应用商店应用用户体验一次集中在单个应用上,Windows UI 提供多任务、应用切换和通知。 Windows 应用商店应用的大小用于填充屏幕上的可用空间,最常见的视图为全屏。 因此,当系统上的另一个应用启动时,你不再假定新应用将在桌面窗口中与桌面应用一起打开。 这始终适用于选择参与新 Windows UI 体验的 Windows 应用商店应用和浏览器。 例如,如果你在桌面上并启动另一个桌面应用程序或具有处于贴靠状态的应用程序,则可能会同时看到其他应用。

表现

当桌面应用使用常见的应用激活技术(例如在文件或协议上使用 ShellExecute API)时,Windows 会启动与该注册关联的应用,这可能是 Windows 应用商店应用和/或用户的默认 Web 浏览器 (默认 Web 浏览器可以选择参与桌面或新的 Windows UI) 。 Windows 应用商店应用使用全屏启动,隐藏桌面应用和启动它的桌面应用。

注意

在Windows 8中,Internet Explorer 10 配置为用户的默认浏览器,但用户可以选择安装并设置另一个浏览器作为默认浏览器, (不会从 Windows 7) 进行更改。 在 Internet Explorer 10 中,当从桌面应用程序打开链接时,Internet Explorer 将在桌面上打开。 但用户可以更改此设置,以便 Internet Explorer 作为 Windows 应用商店应用打开。 鼓励浏览器供应商采用类似的“上下文启动”体验:但是,开发人员应计划并非所有浏览器的行为都类似。

缓解措施

虽然开发人员可以对其应用做出任何更改,以缓解此行为,但最终用户可以执行的操作应该与他们通信。 请考虑使用扩展 ShellExecuteEx () API 收集的信息来填充上下文适当的对话框。 在该对话框中,向用户指示将启动哪些应用,以及该应用是 Windows 应用商店应用还是桌面应用。 CLSID 可用于区分 Windows 应用商店应用与桌面应用。 用户选项:

  • 拥有宽屏监视器的用户可以将 Windows 应用商店应用快照到屏幕边缘,以公开桌面,从而同时查看 Windows 应用商店应用和桌面应用。
  • 如果 Internet Explorer 配置为用户的默认浏览器,则用户可以通过更改控制面板中的 Internet 选项来更改其行为。 在“程序”选项卡上,用户可以更改 Internet Explorer 处理链接的方式。 其他浏览器可能提供类似的设置。