IPBS_Station/main.cpp
2025-09-05 08:44:30 +08:00

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);
}
}