1
2
3
4
5
6
QLockFile *lockFile = new QLockFile("temp/appName.app.lock");
if (!lockFile ->tryLock(2000)) { //上锁失败,不能启动
qDebug() << "app is running";
} else {
qDebug() << "app is not running";
}

1、QLockFile的构造函数的参数就是指定一个锁文件的地址

2、tryLock的参数为等待时间

3、如果程序没有启动则对文件上锁,如果启动则退出


还有通过本地 Socket 的方式,可使用 QSingleApplication

摘录自:https://www.cnblogs.com/xupeidong/p/11152920.html