27 lines
806 B
C++
27 lines
806 B
C++
#include "widget.h"
|
|
#include <QApplication>
|
|
#include <QCoreApplication>
|
|
#include <QProcess>
|
|
#include <QSharedMemory>
|
|
|
|
int main(int argc, char *argv[])
|
|
{
|
|
static QSharedMemory *shareMem = new QSharedMemory("IPBS_Station"); //创建“SingleApp”的共享内存块
|
|
if (!shareMem->create(1))//创建大小1b的内存
|
|
{
|
|
// QMessageBox::information(nullptr, "提示", "程序已经运行了!");
|
|
// qApp->quit(); //创建失败,说明已经有一个程序运行,退出当前程序
|
|
return -1;
|
|
}
|
|
QApplication a(argc, argv);
|
|
Widget w;
|
|
w.show();
|
|
try {
|
|
return a.exec();
|
|
} catch (...) {
|
|
// 发生异常时重启程序
|
|
QProcess::startDetached(QApplication::applicationFilePath(), QApplication::arguments());
|
|
exit(1);
|
|
}
|
|
}
|