QT应用程序单实例运行
来源:互联网 发布:java接口安全设计 编辑:程序博客网 时间:2024/05/02 00:56
我们经常会做一些软件、程序只希望有最多一个运行实例。我从网上找到了个方法,虽然现在还不太明白原理,但是这种方法总算会用了。
原文摘自:http://dev.firnow.com/course/3_program/c++/cppxl/20100531/206675.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
int
main(
int
argc,
char
*argv[])
{
QApplication a(argc, argv);
QSharedMemory *shareMem =
new
QSharedMemory(QString(
"SingleInstanceIdentify"
));
/* if the sharedmemory has not been created, it returns false, otherwise true.
* But if the application exit unexpectedly, the sharedmemory will not detach.
* So, we try twice.
*/
volatile
short
i = 2;
while
(i--)
{
if
(shareMem->attach(QSharedMemory::ReadOnly))
/* no need to lock, bcs it's read only */
{
shareMem->detach();
}
}
if
(shareMem->create(1))
{
MainWindow w;
w.show();
a.exec();
if
(shareMem->isAttached())
shareMem->detach();
delete shareMem;
}
return
0;
}
当然别忘了在开头加上#include<QSharedMemory>
这段代码应该不用我多解释什么,虽然不太好理解,但是这段代码的用法对于QT入了门的人一目了然。
- QT应用程序单实例运行
- QT应用程序单实例运行
- QT应用程序单实例运行
- QT应用程序单实例运行
- Qt实现应用程序单实例运行--LocalServer方式
- Qt实现应用程序单实例运行-LocalServer方式
- Qt应用程序单实例化
- C# windows应用程序单实例运行实例
- 如何让应用程序单实例运行
- WinCE下应用程序的单实例运行
- WinCE下应用程序的单实例运行
- 单实例运行Java桌面应用程序
- Qt应用程序只运行一个实例
- 让Qt应用程序只运行一个实例
- Qt应用的单实例运行
- 利用C#线程机制实现应用程序的单实例运行
- [linux手机平台]让应用程序单实例运行
- 使windows应用程序单实例运行(C#)
- Linux环境的系统配置文件
- 开发者需知的10类工具
- C 将整数变成字符串
- 负载均衡(LVS+Keepalived实现高可用集群)
- Halcon:立体匹配
- QT应用程序单实例运行
- 最简单易懂拿来就可以用的Javascript知识
- Halcon:基本例程
- Win7 - RedHat Linux 下配置samba
- Maven POM 元素参考表
- Jar包双击不能打开的解决办法
- Halcon基本例程(二)
- 关于struts2 多线程问题
- 计算机网络技术