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; }
分类:
Qt
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现