QT 周期性的杀死一个进程(软件),一分钟后自动退出

1.原因:某软件开机自启动很烦,搞一个程序干掉这个自启动的软件

2.QT代码

  • main.cpp
cpp 复制代码
#include "KillXXX.h"
#include <QtWidgets/QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    KillXXX k;
    return a.exec();
}
  • KillXXX.h
cpp 复制代码
#include <QtCore/QObject>

class KillXXX : public QObject
{
    Q_OBJECT

public:
    KillXXX(QObject*parent = nullptr);
    ~KillXXX();

    void KillAppProcess();
private slots:
    void On_timeout();
private:
    QTimer* myTimer;
    int count;
};
  • KillXXX.cpp
cpp 复制代码
#include "KillXXX.h"
#include <QTimer>
#include <QProcess>
KillXXX::KillXXX(QObject*parent)
    : QObject(parent)
{
    count = 0;
    myTimer = new QTimer(this);
    connect(myTimer, &QTimer::timeout, this, &KillXXX::On_timeout);
    myTimer->start(10000);
}

KillXXX::~KillXXX()
{
}

void KillXXX::KillAppProcess()
{
    QString processName = "进程名.exe"; // 要关闭的进程名称
    // 使用taskkill命令关闭进程
    QString command = "taskkill /F /IM " + processName ;
    QProcess::startDetached("cmd.exe", QStringList() << "/c" << command);
}

void KillXXX::On_timeout()
{
    if (count >= 6)
    {
        myTimer->stop();
        delete myTimer;
        myTimer = nullptr;
        this->deleteLater();
    }
    KillXXX::KillAppProcess();
    ++count;
}

3.利用windeployqt打包这个.exe文件,加入开机自启动就可以啦

怎么打包一个软件(点击链接:https://blog.csdn.net/dfr110719/article/details/136992619)

相关推荐
六元七角八分1 分钟前
CSDN文章如何转出为PDF文件保存
开发语言·javascript·pdf
froginwe119 分钟前
MongoDB 删除数据库
开发语言
Java小混子9 分钟前
golang项目CRUD示例
开发语言·后端·golang
想搞艺术的程序员13 分钟前
Go 优雅关闭实践指南:从原理到框架落地
开发语言·后端·golang
m5655bj17 分钟前
Python 查找并高亮显示指定 Excel 数据
开发语言·python·excel
洛克希德马丁40 分钟前
Qt 配置Webassemble环境
开发语言·qt·webassembly·emscripten·emsdk
武子康40 分钟前
Java-167 Neo4j CQL 实战:CREATE/MATCH 与关系建模速通 案例实测
java·开发语言·数据库·python·sql·nosql·neo4j
自由的好好干活43 分钟前
C#桌面框架与Qt对比及选型(国产操作系统开发视角)
开发语言·qt·c#
upward_tomato1 小时前
python中模拟浏览器操作之playwright使用说明以及打包浏览器驱动问题
开发语言·python
lsx2024061 小时前
jEasyUI 合并单元格详解
开发语言