2015-05-07 202 views
2

我開始使用QProcess :: startDetached的外部工具,它不啓動。日誌講述:QProcess的路徑要求:: startDetached

... LOG:...Starting...: C:/Program Files (x86)/AESKU.SYSTEMS/HELIOS/mytool.exe --minimize 
... WARNING...failed...: C:/Program Files (x86)/AESKU.SYSTEMS/HELIOS/mytool.exe --minimize 

使用

"C:\Program Files (x86)\AESKU.SYSTEMS\HELIOS\mytool.exe" --minimize 

作品開始在終端工具。

因此,它不是由於「Program Files(x86)」中的空格或由於斜線錯誤而啓動的嗎?

在C++中我用的是電話:

if(!QProcess::startDetached(wlc_cmdLine)) 
    ... 
+2

由於空間。另外,你應該在一個單獨的變量中傳遞參數。 – Amartel

+0

對!這是原因。 –

回答

0

OK,不,我已經找到了。 的startDetached工作兩個版本:

QProcess::startDetached(some_command_line_string_with_args_but_without_spaces); 

QProcess::startDetached(some_command_line_string_without_args_but_with_spaces , QStringList()<<"--myarg"); 

在這兩個版本,即使是在Windows的斜槓,而不是本機背面斜線做工精細。