inputstr = ui->lineEdit->text(); QProcess process; QString appName(inputstr); //这个变量必须这样声明并赋值,否则process.start()的第二个参数不会是一个有效参数,也就无法输出进程信息,打印一下这一串字符串就知道为什么了 process.start("tasklist" ,QStringList()<<"/FI"<<"imagename eq "+appName); //这一句等价于process.start("tasklist" ,QStringList()<<"/FI"<<"imagename eq QQ.exe"); process.waitForFinished(); QString outputStr = QString::fromLocal8Bit(process.readAllStandardOutput());
qDebug()<<outputStr; if(outputStr.contains(inputstr))//如果找到了这个进程,则发送信号开启两个计时器 emit timer_start(); else//否则什么都不执行 emit lookupfail();