关于winrar压缩文件控制的问题 (一)用程序控制winrar压缩文件没问题,但是我如何得知压缩文件结束了?(二)在压缩文件的时候会自动弹出winrar的压缩进度,我不想让他弹出来,能不能直接在程序里显示压缩进度?有劳各位了!!谢谢。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 (一)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中。————————————————————————————————————宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。———————————————————————————————————— 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('压缩完毕!'); } 在datasnap应用中,是一个100客户端对一个应用服务端口好,还是100客户端对多个端口好? 请问Delphi编写下载文件的工具,如何实现"加载条"? 如何改变ListView滚动条的宽度 关于在dbgrid 动态改变某一个网格的颜色(不是某一行一列) 请求个SQL查询算法 请各位大哥帮帮忙啊!!一个简单的问题。 請教:如何統計一個月中的工作日和休息日的天數? TO WWWWA(aaaa)请进来加分 在线等待:SQL语句的问题,请高手帮帮忙! 紧急求助!!!数据库问题! 如何将DBGrid中的数据按格式打印出来,大家来帮帮忙啊 这是什么问题?
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中。
————————————————————————————————————
宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
————————————————————————————————————
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('压缩完毕!'); }