使用QProcess::startDetached
,我需要將來自另一個進程的動態參數列表傳遞給啓動進程。傳遞包含空格和引號的參數字符串
const QString & prog, const QStringList & args, const QString & workingDirectory ...)
注意,包含空格的參數不傳遞到過程 作爲獨立參數。
...
的Windows:包含空格的參數被包裝在引號。啓動的進程將作爲常規的獨立進程運行。
我有一個包含以下文本的字符串,它來自一個外部程序,而不在其上的任何控制:
-c "resume" -c "print 'Hi!'" -c "print 'Hello World'"
我需要上面的字符串傳遞給QProcess::startDetached
使得啓動程序捕獲它作爲與上面的字符串相同。
我必須解析字符串並建立一個字符串列表嗎?或者任何人有更好的解決方案?
具有'workingDirectory'參數的重載如何?我可以有你提到的重載並設置工作目錄嗎? – deepmax
有一個單獨的函數調用QProcess :: setWorkingDirectory:「將工作目錄設置爲dir,QProcess將在此目錄中啓動進程。」所以在你調用startDetached之前調用它。但是,您可能需要創建一個QProcess的實例才能正常工作。 – TheDarkKnight
'startDetached'是一個靜態方法,你確定它爲'startDetached'使用'QProcess'的內部屬性嗎? – deepmax