简单呢,就用WINEXEC执行XCOPY,但可能对错误控制不大好。
复杂一点可用CREATEPROCESS,WAITFORSINGLEOBJECT来实现。关于这两个函数可看一下WIN32API。

解决方案 »

  1.   

    要自己编程拷贝文件最好用文件流。也可以看看Delphi的BlockRead和BlockWrite函数,它们的帮助文档其实就是一个典型的拷贝文件的例子。
      

  2.   

    问题应当出在你的程序中。推荐你使用WIN32 Shell API中专门进行文件复制操作的函数SHFileOperation,具体用法请查询Delphi所带的Win32 API 帮助或微软的MSDN。用该函数能出现象资源管理器一样复制文件的效果。
      

  3.   

    你不妨试一试下面的这代码:
    procedure TForm1.Button1Click(Sender: TObject);var
      iFileHandle,iFileHandle2: Integer;
      iFileLength: Integer;
      iBytesRead: Integer;
      Buffer: PChar;
      i: Integer
    begin
      if OpenDialog1.Execute then
      begin
        try
          iFileHandle := FileOpen(OpenDialog1.FileName, fmOpenRead);//SourceFile
          iFileLength := FileSeek(iFileHandle,0,2);
          FileSeek(iFileHandle,0,0);
          Buffer := PChar(AllocMem(iFileLength + 1));
          iBytesRead = FileRead(iFileHandle, Buffer^, iFileLength);
          FileClose(iFileHandle);      FileHandle2 := FileCreate(SaveDialog1.FileName);//DistinateFile
          FileWrite(iFileHandle2, lpBuff^, iFileLength );
          FileClose(iFileHandle2);    finally
          FreeMem(Buffer);
        end;
      end;
    end;
    如果有什么问题请发 EMAIL---->>[email protected]
      

  4.   

    调用DOS命令请用一个叫DosCommand的控件,相当好用,我最近正在使用。