欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 房产 > 家装 > 在Qt中获取Windows中进程的PID

在Qt中获取Windows中进程的PID

2025/4/19 18:18:48 来源:https://blog.csdn.net/joyopirate/article/details/140868198  浏览:    关键词:在Qt中获取Windows中进程的PID

主要是用到了系统自带的工具【tasklist.exe】
利用 QProcess调用这个tasklist有一点坑,已经在代码中指出了。
指定为csv格式输出的话,在后处理时比较方便。

QList<quint64> listProcessIdentifier(QString processName)
{QProcess process;QStringList mList;// 这里的 "IMAGENAME eq %1" 不知道为啥不能写成 "\"IMAGENAME eq %1\"",明明在cmd窗口输入时需要加引号mList << "/FI" << QString("IMAGENAME eq %1").arg(processName) << "/FO" << "CSV";process.start("tasklist.exe", mList);process.waitForStarted();process.waitForFinished();QString ret = process.readAll();ret = ret.trimmed();QList<quint64> pidList;QStringList resultList = ret.split("\r\n");resultList.removeFirst(); // 去掉表头if(resultList.length() > 0){foreach (const QString &str, resultList){QString pidStr = str.split(",").at(1);pidStr.replace("\"", ""); // 清除双引号pidList << pidStr.toUInt();// qDebug() << str << pidStr;}}return pidList;
}

可以看到,得到的结果与在任务管理器中看到的是一致的。
在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词