QProcess :: startDetached的路径要求

时间:2015-05-07 12:55:05

标签: c++ qt qprocess

我正在使用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 ))
    ...

1 个答案:

答案 0 :(得分:0)

好的,不,我发现了。 两个版本的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上,斜杠而不是本机反斜杠也能正常工作。