QT应用程序单实例运行
2011-12-01 10:01
134 查看
我们经常会做一些软件、程序只希望有最多一个运行实例。我从网上找到了个方法,虽然现在还不太明白原理,但是这种方法总算会用了。
原文摘自:http://dev.firnow.com/course/3_program/c++/cppxl/20100531/206675.html
当然别忘了在开头加上#include<QSharedMemory>
这段代码应该不用我多解释什么,虽然不太好理解,但是这段代码的用法对于QT入了门的人一目了然。
原文摘自:http://dev.firnow.com/course/3_program/c++/cppxl/20100531/206675.html
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实现应用程序单实例运行--LocalServer方式
- Qt应用程序只运行一个实例
- Qt实现应用程序单实例运行--LocalServer方式
- QT应用程序单实例运行
- Qt应用程序只运行一个实例
- 让Qt应用程序只运行一个实例
- QT应用程序单实例运行
- QT中实现程序只运行一个实例--应用程序的单例化
- Qt实现应用程序单实例运行--LocalServer方式
- 如何用Qt写一个同一时间只能运行一个实例的应用程序
- C#如何让应用程序只有一个实例在运行
- 只运行一个应用程序的实例
- QT 设置应用程序开机自动运行
- Windows下qt的环境配置及运行一个c++"hello world"实例详细步骤
- 基于.Net平台应用程序唯一运行实例C#代码实现
- 使Qt程序在Windows系统中仅运行一个实例
- 使windows应用程序单实例运行(C#)
- mfc应用程序只运行一个实例