关于等待压缩软件执行完成的问题
时间:2011-08-25
来源:互联网
shellexecute(handle,nil, 'winrar', PChar('a '+ExtractFilePath(Application.ExeName)+ParamsList[0]+'.rar '+ExtractFilePath(Application.ExeName)+ParamsList[0]),nil,SW_SHOW);
我用这个来压缩文件,压缩完成后客户端通过FTP从服务器下载,请问应该如何等待执行完成,如果用CreateProcess+WaitForSingleObject的话,CreateProcess里面如何给winrar传参数,麻烦大家了
我用这个来压缩文件,压缩完成后客户端通过FTP从服务器下载,请问应该如何等待执行完成,如果用CreateProcess+WaitForSingleObject的话,CreateProcess里面如何给winrar传参数,麻烦大家了
作者: a5312010 发布时间: 2011-08-25
Delphi(Pascal) code
function WinExecAndWait32(Filename: String; Visibility: Integer): Cardinal; var zAppName: array [0 .. 512] of Char; zCurDir: array [0 .. 255] of Char; WorkDir: String; StartupInfo: TStartupInfo; ProcessInfo: TProcessInformation; begin // Result := -1; StrPCopy(zAppName, Filename); GetDir(0, WorkDir); StrPCopy(zCurDir, WorkDir); FillChar(StartupInfo, Sizeof(StartupInfo), #0); StartupInfo.cb := Sizeof(StartupInfo); StartupInfo.dwFlags := STARTF_USESHOWWINDOW; StartupInfo.wShowWindow := Visibility; if not CreateProcess(nil, zAppName, { pointer to command line string } nil, { pointer to process security attributes } nil, { pointer to thread security attributes } False, { handle inheritance flag } CREATE_NEW_CONSOLE or { creation flags } NORMAL_PRIORITY_CLASS, nil, { pointer to new environment block } nil, { pointer to current directory name } StartupInfo, { pointer to STARTUPINFO } ProcessInfo) then Result := $FF { pointer to PROCESS_INF } else begin WaitforSingleObject(ProcessInfo.hProcess, INFINITE); GetExitCodeProcess(ProcessInfo.hProcess, Result); end; end; //调用 WinExecAndWait32(FilePath + 'formats\mktargz.bat', SW_NORMAL);
作者: wywry 发布时间: 2011-08-25
请问参数怎么传
引用 1 楼 wywry 的回复:
Delphi(Pascal) code
function WinExecAndWait32(Filename: String; Visibility: Integer): Cardinal;
var
zAppName: array [0 .. 512] of Char;
zCurDir: array [0 .. 255] of Char;
WorkDir: String;
S……
Delphi(Pascal) code
function WinExecAndWait32(Filename: String; Visibility: Integer): Cardinal;
var
zAppName: array [0 .. 512] of Char;
zCurDir: array [0 .. 255] of Char;
WorkDir: String;
S……
作者: a5312010 发布时间: 2011-08-25
//把文件夹 Bitmaps 中全部的文件添加到 RAR 压缩文件 Pictures 中:
WinExecAndWait32('WinRAR a Pictures.rar Bitmaps', SW_NORMAL);
WinExecAndWait32('WinRAR a Pictures.rar Bitmaps', SW_NORMAL);
作者: wywry 发布时间: 2011-08-25
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28