QProcess 启动外部程序

阅读更多

1. 堵塞运行

QProcess process;
process.execute( "sub.exe", params ); 
process.waitForFinished();

 execute 方法以堵塞方式执行程序,直到程序退出。

 

2. 异步运行

process.start( "sub.exe", params );

start 方法单独启动一个进程,hdbwrite命令位于系统环境变量中。 

 

3. 程序路径

有时要执行一个单独的小程序,不想配置至系统环境变量,怎么办?

如程序目录:

| -- test
|      |
|      | -- main.exe 
|      | -- subdir 
|               | -- sub.exe
|

 

方法一:

把subdir内容全部放至test主目录下,直接可通过以下代码启动。

process.start( "sub.exe" );

 

方法二:

所有程序放在一个目录,强迫症的童鞋可接受不了。可设置程序工作目录启动程序。

process.setWorkingDirectory( "./subdir" );
process.start( QApplication::applicationDirPath() + "subdir/sub.exe" );

 

 

 

你可能感兴趣的:(QProcess,启动外部程序,带目录)