我对 WinRT 中的焦点管理有疑问。该问题特定于应用程序启动。让我分享一下它的例子:如果在启动期间我改变了焦点(例如我可以开始在浏览器中选择一些文本),运行时将决定它不需要显示应用程序。该应用程序正在以“隐藏模式”启动。这意味着我没有看到 UI,但我仍然可以在进程资源管理器中找到它。
所以我在这里需要的是让应用程序在所有可能的情况下都处于活动状态。我尝试使用 ShowWindow、SetActiveWindow、SetForegroundWindow 等几个本机函数,但没有任何成功。
我还注意到任何 WinRT 应用程序都在 WWAHOST.exe 下启动,并且 mainwindowhandle 为 0。如果我在 Process Explorer 上下文菜单中使用“切换到”选项,该应用程序就会显示。