当前位置: 首页 > news >正文

网站301在哪里做策划方案怎么做

网站301在哪里做,策划方案怎么做,惠州惠城网站建设,政府网站建设升级白皮书Qt 利用共享内存实现一次只能启动一个程序 文章目录 Qt 利用共享内存实现一次只能启动一个程序摘要利用共享内存实现一次只能启动一个程序示例代码 关键字: Qt、 unique、 单一、 QSharedMemory、 共享内存 摘要 今天接着在公司搞我的屎山代码,按照…
头图

Qt 利用共享内存实现一次只能启动一个程序

文章目录

  • Qt 利用共享内存实现一次只能启动一个程序
    • 摘要
    • 利用共享内存实现一次只能启动一个程序
    • 示例代码

关键字: Qtunique单一QSharedMemory共享内存

摘要

今天接着在公司搞我的屎山代码,按照投资方的要求,我需要给我的程序加一个系统自检检测的功能,但是呢,我的程序已经很烂了,一度想重构了他,所以这里我就暂时吧这个功能做成了一个进程,这样就可以独立运行,等后期重构的时候,直接拷贝过去。

因为不可抗力的因素,我的代码无法直接分享,但是咱可以写Demo来说明白。

利用共享内存实现一次只能启动一个程序

记得之前写过一般基于Socket的功能,但是我翻我之前的文章没有发现这个东西。就不放链接了,这里感兴趣的下伙伴可以自行摸索下。其实如果纯做win的下这个功能,可以直接调用win 的API,为了防止老板出啥幺蛾子,我这里就一劳永逸,直接用Qt的内用实现。

为了确保Qt程序有且只有一个实例在运行,使用QSharedMemory类来检查是否已经有一个实例在运行。QSharedMemory是Qt中用于进程间共享内存的类,利用它在不同的程序实例之间共享一个小段内存。如果一个程序启动时发现这段共享内存已经被创建,那么它可以安全地假定已经有另一个实例在运行,并可以据此决定退出或采取其他措施

示例代码

#include <QApplication>
#include <QSharedMemory>
#include <QMessageBox>int main(int argc, char *argv[])
{QApplication app(argc, argv);// 创建一个唯一标识符QString uniqueId = "myUniqueAppId";// 创建共享内存QSharedMemory sharedMemory(uniqueId);// 尝试附加到共享内存,如果附加失败,说明没有实例在运行if (!sharedMemory.attach()) {// 尝试创建共享内存段,大小为1字节if (sharedMemory.create(1)) {// 创建成功,说明当前没有其他实例在运行// 在这里启动你的程序} else {// 创建共享内存失败,可能是权限问题等QMessageBox::critical(nullptr, QObject::tr("Error"),QObject::tr("Unable to create a single instance of the application."));return 1;}} else {// 能够附加到共享内存,说明已经有一个实例在运行QMessageBox::warning(nullptr, QObject::tr("Warning"),QObject::tr("An instance of the application is already running."));return 0; // 退出程序}// 你的程序主逻辑// ...return app.exec();
}

这段代码首先试图附加到一个名为myUniqueAppId的共享内存段。如果这一操作失败,它接着尝试创建这个共享内存段。如果创建成功,这表示当前没有其他程序的实例在运行,程序可以继续执行。如果附加成功,说明已经有一个实例在运行,此时可以显示一个错误消息并退出程序。

注意,这里的uniqueId需要是一个对于你的应用来说唯一的标识符。通常,你可以使用应用的ID、名称或者其他能够保证唯一性的字符串。


博客签名2021
http://www.dt0577.cn/news/32525.html

相关文章:

  • 常州自助做网站微指数
  • 济宁网站建设的公司免费cms建站系统
  • 如何设计一个网页系统搜索优化软件
  • 祺越网站建设谷歌推广怎么做最有效
  • 做爰网站美女网络营销推广工具有哪些?
  • 淄博网站关键词优化东莞整站优化推广公司找火速
  • 外国网站后台设计百度招聘平台
  • 做珠宝首饰网站网站seo内容优化
  • 个人可以做几个网站云南新闻最新消息今天
  • 陕西省住建厅网站官网宁波seo运营推广平台排名
  • No酒店网站建设百度搜索服务
  • 黑龙江省建设厅官方网站百度地图网页版
  • 郑州网站推广外包百度登录个人中心
  • wordpress仿互站网站推广在线
  • 做赌博彩票网站吗百度pc端提升排名
  • 用asp做网站需要什么软件网络营销五个主要手段
  • 安丘做网站的搜索引擎优化的主要手段
  • 公司做网站开票是什么项目上海网络推广公司
  • 福州高端网站制作三只松鼠软文范例500字
  • 成都哪家公司做网站今日新闻摘抄十条简短
  • 安溪网站建设简单网页设计模板html
  • 颜色调配网站网站排名查询alexa
  • 辽宁移动和生活app下载seo页面如何优化
  • 网站制作哪种好智能优化大师下载
  • 深圳沙井做网站sem推广是什么意思
  • 在线视频网站a一级爰a做免费东莞搜索优化
  • 哪里买域名便宜seo推广公司哪家好
  • 怎样用别人的网站做修改网站百度收录要多久
  • 福建建设职业管理中心网站关键词怎么选择技巧
  • 保定建设局网站重庆网站seo推广公司