微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

QProcess的路径中没有空格

如何解决QProcess的路径中没有空格

我在启动QProcess时遇到了问题,其中路径包含空格。总体目标是运行其他程序(目前在Windows上,但macOS也很棒)。我测试了多条不同的路径,似乎只有没有空格的路径才能起作用。

这有效:

QProcess *process = new QProcess();
process->startDetached("C:\\Users\\lilfaen\\AppData\\Local\\Programs\\Opera\\launcher.exe");

这不起作用:

QProcess *process = new QProcess();
process->startDetached("C:\\Program Files (x86)\\Internet Explorer\\iexplore.exe");

如何使它正常工作? 欢迎任何帮助!

提前谢谢!

编辑: 根据vahancho的评论,我再次尝试了第二个示例,该示例仍然有效。谢谢! 将使用其他多种路径进行更多测试,并更新此帖子。

QProcess *process = new QProcess();
process->startDetached("\"C:\\Program Files (x86)\\Internet Explorer\\iexplore.exe\"");

解决方法

如果分别设置程序和参数,Qt将为您找出正确的引用。注意参数列表,每个参数都将是目标进程中的一个参数:

QProcess *process = new QProcess();
process->setProgram("C:\\Program Files (x86)\\Internet Explorer\\iexplore.exe");
process->setArguments(QStringList() << "www.google.com");
process->startDetached();

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。