同上如果用ShellAPI 请提供 隐藏复制进度对话框的方法

解决方案 »

  1.   

    function CopyFileTo(const Source: string; const Destination: string): Boolean;
      

  2.   


    Var
      tmpFileOpRec: TSHFileOpStruct; 
      tmpFolder: string;
      tmpSrc, tmpDes: string;
    begin
      Result := False;  tmpSrc := 'D:\1';   {末尾没有'\'}
      tmpDes := 'D:\2';     With tmpFileOpRec do
      Begin
    //    Wnd := aMsgHandle;               { 显示当前操作状态的文件信息的窗体句柄 }
        wFunc := FO_COPY;
        pFrom:=Pchar(tmpSrc + #0);         { 源路径 }
        pTo := Pchar(tmpFolder + #0);      { 目标路径 }
        fFlags := FOF_NOCONFIRMATION or FOF_SILENT;     {不提示 }
        hNameMappings := nil;
    //    lpszProgressTitle := '正在复制文件夹';
        fAnyOperationsAborted := False;
      End;  if SHFileOperation(tmpFileOpRec) = 0 then
        Result := True;
    end;
      

  3.   

    上面是从 tmpSrc 复制到 tmpDes文件夹.
    想连文件夹都复制,可以自己创建一个同名的文件夹
      

  4.   

    顶2楼的下面的地址是百度百科对 SHFileOperation 的解释
    包括 TSHFileOpStruct 的结构
    http://baike.baidu.com/view/1719618.htm