Qt中让程序只运行一个实例
时间:2010-10-27 来源:Luis Yang
#include <QtGui/QApplication> #include <solutions/QtSingleApplication> #include "mainwindow.h" int main(int argc, char *argv[]) { QtSingleApplication a("{713E7522-619C-4072-9BF4-7DAAF2857329}",argc,argv); QString msg; if( argc >= 2 ) { msg = argv[1] ; } if (a.sendMessage(msg)) { return 0; } a.initialize(); MainWindow w; w.show(); QObject::connect(&a, SIGNAL(lastWindowClosed()), &a, SLOT(quit())); QObject::connect(&a, SIGNAL(messageReceived(const QString&)), &a, SLOT(activateMainWidget())); return a.exec(); }
这样就可以实现我们所想达到的效果了。但在编写程序的过程中我们需要注意以下两点:
1,如何生成guid(在vs2005的工具里面点击创建GUID,选择好格式以后就生成了)
2,别忘了在项目属性的附加依赖项里面将QtSingleApplicationd.lib加上
相关阅读 更多 +