QProcess可以启动外部exe程序、执行bat批处理脚本、执行cmd命令等
启动方式有两种:
- 一体式
外部程序启动后,将随主程序的退出而退出。
void QProcess::start(const QString &program, const QStringList &arguments, OpenMode mode = ReadWrite)
例:
QProcess process;
process.start("C:\\Windows\\System32\cmd.exe");
// same as process.start("C:\\Windows\\System32\cmd.exe", QStringList());
...
- 分离式
外部程序启动后,当主程序退出时并不退出,而是继续运行。
void QProcess::startDetached(const QString & program, const QStringList & arguments, const QString & workingDirectory = QString(), qint64 * pid = 0)
例:
QProcess process;
process.startDetached("C:\\Windows\\System32\cmd.exe");
// same as process.startDetached("C:\\Windows\\System32\cmd.exe", QStringList());
...