步骤:
1.打开软件时创建一个共享内存。
2.关闭时释放该共享内存。
3.每次打开时检测共享内存是否已经存在。
注:意外闪退时,会导致共享内存没有释放,无法再次打开的问题。
int main(int argc, char **argv)
{
QApplication app(argc, argv);
QCoreApplication::setOrganizationName("Company");
QCoreApplication::setApplicationName("AppName");
QString strKey = QCoreApplication::organizationName() + QCoreApplication::applicationName();
QSharedMemory sharedMemory(strKey);
if (!sharedMemory.create(512, QSharedMemory::ReadWrite))
{
QMessageBox::information(NULL, QStringLiteral("提示"), QStringLiteral("程序已运行!"));
exit(0);
}
MainWindow window;
window.show();
return app.exec();
}