IPBS_Station/main.cpp

27 lines
806 B
C++
Raw Normal View History

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