• 【linux】【qt5】【qt程序防多开设置,通过设置共享内存实现,超短代码,超级有效】


    前言:

      博主做了一个即时通讯的app,里面有个托盘事件https://www.cnblogs.com/13373-/p/11347934.html 

    但是博主年纪大了老眼昏花容易看不到显示图标,就猝不及防的多开了一个(有时可能是好几个),挤过来挤过去的神烦。然后就诞生了这个防多开程序。网上捡的却十分好用。古来分享啊。

    正文:

      代码就很简单了,直接写在main函数里面,如下:

    #include "dialog.h"
    #include <QApplication>
    #include <QSharedMemory>
    #include <QMessageBox>
    
    
    int main(int argc, char *argv[])
    {
        QApplication a(argc, argv);
    
        QSharedMemory shared_memory;//事件对象
        shared_memory.setKey(QString("666666"));//设置一个ckKey
        if(shared_memory.attach())   //判断一下有没有程序启动
        {
            QMessageBox::information(NULL, "提示","程序已经打开!!","确定");//有程序在运行提醒 一下(不提醒也没关系哟)。
            return 0;
        }
        if(shared_memory.create(1)) //没有程序运行,打开程序。
        {
            Dialog w;
            w.show();
            return a.exec();
        }
        return 0;
    }

    后记:

      是不是很刺激啊,程序运行一次没事,运行第二次直接没反应。

      哈哈哈哈哈,如果有问题或者想法,欢迎评论提问哦。

  • 相关阅读:
    最优装载问题---贪心算法
    windows 10 资源管理器多余盘符去除
    js版本排序改造vue版本
    async and await
    echarts问题
    vue兼容到IE9
    expdp/impdp 参数说明,中英对照
    MySQL ibdata1文件迁移
    Oracle AWR报告提取方法
    Vertica DBD 分析优化设计
  • 原文地址:https://www.cnblogs.com/13373-/p/11491674.html
Copyright © 2020-2023  润新知