我在WinRT中遇到焦点管理问题。该问题特定于应用程序启动。让我分享一下它的例子: 如果在启动期间我改变焦点(例如我可以开始在浏览器中选择一些文本),运行时将决定它不需要显示应用程序。应用程序以“隐藏模式”启动。这意味着我没有看到UI,但我仍然可以在进程资源管理器中找到它。
所以我需要的是让应用程序在所有可能的情况下都处于活动状态。我试图使用几个本机函数,如ShowWindow,SetActiveWindow,SetForegroundWindow,但没有任何成功。
我还注意到任何WinRT应用程序都是在WWAHOST.exe下启动的,而mainwindowhandle是0.如果我在Process Explorer上下文菜单中使用“切换到”选项,则会显示应用程序。
答案 0 :(得分:0)
WinRT应用程序是沙箱式的,对操作系统处理它们的方式几乎没有控制,几乎没有办法影响在同一主机上运行的其他应用程序的行为。我建议您以尽可能早地显示某些UI的方式设计应用程序,然后异步地加载应用程序可能需要的任何其他资源。