调用WinRAR命令时,如何得知rar压缩文件已经完成?
在网上找到了一个函数WinExecExW,返回值是DWORD的,不知道返回值是什么时,这个函数执行成功了?
Function WinExecExW(cmd:pchar;visiable:integer):DWORD;
var
 StartupInfo:TStartupInfo;
 ProcessInfo:TProcessInformation;
begin
 FillChar(StartupInfo,SizeOf(StartupInfo),#0);
 StartupInfo.cb:=SizeOf(StartupInfo);
 StartupInfo.dwFlags:=STARTF_USESHOWWINDOW;
 StartupInfo.wShowWindow:=visiable;
 if not CreateProcess(nil,cmd,nil,nil,false,Create_new_console or Normal_priority_class,nil,nil,StartupInfo,ProcessInfo) then
 begin
    result:=0;
 end
 else
 begin
   waitforsingleobject(processinfo.hProcess,INFINITE);
   GetExitCodeProcess(ProcessInfo.hProcess,Result);
 end;
end;

解决方案 »

  1.   

    RAR exits with a zero code (0) in case of successful operation. The exit
        code of non-zero means the operation is cancelled due to error:     255   USER BREAK       User stopped the process       9   CREATE ERROR     Create file error       8   MEMORY ERROR     Not enough memory for operation       7   USER ERROR       Command line option error       6   OPEN ERROR       Open file error       5   WRITE ERROR      Write to disk error       4   LOCKED ARCHIVE   Attempt to modify an archive previously locked
                                by the 'k' command       3   CRC ERROR        A CRC error occurred when unpacking       2   FATAL ERROR      A fatal error occurred       1   WARNING          Non fatal error(s) occurred       0   SUCCESS          Successful operation (User exit)