回复: qt编写一个只能运行单个实例的程序,不用Windows API
#11 回 cjmdaixi 的帖子 [stlcours 08-17 06:13]
cjmdaixi:通过QSettings就可以实现。程序启动时,首先检查QSettings中是否能找到已启动程序的HANDLE,没有的话启动该程序然后通过QSettings设置该HANDLE为当前程序,否则启动QSettings中找到的HANDLE,退出当前程序。该好处是,你可以通过QSettings传递任意多的信息,包括最大化最小化窗体 .. (2016-08-16 10:55)
请问你这个HANDLE是什么意思呢?是Windows的句柄吗?如果是这样,岂不是与平台相关了?
另外你说的“否则启动QSettings中找到的HANDLE”,请问怎样才能启动另一个程序呢,即使已经知道它的Handle。
我的理解,你这个QSetting就是一个共享文件,把需要的信息都提前写在里面,请问是这样吗?
#12 [mrmagic 08-19 08:44]
问题已解决,谢谢各位!
#13 回 mrmagic 的帖子 [stlcours 08-19 15:46]
mrmagic:问题已解决,谢谢各位! (2016-08-19 08:44)
怎么解决的,具体数一下行吗?特别是激活前一个程序。
#14 回 mrmagic 的帖子 [cjmdaixi 08-22 14:38]
mrmagic:问题已解决,谢谢各位! (2016-08-19 08:44)
这种结贴方式真是无语,既然问题已解决,为什么不说下怎么解决的、用了什么方法?你这样以后谁还会帮你呢?论坛的帖子最重要的是帮助后来的学习者有个完整的上下文,你这样子的话,等于我们前面帮你写的那些东西都白写了。
#15 [mrmagic 08-22 20:45]
不好意思哈,采用的是5楼提到的QLocalSocket/QLocalServer的方法,具体代码可以看http://wenku.baidu.com/view/e9a2da0577232f60dccca125.html?from=search