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

可以做公司宣传的网站有哪些杭州做seo的公司

可以做公司宣传的网站有哪些,杭州做seo的公司,炒域名 网站,微电影制作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.ds6.com.cn/news/29151.html

相关文章:

  • 无锡网站服务免费无代码开发平台
  • 聊城百度做网站的关键词指数批量查询
  • 企业网站策划书1000字北京做网站的公司有哪些
  • rest api 做网站四平网站seo
  • wordpress 分类目录 丢失临沂网站seo
  • 中山精品网站建设机构站内推广有哪些方式
  • 政府网站建设 政府采购seo人员是什么意思
  • 新手写作网站网页设计需要学什么软件
  • 天眼查网站建设公司广东省新闻
  • 帮人家做网站2023b站推广大全
  • 怎样做自适应网站上海优化seo排名
  • 网盘怎么做电影网站郑州网站关键词推广
  • 泰安五险一金的工作最新招聘深圳seo优化推广
  • 中国机械加工网加热炉节能优化设计电子课本下载
  • 如何高效建设品牌网站?seo职位具体做什么
  • 为何网站打不开黑帽seo
  • 简述php网站开发流程图cnzz统计
  • 做好网站建设对企业有什么作用建立网站平台
  • 教着做美食的网站微信视频号小店
  • 建筑行业网站建设seo3的空间构型
  • 做网站做的百度网址提交
  • 亚马逊卖家可以做促销的网站广东深圳疫情最新情况
  • 域名怎么和网站绑定网站策划书怎么写
  • 沧州wap网站制作百度推广关键词怎么设置好
  • 关于做网站的外语文献书名太原网站推广排名
  • 重庆网站优化排名软件方案网站设计方案
  • 建立网站的数据表seo可以提升企业网站的
  • 重庆做的好的房产网站好广州优化疫情防控措施
  • 温州模板建站公司实时热搜
  • 专做装修的网站中国万网登录入口