怎样用ShellExecute()来调用Winrar来压缩释放文件到指定目录下(50分)

  • 主题发起人 主题发起人 sysirm
  • 开始时间 开始时间
S

sysirm

Unregistered / Unconfirmed
GUEST, unregistred user!
如题<br>比如<br>E:/doc目录下的DOC1.TXT <br>要压缩为E:/c-51目录下的text.rar<br>释放相反<br>压缩的时候能不能不出现Winrar的运行界面呢<br>谢了
 
可以不出现winrar界面,把最后一个参数设置未SW_HIDE就可以了。<br>
 
ShellExecute(0,'open','C:/Program Files/WinRAR/rar.exe','a E:/c-51/doc1.rar e:/doc/doc1.txt',nil,sw_hide);
 
哦,我在DOS下运行如下命令参数<br>winrar.exe a -r e:/doc/text.rar e:/doc/Doc1.txt<br>可以成功将e:/doc/Doc1.txt压缩到e:/doc/text.rar<br>但为什么在DELPHI下<br>ShellExecute<br>(0,"open","winrar","A -r e:/doc/text.rar e:/doc/Doc1.txt",NULL,SW_HIDE);<br>却做不到呢?
 
不好意思,刚打的是C++Builder下的代码,不过Delphi下还是一样的,双引号应改成单引号,
 
压缩<br>winexec(pchar('C:/Program Files/WinRAR/WinRAR.exe A d:/aa &nbsp;d:/aa.txt'),SW_HIDE);<br>解压<br>winexec(pchar('C:/Program Files/WinRAR/WinRAR.exe e d:/aa.rar &nbsp;d:/'),SW_HIDE);
 
第三个参数不对,应该这样:<br>'C:/Program Files/WinRAR/rar.exe'
 
Highpeak你的代码在DELPHI通过了<br>但<br>ShellExecute(0,"open","C:/Program Files/WinRAR/rar.exe","a E:/c-51/doc1.rar e:/doc/doc1.doc",NULL,SW_HIDE);<br>在C++Builder为什么还是不行呢<br>
 
啊?不知道了。
 
唔,郁闷啊<br>
 
有人知道吗
 
ShellExecute(NULL,"open","C://Program Files//WinRAR//rar.exe","a -r E://c-51//doc1.rar e://doc//doc1.doc",NULL,SW_HIDE);<br>搞定,谢了<br>还有一个问题想问一下,我用<br>ShellExecute(NULL,"open","C://Program Files//WinRAR//rar.exe","x E://c-51//doc1.rar e://c-51//",NULL,SW_HIDE);<br>进行解压后,会出现一个doc文件夹,然后doc1.doc文件在它目录下<br>怎么样可以直接把doc1.doc解压出来,而没有这个doc文件夹生成呢?<br>&nbsp;
 
好啦<br>换用chengangsir说的那个“e"参数搞定啦<br>ShellExecute(NULL,"open","C://Program Files//WinRAR//rar.exe","e -r E://c-51//doc1.rar e://c-51//",NULL,SW_HIDE);<br><br>
 
谢了<br>结贴
 

Similar threads

I
回复
0
查看
657
import
I
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部