我想把一个文件夹如(d:\test)压缩成d:\test.rar,如何用程序来实现,请给出代码,
谢谢。

解决方案 »

  1.   

    var
      ExitCode: cardinal;
      ExecInfo: TShellExecuteInfo;
    begin
      ZeroMemory(@ExecInfo,SizeOf(ExecInfo));
      with ExecInfo do begin
        cbSize := SizeOf(ExecInfo);
        fMask := SEE_MASK_NOCLOSEPROCESS;
        lpVerb := 'open';
        lpFile := 'D:\WinRAR\Rar.exe';
        lpParameters := ' a -r E:\ShareFile.rar E:\ShareFile';
        Wnd := self.Handle;
        nShow := SW_SHOWNORMAL;
      end;
      ShellExecuteEx(@ExecInfo);
      GetExitCodeProcess(ExecInfo.hProcess,ExitCode);
      while ExitCode=STILL_ACTIVE do begin
        GetExitCodeProcess(ExecInfo.hProcess,ExitCode);
        sleep(10);
        Application.ProcessMessages;
      end;
      ShowMessage('成功!')
    end;