【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; }
后记:
是不是很刺激啊,程序运行一次没事,运行第二次直接没反应。
哈哈哈哈哈,如果有问题或者想法,欢迎评论提问哦。