一、执行命令行命令
QProcess p;
QString binPath = "D:/apple.exe";
QStringList args;
args.append("-v");
args.append("-d")
p.setProcessChannelMode(QProcess::MergedChannels);
p.start(binPath, args);
if (!p.waitForFinished()) {
qDebug() << "cmd failed:" << p.errorString();
}
else {
QString out = QString(p.readAll());
qDebug() << "cmd success:" << out;
}
二、打开应用程序
QProcess process;
process.start("tasklist");
process.waitForFinished();
QByteArray result = process.readAllStandardOutput();
if (-1 == result.indexOf("WXWork.exe")) {
QString wxPath = "\"" + m_localWxPath + "\"";
process.startDetached(wxPath);
}
注:m_localWxPath = "C:\Program Files (x86)\WXWork\WXWork.exe"
对于程序路径中含有空格的,如果不做处理,那么QProcess不执行,可以做如上代码特殊处理
参考:QProcess start()方法调用外部程序路径带空格的终极解决办法
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)