判断QT程序是否重复运行

作者 : admin 本文共531个字,预计阅读时间需要2分钟 发布时间: 2024-06-17 共1人阅读

打开exe,再次打开进行提示。

判断QT程序是否重复运行插图

main.cpp添加:

#include "QtFilePreview.h"
#include 
#include 
#include 
#pragma execution_character_set("utf-8")


bool CheckRun()
{
    //  创建互斥量
    HANDLE m_hMutex = CreateMutex(NULL, FALSE, L"onlyone");
    //  检查错误代码
    if (GetLastError() == ERROR_ALREADY_EXISTS) {
        //  如果已有互斥量存在则释放句柄并复位互斥量
        CloseHandle(m_hMutex);
        m_hMutex = NULL;
        //  程序退出
        return  false;
    }
    else
        return true;
}


int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    if (CheckRun() == false)
    {
        QMessageBox::information(nullptr,"tips","this program has already been run
程序已经运行");
        return 0;
    }
    QtFilePreview w;
    w.show();
    return a.exec();
}

本站无任何商业行为
个人在线分享 » 判断QT程序是否重复运行
E-->