关于winrar压缩文件控制的问题

tantorplayer 2003-08-25 01:42:26
(一)用程序控制winrar压缩文件没问题,但是我如何得知压缩文件结束了?
(二)在压缩文件的时候会自动弹出winrar的压缩进度,我不想让他弹出来,能不能直接在程序里显示压缩进度?
有劳各位了!!谢谢。
...全文
32 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
tantorplayer 2003-08-25
  • 打赏
  • 举报
回复
好,回答的很快!谢谢大家了.给分!
z_hongbao 2003-08-25
  • 打赏
  • 举报
回复
up
WWWWA 2003-08-25
  • 打赏
  • 举报
回复
var
SHExecInfo: SHELLEXECUTEINFO;
begin
SHExecInfo.cbSize := sizeof(SHELLEXECUTEINFO);
SHExecInfo.fMask := SEE_MASK_NOCLOSEPROCESS;
SHExecInfo.Wnd := Handle;
SHExecInfo.lpVerb := nil;
SHExecInfo.lpFile := 'WinRAR.exe';
SHExecInfo.lpParameters := 'a e:\qwqw.rar e:\qwqw';
SHExecInfo.lpDirectory := nil;
SHExecInfo.nShow := SW_SHOW;
SHExecInfo.hInstApp := Handle;
ShellExecuteEx(@SHExecInfo);
WaitForSingleObject(SHExecInfo.hProcess, INFINITE);
closeHandle(SHExecInfo.hProcess);
ShellExecute(application.MainForm.Handle,'open','winrar.exe',PChar('a e:\zqzq.rar e:\zqzq'),'',SW_show);
ShowMessage('压缩完毕!'); }
lxpbuaa 2003-08-25
  • 打赏
  • 举报
回复
(一)
var
SUInfo: TStartupInfo;
ProcInfo: TProcessInformation;
begin
FillChar(SUInfo, SizeOf(SUInfo), 0);
with SUInfo do
begin
cb := SizeOf(SUInfo);
dwFlags := STARTF_USESHOWWINDOW or STARTF_FORCEONFEEDBACK;
wShowWindow := SW_SHOW;
end;
if CreateProcess(nil, PChar('路径\Winrar.exe 参数'), nil, nil, False,
CREATE_NEW_CONSOLE or NORMAL_PRIORITY_CLASS, nil,nil, SUInfo, ProcInfo) then
begin
WaitForSingleObject(ProcInfo.hProcess, INFINITE);
CloseHandle(ProcInfo.hProcess);
CloseHandle(ProcInfo.hThread);
ShowMessage('压缩完毕');
end;
end;

(二)这个只能由Winara自己控制,你查看Winrar的帮助,看是否有这样一个运行时参数来控制它,如果有,可以写到上面的CreateProcess中。


————————————————————————————————————
宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
————————————————————————————————————

5,379

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧