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)

相关推荐
野生技术架构师4 分钟前
牛客网互联网大厂 Java 高频面试题整理(持续更新)
java·开发语言
小师兄吃牛肉27 分钟前
Java语法 | 多重循环
java·开发语言·python
Han.miracle40 分钟前
MySQL InnoDB:MVCC、记录锁、间隙锁、二级索引MVCC底层原理
java·开发语言
.YM.Z1 小时前
C++——【红黑树】原理详解:定义、性质、插入变色与旋转实现
开发语言·c++
leisoo80971 小时前
融资融券数据怎么查两融指标含义与杠杆观察方法 IG50免费开源股票数据API接口
开发语言·jvm·数据库·python·json
霸道流氓气质2 小时前
多Agent通信机制与协议设计完全指南:从FIPA-ACL到A2A/MCP的Java生产级实战
java·开发语言
weixin_419658312 小时前
CANoe 使用指南:从输出窗口到数据回放的完整实战教程
开发语言·功能测试·车载系统·自动化·汽车
当青春邂逅吉米多维奇2 小时前
C#图解教程(第5版) 同步方法
开发语言·c#
骇客野人2 小时前
Java BIO / NIO / AIO 完整详解 + 编程技巧
java·开发语言·nio