#include "widget.h" #include #include #include #include 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); } }