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   掌控命运  阅读(76)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示