我已經用QtCreator和C++編寫了一個qt快速桌面應用程序。從Qt和C++中的另一個應用程序啓動一個應用程序問題
我想從我的應用程序啓動另一個應用程序。我搜索並找到了這些選項:Qprocess,具有函數:start,startDetached和execute。
我想要啓動的應用程序是單個應用程序,其他人建議我使用函數startDetached。
我選擇了startDetached功能的此選項:
bool startDetached (const QString & program, const QStringList & arguments, const QString & workingDirectory, qint64 * pid = 0)
這裏是我的代碼:
QProcess *process=new QProcess(this);
bool res;
QStringList argsList;
argsList.append("-start");
process->startDetached(emulauncherInstallationDirectory + "\\Emulauncher.exe",argsList,emulauncherInstallationDirectory);
res = process->waitForFinished();
delete process;
process=NULL;
return res;
,但是當我跑步時我的應用程序,它工作得很好,有時,和不在其他時間工作。
我已經調試了很多次,看到該功能
流程 - > waitForFinished();
返回false或true,沒有任何明顯的原因:在任何時候.exe文件都在它的位置,如果我從命令行運行它,或者通過雙擊文件,它運行良好,但從我的應用程序 - 它有時運行良好,有時甚至沒有。
任何人都知道任何理由或任何解決這個奇怪的問題?
任何答案將不勝感激。