Qt 防止多个相同程序共存

1、开发环境:QtCreator4.8.2 + Qt5.12.2

2、设计背景:Qt 程序复杂的时候,程序不能启动多个同名程序,否者资源调用上可能会存在冲突

3、设计思想:Qt 程序需要具备独立性,需要根据程序名做互斥,核心方法根据互斥名申请共享内存,

        每次程序启动时判断共享内存是否唯一,如果存在相同程序名关键字的共享内存,直接界面提示。

4、软件代码:

    /* 创建应用 */
    QApplication a(argc, argv);
/* 程序的单一实现 同名程序只能打开一个 */ QString uniqueKey = QCoreApplication::applicationName(); // 创建唯一的标识符 QSharedMemory sharedMemory(uniqueKey); // 全局对象名 if (!sharedMemory.create(1)) // 如果全局对象以存在则退出 { QMessageBox::information(nullptr, QString::fromLocal8Bit("提示:"), QString::fromLocal8Bit("检测到已有相同程序打开\r\n" "请检查是否有相同程序在后台运行!")); return 0; }

 

posted on 2023-08-01 11:08  掌控命运  阅读(100)  评论(0)    收藏  举报

导航