目录
使用示例:
void Widget::on_pushButton_clicked()
{
//进程在运行中则返回true,否则返回false
qDebug()<<WhetherProcessRunning(QString("WeChat.exe"));
}
实现原理:
通过QProcess类执行cmd命令(tasklist),获取当前的进程列表,然后根据指定的进程名和返回的结果进行比对,从而判断进程是否在运行
实现代码:
//注意:需要包含头文件#include <QProcess>
bool Widget::WhetherProcessRunning(QString &processName)
{
QProcess process;
QString cmd = "tasklist";
process.start(cmd);
process.waitForFinished(); //等待进程结束
QString str = process.readAllStandardOutput();//获取执行命令后的输出内容
if(str.contains(processName))//判断是否有包含当前指定的进程名
{
return true;
}
else
{
return false;
}
}
进程名字获取:
打开任务管理器 -》 右键点击某个进程 -》 点击属性 -》 最后执行画面如下图: