Qt 检测第三方软件是否运行、杀死第三方进程

138 篇文章 196 订阅

前言

在 Qt 开发中,有时候想要检测某个软件是否正在运行,或者想通过在代码中杀死某个指定的进程名称,调用 Windows 原生接口可以实现相应的需求,也可以通过在终端中通过命令行的方式来实现,而这里要分享的是通过 Qt 执行终端命令来实现该功能,这种方式会比较简单,代码量也会非常少。

正文

检测第三方软件是否运行

bool CheckAppRunningStatus(const QString &appName)
{
#ifdef Q_OS_WIN
    QProcess* process = new QProcess;
    process->start("tasklist" ,QStringList()<<"/FI"<<"imagename eq " +appName);
    process->waitForFinished();
    QString outputStr = QString::fromLocal8Bit(process->readAllStandardOutput());
    if(outputStr.contains(appName)){
        return true;
    }
    else{
        return false;
    }
#endif
}

强制退出第三方软件

void KillAppProcess(const QString &appName)
{
#ifdef Q_OS_WIN
    QProcess p;
    QString c = "taskkill /im " + appName + " /f";
    p.execute(c);
    p.close();
#endif
}

以上终端命令都是通过查阅相关资料得知的,然后通过 Qt 的QProcess来执行命令,代码结构非常简单,可以直接拿来使用。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

luoyayun361

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值