|

|
CopyFileExA | 逻辑型 | | |
kernel32.dll | |
公开 | |
lpExistingFileName | 文本型 | | | lpNewFileName | 文本型 | | | lpProgressRoutine | 子程序指针 | | | lpData | 整数型 | | | pbCancel | 逻辑型 | | | dwCopyFlags | 整数型 | | | |
复制进度回调 | 整数型 | | |
TotalFileSize | 整数型 | | | | TotalBytesTransferred | 整数型 | | | | StreamSize | 整数型 | | | | StreamBytesTransferred | 整数型 | | | | dwStreamNumber | 整数型 | | | | dwCallbackReason | 整数型 | | | | hSourceFile | 整数型 | | | | hDestinationFile | 整数型 | | | | lpData | 整数型 | | | |
.局部变量 进度条句柄, 整数型 .局部变量 进度百分比, 整数型 进度条句柄 = lpData 如果 (TotalFileSize > 0 ) 进度百分比 = 取整 ( (TotalBytesTransferred / TotalFileSize ) × 100 ) 线程_同步 (进度条句柄, &更新进度条, 进度百分比, )返回 (0 ) 进度条1.位置 = 进度值
窗口程序集名 | 保 留 | 保 留 | 备 注 | 窗口程序集_启动窗口 | | | | 变量名 | 类 型 | 数组 | 备 注 | 总大小 | 整数型 ' 复制的总字节数 | | 已复制大小 | 整数型 ' 累计已复制字节数 | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | 源路径 | 文本型 | | | 目标路径 | 文本型 | | | 复制成功 | 逻辑型 | | |
源路径 = 编辑框1.内容 目标路径 = 编辑框2.内容 总大小 = 计算总大小 (源路径 ) 如果 (总大小 = 0 ) 信息框 ("源路径不存在或为空!", 0, ) 返回 ()进度条1.位置 = 0已复制大小 = 0 如果 (文件_是否为目录 (源路径 )) 目录_创建 (目标路径 ) 复制文件夹带进度 (源路径, 目标路径 )  复制成功 = CopyFileExA (源路径, 目标路径, &复制进度回调, 进度条1. 取窗口句柄 (), 假, 0 ) 如果 (复制成功 = 假) 信息框 ("文件复制失败!", 0, )   进度条1.位置 = 100  信息框 ("复制完成!", 0, )  |
复制文件夹带进度 | 逻辑型 | | |
源目录 | 文本型 | | | | 目标目录 | 文本型 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | 文件列表 | 文本型 | | 文件列表 | 子目录列表 | 文本型 | | 子目录列表 | i | 整数型 | | | 源文件 | 文本型 | | | 目标文件 | 文本型 | | | 复制成功 | 逻辑型 | | |
文件列表 = 目录_枚举文件 (源目录, , , 假) 子目录列表 = 目录_枚举目录 (源目录, , , 假) 计次循环首 (取数组成员数 (文件列表 ), i ) 源文件 = 文件列表 [i ] 目标文件 = 目标目录 + “\” + 取文本右边 (源文件, 取文本长度 (源文件 ) - 取文本长度 (源目录 ) - 1 )  复制成功 = CopyFileExA (源文件, 目标文件, &复制进度回调, 进度条1. 取窗口句柄 (), 假, 0 ) 如果 (复制成功 = 假) 返回 (假)  计次循环尾 () 计次循环首 (取数组成员数 (子目录列表 ), i ) 复制文件夹带进度 (子目录列表 [i ], 目标目录 + “\” + 取文本右边 (子目录列表 [i ], 取文本长度 (子目录列表 [i ]) - 取文本长度 (源目录 ) - 1 ))  计次循环尾 ()返回 (真)
|
|