你好 我有一个简单的win32应用程序,它使用createProcess方法调用Qt应用程序 问题是我喜欢把Qt应用程序带到前台。 谁负责这个?父win32应用程序或Qt应用程序?Qt需要将Qt应用程序从win32应用程序调用到前台
3
A
回答
3
,目前有前景焦点的应用程序是允许变化前景焦点只有一个。您需要使用SetForegroundWindow
function来行使此权利。
文档中的“备注”部分包含的限制适用的清单:
系统限制哪些进程可以设置前台窗口。只有满足以下条件之一时,进程才能设置前景窗口:
- 该进程是前台进程。
- 该过程由前台进程启动。
- 该进程收到最后一个输入事件。
- 没有前台进程。
- 正在调试前台进程。
- 前景未锁定(请参阅
LockSetForegroundWindow
)。- 前台锁定超时已过期(请参阅
SystemParametersInfo
中的SPI_GETFOREGROUNDLOCKTIMEOUT
)。- 没有菜单处于活动状态。
当用户使用另一个窗口时,应用程序无法强制窗口到前台。相反,Windows会闪烁窗口的任务栏按钮以通知用户。
真正的问题是为什么你需要这样做。更改前台应用程序很可能会让您陷入麻烦,无论是Windows放置还是用户的所有限制。这是一个非常用户敌对的行动,这是Windows近年来收紧它的原因之一。
2
获得Qt应用程序的窗口句柄,并调用SetForegroundWindow
0
您可能想要从父进程中完成。使用SetForegroundWindow
最简洁/最可靠的方法是从当前处于前台的进程调用它。
相关问题
- 1. Qt应用程序是否需要KDE?
- 2. qDebug Qt控制台应用程序输出到Qt Creator应用程序输出
- 3. Qt控制台应用程序教程?
- 4. 如何从win32控制台应用程序调用dll创建Qt GUI应用程序?
- 5. 从Visual Studio应用程序移植到Qt应用程序
- 6. 将Ogre嵌入到Qt应用程序
- 7. 非Qt的控制台应用程序
- 8. Qt应用程序在后台崩溃
- 9. 需要应用程序URL从控制台应用程序
- 10. 如何从另一个qt应用程序运行一个qt应用程序
- 11. 将Qt C++应用程序转换为Web应用程序
- 12. Qt应用程序标题
- 13. 翻译Qt应用程序
- 14. iOS应用程序与Qt?
- 15. Qt应用程序定制
- 16. qt应用程序激活
- 17. Qt应用程序周边
- 18. Qt应用程序暂停
- 19. 部署Qt应用程序
- 20. Qt应用程序崩溃
- 21. Qt绘图应用程序
- 22. 在MacOS上用Qt在前台启动应用程序X
- 23. 调整Qt所做的应用程序
- 24. 在WinDbg中调试QT应用程序
- 25. 使用线程的Qt应用程序
- 26. 使用闪亮的HTML应用程序Qt应用程序
- 27. Beaglebone启动到Qt应用程序
- 28. 是否可以在Qt应用程序中使用Win32钩子
- 29. 是否有可能将QT应用程序托管到WPF应用程序中?
- 30. 多线程Qt应用程序
是不是有Qt方式?我的问题是:当用户按下设置时会打开一个新窗口,但如果他们没有观察它并再次按下设置,则设置窗口将保持返回,我想说:“嘿,我在这里。在你面前“。解决方法是先setVisibile(false),然后setVisible(true),但我不喜欢这个解决方案,它应该在没有关闭并重新打开的情况下弹出。我不能使用Windows API导致应用程序是跨平台的,不想制动那个。 – 2012-02-15 12:33:31
raise()为我的问题工作... – 2012-02-15 12:42:22
@Moraru:是的,这是相对简单的,因为设置窗口是由*您自己的*应用程序创建的。这里的问题是试图从*其他*应用程序(进程)激活窗口。 Windows试图阻止它,因为它曾经被开发者滥用。 – 2012-02-15 21:11:09