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

最佳答案

好,不,我发现了。
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上,也可以使用斜杠而不是本机反斜杠。

08-03 22:01