Windows和QWidget中的活动窗口:: ActivateWindow()
-
27-09-2020 - |
题
生成的Qt文档为for QWidget::activateWindow()
状态:
在Windows上,如果你打电话给这个 当前申请目前 活跃的一个,那么它就不会制作 它是活动窗口。它会改变 任务栏输入的颜色 表示窗口已更改 某种程度上来说。这是因为微软 不允许申请 中断用户目前的内容 在另一个应用程序中进行。但是,Skype似乎违反了此规则。如果Skype正在运行但不是活动应用程序,我可以从“开始”菜单启动它,它将现有实例带到前景中,激活它并抓取输入焦点。
以及如何 i 这样做?
解决方案
(注意:这是特定于QTSingLeapplication如何工作)
解决方案对于我的问题是愚蠢的简单。只需在应用程序的开头呼叫生成的AllowSetForegroundWindow(ASF_ANY);
,因此将允许原始过程通过使用SetForegroundWindow()
将自己带到前景。没有奇怪的黑客,只需添加一行代码,无法修改qtsingleapplication。
其他提示
可以将setwindowopacity设置为0到1。唯一的是您可以随时打开它
不隶属于 StackOverflow