1. 程式人生 > >QProcess 啟動外部程式

QProcess 啟動外部程式

1. 堵塞執行

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

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

2. 非同步執行

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

start 方法單獨啟動一個程序,hdbwrite命令位於系統環境變數中。 

3. 程式路徑

有時要執行一個單獨的小程式,不想配置至系統環境變數,怎麼辦?

如程式目錄:

  1. | -- test  
  2. |      |  
  3. |      | -- main.exe   
  4. |      | -- subdir   
  5. |               | -- sub.exe  
  6. |  

方法一:

把subdir內容全部放至test主目錄下,直接可通過以下程式碼啟動。

process.start( "sub.exe" );

方法二:

所有程式放在一個目錄,強迫症的童鞋可接受不了。可設定程式工作目錄啟動程式。

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