gpt4 book ai didi

windows - 需要在 Windows 上将应用程序带到前台

转载 作者:可可西里 更新时间:2023-11-01 13:51:16 29 4
gpt4 key购买 nike

我有两个正在使用 Windows 上的 Qt 开发的应用程序。我希望用户能够在一个应用程序中按下一个按钮,使另一个应用程序出现在前台。 (程序使用 QLocalSocket 和命名管道进行通信。)

目前我正在使用 Qt 的 QWidget::activateWindow() ,它偶尔会将应用程序带到前台,但大多数时候它只是突出显示任务栏上的程序。

谁能告诉我如何做到这一点,最好使用 Qt,尽管如果失败则使用 WIN32 API 会很好。


不幸的是,我无法找到仅使用 Qt 来执行此操作的方法。我使用 Chris Becke 关于从当前事件的应用程序调用 SetForegroundWindow 的建议解决了这个问题。

最佳答案

您确定这不是调试问题吗?交易是,如果应用程序有前台,则允许更改前台。

单击窗口 A 上的按钮将激活该窗口线程的前台。如果它在另一个窗口上调用 SetForegroundWindow(或等效的),则该窗口将被赋予前景。

另一方面,如果它只是向另一个应用程序发送一条消息,而该应用程序尝试对自己设置前景,则会失败。 AllowSetForegroundWindow 用于需要通过前台应用程序授予“旧版”应用程序权限以占据前台的情况。再次说明,AllowSet... 仅当从拥有当前事件前台窗口的线程调用时才有效。

关于windows - 需要在 Windows 上将应用程序带到前台,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/204181/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com