人人做人人澡人人爽欧美,国产主播一区二区,久久久精品五月天,羞羞视频在线观看免费

當前位置:蘿卜系統下載站 > 技術開發教程 > 詳細頁面

在拷貝、刪除文件時顯示飛行的文件夾動畫

在拷貝、刪除文件時顯示飛行的文件夾動畫

更新時間:2022-08-27 文章作者:未知 信息來源:網絡 閱讀次數:

可以很容易地調用API函數CopyFile, DeleteFile, 以及MoveFile來復制、刪除、移動文件,這些功能相當容易使用,但是他們不顯示飛行文件夾動畫。下面是每一個API的例子。

//復制SOURCE.TXT到DEST.TXT,FALSE參數告訴windows如果文件DEST.TXT
//已經存在則復制失敗,CopyFile的返回值是BOOL類型
if( CopyFile("C:\\SOURCE.TXT","C:\\DEST.TXT", FALSE) == FALSE)
Application->MessageBox("CopyFile failed", "Error", MB_OK);

//如果移動或刪除失敗則返回FALSE
MoveFile("C:\\SOURCE.TXT","C:\\WINDOWS\\TEMP\\DEST.TXT");
DeleteFile("C:\\SOURCE.TXT");


這些功能很容易使用,但是不幸但是他們不顯示飛行文件夾動畫。為了顯示動畫,你必須使用SHFileOperation 這個API函數。下面是用SHFileOperation完成上面的操作的例子,注意復制和移動操作一定要指定目標文件夾。

//確認你包含了頭文件SHELLAPI.H
//如果你好奇的話,這個文件地位置在INCLUDE\WIN32目錄下
#include <shellapi.h>

// 復制SOURCE.TXT到DEST.TXT;
char *From = "C:\\SOURCE.TXT\0";
char *To = "C:\\DEST.TXT\0";
SHFILEOPSTRUCT op;
ZeroMemory(&op, sizeof(op));
op.hwnd = Handle; // 主窗體或應用程序的句柄
op.wFunc = FO_COPY;
op.pFrom = From;
op.pTo = To;
op.fFlags= 0;
SHFileOperation( &op);

// 移動SOURCE.TXT到windows的臨時目錄
char *From = "C:\\SOURCE.TXT\0";
char *To = "C:\\WINDOWS\\TEMP\0";
SHFILEOPSTRUCT op;
ZeroMemory(&op, sizeof(op));
op.hwnd = Handle;
op.wFunc = FO_MOVE;
op.pFrom = From;
op.pTo = To;
op.fFlags= 0;
SHFileOperation( &op);

//把所有的臨時文件刪除到回收站
char *File = "C:\\windows\\temp\\*.TMP\0";
SHFILEOPSTRUCT op;
ZeroMemory(&op, sizeof(op));
op.hwnd = Handle;
op.wFunc = FO_DELETE;
op.pFrom = File;
op.fFlags= FOF_ALLOWUNDO;
SHFileOperation( &op);

// 復制根目錄所有的文本文件到臨時目錄。
char *From = "C:\\*.TXT\0";
char *To = "C:\\WINDOWS\\TEMP\0";
SHFILEOPSTRUCT op;
ZeroMemory(&op, sizeof(op));
op.hwnd = Handle;
op.wFunc = FO_COPY;
op.pFrom = From;
op.pTo = To;
op.fFlags= 0;
SHFileOperation( &op);



注意:
1:當你指定FO_DELETE操作的時候,如果fFlags包含FOF_ALLOWUNDO,文件將送到回收站,否則它們將被刪除.

2:op結構的項目pFrom和pTo是字符指針,而不是數組.它們必須指向一個字符串,因為結構不含有任何存儲空間,不能這樣做:

op.pFrom = "C:\\*.TXT";
op.pTo = "C:\\TEMP";

3:在文件名字符串中注意到額外的終止符0(在字符串中的'\0')。MSDN文檔表明pTo和pFrom字符串一定是雙重零結束。

4:pFrom和pTo指向的內存可以包含多個字符串,字符串之間用0分隔,最后也要用雙重0結束,下面是一個例子:

char *From = "C:\\*.txt\0C:\\*.log\0C:\\*.tmp\0";
op.pFrom = From;

//也可以用空白分隔
char *From = "C:\\*.txt\0"
"C:\\*.log\0"
"C:\\*.tmp\0";

5:當復制或者移動文件的時候,在fFlags參數中包含FOF_RENAMEONCOLLISION將阻止函數改寫現存的文件,shell將建立名字叫做“復件 原文件名”的復制品(資源管理器就是這樣做的).

6:你能也指定FO_RENAME作為wFunc參數.fFlags參數能包含很多其它高級方式,更多信息請參閱WIN32.HLP文件.

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

網站地圖xml | 網站地圖html
主站蜘蛛池模板: 印江| 神农架林区| 巍山| 苏尼特右旗| 石河子市| 阜城县| 阿拉善左旗| 称多县| 贡觉县| 郯城县| 青阳县| 锡林浩特市| 边坝县| 徐州市| 拉孜县| 黔西| 临安市| 伊宁县| 辽源市| 电白县| 张家口市| 克什克腾旗| 茌平县| 泗水县| 海宁市| 龙门县| 津市市| 华宁县| 孝义市| 阳泉市| 且末县| 莱西市| 淅川县| 凤翔县| 龙州县| 梁山县| 横山县| 来安县| 盘锦市| 沙洋县| 调兵山市|