求DELPHI中的解rar压缩文件包的代码,希望不是直接调用EXE可执行文件,可以在没有安装RAR的时候也可以解压。
求DELPHI中的解rar压缩文件包的代码,希望不是直接调用EXE可执行文件,可以在没有安装RAR的时候也可以解压。
下面是一个网上搜索到的。
但是里面的参数实在是不好参悟啊。谁有好的发下,谢谢
function jieyabao(rarpath, typer, openpath, jiepath: string):integer;
//(1) 功 能 : 解压数据包rar文件
//(2) 参 数 :
//(3) 返回值 : 0 成功 1错误
//(4) 作成者 : 撖牛牛
//
var
SUInfo: TStartupInfo;
ProcInfo: TProcessInformation;
str1:pchar;
begin
FillChar(SUInfo, SizeOf(SUInfo), 0);
with SUInfo do
begin
cb := SizeOf(SUInfo);
dwFlags := STARTF_USESHOWWINDOW or STARTF_FORCEONFEEDBACK;
wShowWindow := SW_SHOW;
end;
str1:=pchar(rarpath+ typer+ openpath +jiepath);
if CreateProcess(nil,str1, nil, nil, False,
CREATE_NEW_CONSOLE or NORMAL_PRIORITY_CLASS, nil,nil, SUInfo, ProcInfo) then
begin // pchar(rarpath+ typer+ openpath +jiepath)
WaitForSingleObject(ProcInfo.hProcess, INFINITE);
CloseHandle(ProcInfo.hProcess);
CloseHandle(ProcInfo.hThread);
result:=0;
end else
begin
result:=1;
end;
end;