c – Qt中的单实例应用程序

参见英文答案 > Qt: Best practice for a single instance app protection7个
我想将.exe文件(更具体地说是控制台应用程序)集中到第一次启动它的一个正常运行的程序,但是当第二次执行时(第一次存在)它可以将焦点转移到第一个启动的程序. Qt中有可能吗?

解决方法

对于单个实例,请阅读 Run only one instance of a Qt application.

忽略可移植性,如果您在Windows上运行,另一种常见方法是在应用程序启动时创建named pipe(或named mutex),并在退出之前将其销毁.如果命名管道已存在,则另一个实例已在运行.您甚至可以写入命名管道,要求另一个实例将其窗口置于前面,尽管控制台应用程序可能无法从中受益.

聚焦现有实例的另一种方法是找到已经运行的实例的窗口,然后在其HWND上调用SetFocus,或者在平台上调用相应的函数.

相关文章

本程序的编译和运行环境如下(如果有运行方面的问题欢迎在评...
水了一学期的院选修,万万没想到期末考试还有比较硬核的编程...
补充一下,先前文章末尾给出的下载链接的完整代码含有部分C&...
思路如标题所说采用模N取余法,难点是这个除法过程如何实现。...
本篇博客有更新!!!更新后效果图如下: 文章末尾的完整代码...
刚开始学习模块化程序设计时,估计大家都被形参和实参搞迷糊...