QT二次防呆实现
我们QT程序打包好后,打开程序可以多次打开,容易造成通信紊乱,
人员操作不当,所以需要防止程序二次打开,并弹窗提醒。
QApplication a(argc, argv);
QSharedMemory sharedMemory("MyUniqueAppIdentifier");
if (sharedMemory.attach()) {
// 如果能够附加到已存在的共享内存,说明程序已经在运行
QMessageBox::warning(nullptr, "warn", "程序已经在运行,请勿重复打开!");
// QThread::msleep(5000);
return 0;
}
else
{
sharedMemory.create(1);
}