c++ - 恢复或将 Qt 桌面应用程序置于最前面

标签 c++ qt singleton

我已经使用在这个 SO 问题上找到的 RunGuard 代码将我的应用程序变成了单实例应用程序:

Qt: Best practice for a single instance app protection

我想做的是,当用户尝试启动正在运行的应用程序时,将现有正在运行的应用程序置于最前面,如果已最小化,则将其恢复。

在我使用 Delphi Windows 编程的日子里,我常常在关闭新应用程序之前从它广播一条 Windows 消息。现有的应用程序会收到此信息并自行恢复并走到最前面。

Windows 和 Linux 平台上的 Qt 是否可以实现类似的功能?

最佳答案

您在使用 QtSingleApplication 时遇到过任何具体问题吗?它应该足以满足您的需求,并使您能够向正在运行的应用程序发送消息。您只需要一个插槽来获取该消息,如果它符合您的预期,那么您就可以恢复它。

http://doc.qt.digia.com/solutions/4/qtsingleapplication/qtsingleapplication-example-trivial.html

The logview object is also set as the application's activation window. Every time a message is received, the window will be raised and activated automatically.

关于c++ - 恢复或将 Qt 桌面应用程序置于最前面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30210827/

相关文章:

C++单例与完全静态对象

c++ - 在 Release模式下启用 _CrtDumpMemoryLeaks()

c++ - 来自 QFrame 的 Qt 气球窗口

c++ - qt/c++ 动态命名变量

c++ - 使用 Qt 从网站提取信息?

iphone - 单例更改不会保存到下一个 View IOS

c++ - 静态方法的类型定义

c++ - c++中的多态——通过指针访问函数

C++ - Linux 中的 grep 路径

php - 单例对于微博网站来说是一个好的设计模式吗?