主要是通过QProcess实现cmd命令tasklist,然后再将得到的信息写到表上,但是表中英文显示居然会乱码,也是醉了
QProcess ps1;
ps1.start("tasklist.exe");
if(ps1.waitForFinished())
{
QByteArray result = ps1.readAll();
QString ss(result);
//qDebug() << ss;
QStringList data = ss.split("\r\n");
int j=0;
for(QStringList::const_iterator i = data.begin();i!=data.end()-1;i++,j++)
{
if(j<3)continue;
// qDebug()<<*i<<" get";
QString sdata = *i;
QStringList ssdata = sdata.split(" ",QString::SkipEmptyParts);//分为一行一行的数据
pinfo info;
info.name = ssdata[0];
//
//qDebug()<<ssdata[1].trimmed();
QString tran = ssdata[1].trimmed(); //消除空格
QStringList tran2 = tran.split(" ");
info.pid = tran2[0];
info.huihuaname = tran2[1];
//
info.mem = ssdata[3];
info.huihua = ssdata[2];
//qDebug()<<info.name<<info.pid<<info.huihuaname<<info.huihua<<" get";
st.push_back(info);
}
}
具体代码到我的资源下载