【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;
}

 

后记:

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

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

 

转载于:https://www.cnblogs.com/13373-/p/11491674.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值