【问题标题】:Path-requirements for QProcess::startDetachedQProcess::startDetached 的路径要求
【发布时间】:2015-07-18 01:30:57
【问题描述】:

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

【问题讨论】:

  • 因为空格。此外,您应该在单独的变量中传递参数。
  • 对!这就是原因。

标签: c++ qt qprocess


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多