美文网首页
2021-03-11---tasklist /FI命令

2021-03-11---tasklist /FI命令

作者: w123_sz | 来源:发表于2021-03-11 11:17 被阅读0次

    进程名:

    1.进程名如果不加 .exe后缀,与任务管理器中的不一致就会失败;

    2. 对进程名大小写不敏感,大小写无所谓

    命令参数需用引号隔开,否则不能识别

    tasklist /FI命令结论:

    1. 对于空格不敏感。无论是 tasklist/fi,  tasklist /fi都可以;

    2. 对于大小写不敏感,

    tasklist /fi  =  TASKLIST /FI  = tasklist /fi

    imagename= IMAGENAME

    示例进程名字 systime.exe =  sysTime.exe

    都不会报错

    3. 后面的参数必须加引号;

    4. 进程名必须和任务管理器中的名字一致,那里面如果有.exe后缀,此处命令中必须也有后缀。

    验证通过的QT代码:

    bool IfProcessIsRuning(const QString &appName)

    {

    #ifdef Q_OS_WIN      //表示如果在windows下

        qDebug()<< __FUNCTION__;

        QProcess process;

      process.start("tasklist" ,QStringList()<<"/FI"<<"imagename eq " +appName);  //执行tasklist程序

        //process.start("tasklist");  //执行tasklist程序----这种方式也行,只是后面读出来的内容有点多。

        process.waitForFinished(5000);    //阻塞5秒等待tasklist程序执行完成,超过五秒则直接返回

        QString outputStr = QString::fromLocal8Bit(process.readAllStandardOutput()); //把tasklist程序读取到的进程信息输出到字符串中

        if(outputStr.contains(appName))

        {

            process.close(); //用完记得把process关闭了,否则如果重新调用这个函数可以会失败

            //qDebug()<<" OK, have found it!";

            return true;

        }

        else

        {

            process.close();

            //qDebug()<<" No, can't find it!";

            return false;

        }

    #endif

    }

    相关文章

      网友评论

          本文标题:2021-03-11---tasklist /FI命令

          本文链接:https://www.haomeiwen.com/subject/dwmnqltx.html