先建立一个压缩信息文件,然后使用Makecab进行压缩,
将MakeCab.exe 拷贝到程序运行目录中,
只要安装了VB、VF或IEAK,在系统中肯定有这个文件。
以下是具体的程序:
将d:/temp/aa.xml、d:/temp/aa.xsl这两个文件压缩到
d:/Temp.cab 中。
procedure TForm1.Button4Click(Sender: TObject);
var
sL:Tstrings;
rt:integer;
begin
sL:=TStringList.create;
sL.Add('.Set GenerateInf=On');
sL.Add('.Set Cabinet=on');
sL.Add('.Set Compress=on');
sL.Add('.Set CabinetNameTemplate=d:/Temp.cab');
sL.Add('.Set DestinationDir=');
sL.Add('.set DiskDirectoryTemplate=');
sL.Add('.Set MaxDiskFileCount=10000');
sL.Add('.Set MaxDiskSize=0');
sL.Add('d:/temp/aa.xml');
sL.Add('d:/temp/aa.xsl');
sL.SaveToFile('CabInfo.txt');
sL.free;
rt:=ShellExecute(GetDesktopWindow(),'open','makecab.exe',
'/F CabInfo.txt',pchar(GetCurrentDir()),0);
if rt>32 then
showmessage('Ok')
else
showmessage('Fail');
end;
这样回答可以吗?