QProcess 使用start方法调用含有空格路径的程序

其实很简单:

process->start("\"‪C:\\Program Files (x86)\\Windows Media Player\\wmplayer.exe\"");

但是我在这么使用的时候,却发现一个问题,这个路径我是从属性页复制过来的


对象名称那里,我从路径尾部往头部选中,然后选择复制,粘贴到代码,再加上转义符。在调试时,路径莫名其妙的多了一个未知的非打印字符:\20052


我一脸懵逼,于是乎,手动输入路径。果然没有问题, 启动成功。另外,复制对象名称,从头部往尾部选中,则不会有这个\20052。

提醒:

我又想,如果使用

process->setProgram("‪C:\\Program Files (x86)\\Windows Media Player\\wmplayer.exe");
Qt会不会把它当作一个整体来处理呢。没错Qt是把它当作整体来处理了,但是毕竟Qt调用的是系统的API,系统API在碰到这个情况时,按空格分拆,于是乎白忙活一场。



  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值