老是说源文件或磁盘不可用。是不是参数写错了!!???

解决方案 »

  1.   

    SHSTRUCT.Wnd:=HANDLE;
    SHSTRUCT.wFunc:=FO_COPY;
    SHSTRUCT.pFrom:=Pchar(SELF.StatusBar1.Panels[0].text);
    SHSTRUCT.pTo:=Pchar(self.StatusBar1.Panels[1].text);
    Shfileoperation(shstruct);
      

  2.   

    将文件aaa拷贝到bbb
        var
            source,destination,title:string;
            abortbyuser:boolean;
        begin
            source:='c:\aaa';
            destination:='c:\bbb';
            title:='拷贝文件';        fillchar(ShFileOpStruct, sizeof(ShFileOpStruct), 0);  //变量清零
            with ShFileOpStruct do
            begin
              Wnd:=Application.MainForm.Handle;      //给窗口句柄赋值
              wFunc:=FO_COPY;                        //实现文件拷贝
              pFrom:=PChar(Source);                  //source为源文件名
              pTo:=PChar(Destination);               //destination目标文件
              fFlags:=fFlags or FOF_ALLOWUNDO or FOF_SIMPLEPROGRESS or 
                  FOF_RENAMEONCOLLISION;         //设置允许撤消,显示进度,文件名
                                                 //重名则自动改名
              lpszProgressTitle:=PChar(FTitle);      //设置拷贝进度窗体标题
              Result := ShFileOperation(ShFileOpStruct);     //执行命令
              FAbortByUser:=fAnyOperationsAborted;   //fAnyOperationsAborted表示是
                                                     //否用户中断拷贝
        end;