Qt提供的QProcess类,可用于启动外部程序,并与之交互通信。
1.启动外部程序的两种方式
(1)一体式:
void QProcess::start(const QString & program, const QStringList & arguments, OpenMode mode = ReadWrite)
外部程序启动后。将随主程序的退出而退出。
(2)分离式:
void QProcess::startDetached(const QString & program, const QStringList & arguments, const QString & workingDirectory = QString(), qint64 * pid = 0)
外部程序启动后,当主程序退出时并不退出,而是继续执行。
注意:当程序路径中含有空格的时候,仅设置程序路径program是无法被识别的。解决方法是再将程序路径传递给arguments。
比如:
//1-不带空格。能够启动
process->start("F:/AppInst/115/115com/115com.exe");
//2-带空格,无法启动
process->start("C:/Program Files/HaoZip/HaoZip.exe");
//3