• 6047阅读
  • 8回复

[提问]qprocess怎么没法打开cmd ,而能打开regedit和calc [复制链接]

上一主题 下一主题
离线jiang_198586
 

只看楼主 倒序阅读 楼主  发表于: 2011-08-09
关键词: qprocess
qprocess怎么没法打开cmd ,而能打开regedit和calc。我主要是想实现利用外部程序7za.exe来减压zip压缩包,
代码:
QProcess *p = new QProcess(this);
    QString cmdlist="7za e aa_0.zip";
    p->start("cmdlist");

可是没有任何反应。而我在windows的cmd下执行7za e aa_0.zip命令,则会将其压缩包内的文件减压到同一目录
离线abcdlcq

只看该作者 1楼 发表于: 2011-08-09
7za注册了吗
离线roywillow

只看该作者 2楼 发表于: 2011-08-09
    QString cmdlist="7za e aa_0.zip";
    p->start("cmdlist");
不管怎么看这第二句都很奇怪吧……
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线jdwx

只看该作者 3楼 发表于: 2011-08-09
回 楼主(jiang_198586) 的帖子
要把程序名和参数分开输入到QProcess
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线jiang_198586

只看该作者 4楼 发表于: 2011-08-09
7za不用注册的吧,我在cmd下能执行该程序啊。
离线jiang_198586

只看该作者 5楼 发表于: 2011-08-09
怎么分开输入啊?
离线jiang_198586

只看该作者 6楼 发表于: 2011-08-09
ok,按3楼的方法实现我要的功能啦,谢谢
代码改成
QProcess *p = new QProcess(this);

    p->start("7za",QStringList()<<"e"<<"aa_0.zip");
就可以啦
离线jiang_198586

只看该作者 7楼 发表于: 2011-08-10
回 3楼(jdwx) 的帖子
你好,再问一下,我减压后的文件怎么获取啊,压缩包内只有一个文件,我想用qt代码获取它
离线jdwx

只看该作者 8楼 发表于: 2011-08-10
反向操作,解压缩,读文件。
要两次,不如一开始先解压zip文件,再7Z。
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
快速回复
限100 字节
 
上一个 下一个