电竞比分网-中国电竞赛事及体育赛事平台

分享

用api(shell)函數(shù)實現(xiàn)文件復(fù)制(摘至delphi盒子)

 aaie_ 2012-06-28

Windows API函數(shù) SHfileOperation(TSHFILEOPSTRUCT)的用法:

TSHFILEOPSTRUCT是指向SHFILEOPSTRUCT結(jié)構(gòu)體的指針,在Delphi中定義如下:
Hwnd  //顯示狀態(tài)信息窗口的句柄,一般是你的程序中的主窗體,看你怎么用了
wFunc  //要執(zhí)行的操作   取值:FO_COPY 復(fù)制
          FO_MOVE 移動
          FO_Delete 刪除
pFrom  //源文件或目錄
pTo    //目標(biāo)文件或目錄
fFlag  //控制文件操作的標(biāo)志  其中你感興趣的標(biāo)志取值為:
       FOF_SILENT---不創(chuàng)建進(jìn)度條
       FOF_SIMPLEPROGRESS----顯示進(jìn)度條對話框但不顯示文件名
       FOF_NOCONFIRMATION-----操作過程中不顯示確認(rèn)信息,相當(dāng)與用戶選擇了"Yes to all"
其他的取值可以參考ShellAPI單元的參數(shù)定義(全E文的哦 ^_^)
fAnyOperationsAborted   //Boolean類型值,操作是否放棄
hNameMappings   //文件名映射對象的句柄,很少用到,一般取nil
lpszProgressTitle  //進(jìn)度條標(biāo)題,注意僅在fFlag中指定了FOF_SIMPLEPROGRESS時才有效.
函數(shù)返回值為0表示操作成功

例如:
將C:\document目錄的文件復(fù)制到D盤"文檔"目錄下

Procedure Tform1.Button1Click(Sender:TObject)
var
OpStruc:TSHFileOpStruct;   //定義OpStruc為操作結(jié)構(gòu)體指針
FromBuf,ToBuf:array[0..255] of char; //定義源路徑和目標(biāo)路徑
Begin
 StrPcopy(FromBuf,Pchar('C:\document'));
 StrPcopy(FromBuf,Pchar('D:\文檔'));     //設(shè)置源路徑和目標(biāo)路徑
 with OpStruc do        //開始定義結(jié)構(gòu)體參數(shù)
  begin
   wnd:=handle;         //定義本窗體句柄,表明操作在本窗體出現(xiàn)
   wFunc:=FO_COPY;     //說明本次操作為復(fù)制
   pFrom:=@FromBuf;    //填源路徑字符
   pTo:=@ToBuf;        //填目標(biāo)路徑字符
   fFlag:=FOF_NOCONFIRMATION or FOF_SIMPLEPROGRESS  //注意操作標(biāo)志,如果你要讓進(jìn)度條出現(xiàn)必須有FOF_SIMPLEPROGRESS值
   fAnyOperationsAborted:=false;
   hNameMappings:=nil;
   lpszProgressTitle:=nil;
 end;
 if SHfileOperation(OpStruc)=0 then showmessage('復(fù)制完畢!');
end;
 

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多