qtcreator 程序单例运行

默认可以同时打开N个窗口

但是有时候要求程序只能单例运行,比如爬虫

这时候

 

 这个文件中

 添加两个头文件

#include <QDir>
#include <QLockFile>

然后再从main函数中合适的位置添加如下语句

 QString path = QDir::temp().absoluteFilePath("SingleApp.lock");
    QLockFile lockFile(path);

     bool isLock = lockFile.isLocked();
     (void)isLock; // 没什么实际意义
     // tryLock尝试创建锁定文件。此函数如果获得锁,则返回true; 否则返回false。
     // 如果另一个进程(或另一个线程)已经创建了锁文件,则此函数将最多等待timeout毫秒
     if (!lockFile.tryLock(100))
     {
         qDebug() << "已运行中";
         return 0;
     }

 

posted @ 2021-11-08 14:06  不打鱼光晒网  阅读(226)  评论(0)    收藏  举报