2012-02-08 58 views
0

我有2個程序:從Qt程序運行外部進程,有一些變化

程序1 - 我寫的一個Qt程序。

程序2 - 一個程序不是寫的。

我的目標是從程序1運行程序2(我知道該怎麼做)。

然而,我的問題是,程序2有一些它所尋找的.ini文件。事實證明,目錄程序2看起來不是可執行文件的目錄,而是進程目錄開始可執行文件...在這種情況下程序1.

所以我的錯誤讀取這樣的東西:

「無法在目錄ç找到文件xxx.ini://程序的目錄1 // inifiles // ...

我的問題是...有什麼辦法可以去解決這個?我知道這有點令人困惑,所以請告訴我是否有意義。

回答

4

假設你ar如果使用QProcess啓動程序2,則需要通過調用QProcess::setWorkingDirectory(const QString &dir)來設置工作目錄。

documentation狀態:

設置工作目錄目錄。 QProcess將在 這個目錄中啓動該進程。默認行爲是在調用進程的 工作目錄中啓動進程。

0

如果你想找出哪些目錄您目前使用的嘗試是這樣的:

QDir application_dir = QDir(QDir::currentPath()); 

這對於調試非常有用。