解决QProcess对象调用execute执行cmd命令不支持中文和空格的问题
2011-09-20 09:26
501 查看
在QT中要想执行调用cmd命令:
一种方式是使用system()函数,但是此函数没有返回值,有时不太方便,
另一种方法就是生成QProcess对象,调用其execute函数,有时当你用这个方法时,当cmd命令含有中文和空格时就不执行。下面来说说这个情况。
仔细看QProcess的API,发现有重载的两个execute函数:
execute ( const QString &, const QStringList & ) : int
execute ( const QString & ) : int
大多数情况下我们用的是第二个:例如我要调用一个叫regasm2.0.exe的程序,执行一句
C:/Documents and Settings/Administrator/桌面/新建文件夹/regasm2.0.exe /s /nologo /codebase C:/aa.dll
(不用管这个干什么用的)可以看到cmd命令中有空格和中文,所以当我们执行
你会发现这样是执行不通过的,但是使用两个参数的execute函数就可以完成,具体如下:
ok,大功告成!
一种方式是使用system()函数,但是此函数没有返回值,有时不太方便,
另一种方法就是生成QProcess对象,调用其execute函数,有时当你用这个方法时,当cmd命令含有中文和空格时就不执行。下面来说说这个情况。
仔细看QProcess的API,发现有重载的两个execute函数:
execute ( const QString &, const QStringList & ) : int
execute ( const QString & ) : int
大多数情况下我们用的是第二个:例如我要调用一个叫regasm2.0.exe的程序,执行一句
C:/Documents and Settings/Administrator/桌面/新建文件夹/regasm2.0.exe /s /nologo /codebase C:/aa.dll
(不用管这个干什么用的)可以看到cmd命令中有空格和中文,所以当我们执行
QProcess pro(0); cmd = "C:/Documents and Settings/Administrator/桌面/新建文件夹/regasm2.0.exe /s /nologo /codebase C:/aa.dll"; int bret = pro.execute(cmd);
你会发现这样是执行不通过的,但是使用两个参数的execute函数就可以完成,具体如下:
QProcess pro(0); QString t1 ="C:/Documents and Settings/Administrator/桌面/新建文件夹/regasm2.0.exe"; QStringList t2; t2.append("/s"); t2.append("/nologo"); t2.append("/codebase"); t2.append("C:/aa.dll"); int bret = pro.execute(t1,t2);
ok,大功告成!
相关文章推荐
- NetBox环境下ajax用get获取数据,中文乱码的问题解决:对象不支持此属性或方法: 'Response.CharSet'
- java执行cmd命令,返回结果中文乱码问题解决
- java执行cmd命令,返回结果中文乱码问题解决
- Selenium Webdriver 的使用java执行js代码 解决 ScriptEngine不支持浏览器内置对象window,document的问题
- 解决php smarty 2.x register_object方法不支持多级对象方法调用的问题
- java执行cmd命令,返回结果中文乱码问题解决
- springmvc Spring3 MVC @ResponseBody返回,jquery ajax调用中文乱码问题解决
- 面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了;面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为(转)
- 解决Boost.Regex对中文支持不好的问题(据此解决全角数字换为半角数字)
- 64位环境下解决apache对中文网址的支持问题
- 解决Struts中ApplicationResources.properties文件不支持中文问题
- Android adb logcat cmd 中文乱码 ----- bat批处理文件不能执行 -- 问题的解决办法
- Sublime Text 2支持GB2312和GBK,解决中文显示乱码问题
- 解决存储过程执行快,但程序调用则执行慢的问题
- Android Studio如何设置主题及不支持中文的问题解决方法
- 解决angularjs前后端分离调用接口传递中文时中文乱码的问题
- 解决存储过程执行快,但程序调用则执行慢的问题
- android 解决下载时文件名中文和空格问题
- 解决了ConceptDraw PRO 8.0.7.0对中文支持不好的问题
- tomcat不支持中文路径和文件名问题的解决