首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Qt需要将从win32应用程序调用的Qt应用程序带到前台

问Qt需要将从win32应用程序调用的Qt应用程序带到前台
EN

Stack Overflow用户
提问于 2011-05-07 16:22:36
回答 3查看 3.2K关注 0票数 3

我有一个简单的win32应用程序,它使用createProcess方法调用Qt应用程序。

问题是我喜欢把Qt应用程序放在前台。

谁对此负责?父win32应用程序还是Qt应用程序?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-05-07 16:29:26

当前具有前景焦点的应用程序是唯一被允许改变前景焦点的应用程序。您需要使用SetForegroundWindow function来行使此权限。

文档中的“备注”部分包含适用的限制列表:

系统限制哪些进程可以设置前台窗口。仅当满足以下条件之一时,进程才能设置前台窗口:

  • 该进程是前台进程。
  • 该进程是由前台进程启动的。
  • 该进程接收到了最后一个输入事件。
  • 没有前台进程。前台进程正在被锁定(请参阅LockSetForegroundWindow).
  • The前台超时已过期(请参阅SystemParametersInfo).
  • No菜单中的D18>处于活动状态。<

>H222>F223

当用户正在使用另一个窗口时,应用程序不能强制将一个窗口转到前台。相反,Windows会闪烁窗口的任务栏按钮来通知用户。

真正的问题是为什么你需要这样做。更改前台应用程序很可能会给您带来麻烦,要么是Windows对它施加的所有限制,要么是您的用户。这是一种非常敌视用户的行为,这也是Windows近年来收紧对它的限制的原因之一。

票数 3
EN

Stack Overflow用户

发布于 2011-05-07 16:28:51

获取Qt应用程序的窗口句柄并调用SetForegroundWindow

http://msdn.microsoft.com/en-us/library/ms633539.aspx

票数 2
EN

Stack Overflow用户

发布于 2011-05-07 16:29:53

您可能希望在父进程中执行此操作。使用SetForegroundWindow的最干净/最可靠的方式是从当前处于前台的进程调用它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5919928

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档