1. 堵塞运行
Cpp代码
QProcess process;
process.execute( "sub.exe", params );
process.waitForFinished();
execute 方法以堵塞方式执行程序,直到程序退出。
2. 异步运行
process.start( "sub.exe", params );
start 方法单独启动一个进程,hdbwrite命令位于系统环境变量中。
3. 程序路径
有时要执行一个单独的小程序,不想配置至系统环境变量,怎么办?
如程序目录:
Shell代码
- | -- test
- | |
- | | -- main.exe
- | | -- subdir
- | | -- sub.exe
- |
方法一:
把subdir内容全部放至test主目录下,直接可通过以下代码启动。
process.start( "sub.exe" );
方法二:
所有程序放在一个目录,强迫症的童鞋可接受不了。可设置程序工作目录启动程序。
Cpp代码
process.setWorkingDirectory( "./subdir" );
process.start( QApplication::applicationDirPath() + "subdir/sub.exe" );