获取占用内存

代码:

QString getUsedMemory(DWORD pid)
{
 char pidChar[25];
 //将DWORD类型转换为10进制的char*类型
 _ultoa(pid, pidChar, 10);

 //调用外部命令
 QProcess p;
 p.start("tasklist /FI \"PID EQ " + QString(pidChar) + " \"");
 p.waitForFinished();
 //得到返回结果
 QString result = QString::fromLocal8Bit(p.readAllStandardOutput());
 //关闭外部命令
 p.close();

 //替换掉","
 result = result.replace(",", "");
 //匹配 '数字+空格+K'部分。
 QRegExp rx("(\\d+)(\\s)(K)");
 //初始化结果
 QString usedMem("");
 if (rx.indexIn(result) != -1) {
  //匹配成功
  usedMem = rx.cap(0);
 }
 //截取K前面的字符串,转换为数字,供换算单位使用。
 usedMem = usedMem.left(usedMem.length() - 1);
 //换算为MB的单位
 return QString::number(usedMem.toDouble() / 1024) + " MB";
}