当前位置: 首页 > news >正文

在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;
}

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

http://www.lryc.cn/news/413106.html

相关文章:

  • 8.1-java+tomcat环境的配置+代理
  • gorm框架实现基本的增删改查
  • AUTOSAR介绍
  • 10. 计算机网络HTTP协议
  • “职场中,不要和上司作对”,真的很重要吗?你认同这句话吗?
  • 可视化目标检测算法推理部署(一)Gradio的UI设计
  • 【PyTorch】基于YOLO的多目标检测项目(一)
  • spring boot 实现 Stream 钉钉事件订阅
  • 基于 Rough.js 的 Vue 散点图绘制
  • 【c++】用c++指针传递来模拟“靶向治疗”
  • 如何开启idea中的断言功能?
  • 大模型之语言大模型技术
  • 浮点数例外 (核心已转储) 的问题记录
  • Vite项目中根据不同打包命令配置不同的后端接口地址,proxy解决跨域
  • Java新手启航:JDK 21 版本安装,开启编程之行
  • Redis学习[5] ——Redis过期删除和内存淘汰
  • 书生大模型学习笔记 - Python
  • spring security和核心流程
  • JavaScript青少年简明教程:面向对象编程入门
  • 电话号的标准
  • 项目实战_表白墙(升级版)
  • 创意无限:11个设计圈热议的UI设计灵感网站集锦
  • C# Solidworks二次开发------综合小设计-1
  • nginx rtmp服务器搭建
  • 打卡第31天------贪心算法
  • jenkins服务器重启,构建记录消失
  • Linux系统部分问题处理方案
  • C语言指针与数组
  • Stream 33
  • 【Python Loguru】实现日志工具和日志饶接