【发布时间】:2014-04-03 04:18:13
【问题描述】:
我正在尝试从 Qt 执行以下命令:
explorer /select,C:\Temp Folder\temp.wav
这应该会显示在资源管理器窗口中选择的文件temp.wav。从命令提示符运行时它可以正常工作。
但是,当我在 Qt 中尝试以下操作时:
QProcess::startDetached(
"explorer",
QStringList("/select,C:\\Temp Folder\\temp.wav")
);
它不起作用——它会打开资源管理器,但会将我放在“我的文档”文件夹中。如果我将文件夹重命名为一个没有空格的文件夹(TempFolder),它可以正常工作。
我尝试转义文件夹名称中的空格,在整个路径周围加上引号,以及许多其他组合都没有成功。许多组合在cmd 中正常工作,但在通过QProcess::startDetached 调用时似乎不起作用。
最令人困惑的部分是我试图复制的代码来自 QtCreator 源代码,他们使用类似的东西在资源管理器窗口中打开文件。他们成功打开了路径中有空格的文件,但我似乎无法重新创建它!
【问题讨论】: