MoveFileWithProgress 功能与 MoveFileEx 是相同的,只不过 MoveFileWithProgress 允许你提供一个接收移动进度消息的回调函数。
MoveFile 函数移动已存在的文件或文件夹,包括它的子文件和文件夹。
只能在同一目录或volume(卷)下移动
MoveFileEx or MoveFileWithProgress 指定如何去移动文件。
可以在不同volume下移动,但必须指定MOVEFILE_COPY_ALLOWED,但有时移动不成功,会出现error(5)的错误,这跟系统的读取权限有关。
MoveFileTransacted 允许执行事务处理的操作。
#define _WIN32_WINNT 0x0500 // 不加这个不同通过编译 #include <windows.h> #include <stdio.h>
DWORD CALLBACK CopyProgress( LARGE_INTEGER TotalFileSize, // total file size, in bytes LARGE_INTEGER TotalBytesTransferred, // total number of bytes transferred LARGE_INTEGER StreamSize, // total number of bytes for this stream LARGE_INTEGER StreamBytesTransferred, // total number of bytes transferred for this stream DWORD dwStreamNumber, // the current stream DWORD dwCallbackReason, // reason for callback HANDLE hSourceFile, // handle to the source file HANDLE hDestinationFile, // handle to the destination file LPVOID lpData // passed by CopyFileEx ) { static int nRecord = 0; nRecord++; printf("回调次数:%d 已传输:%08X:%08X 文件大小:%08X:%08X ", nRecord, TotalBytesTransferred.HighPart, TotalBytesTransferred.LowPart, TotalFileSize.HighPart, TotalFileSize.LowPart); return PROGRESS_CONTINUE; }
int main(int argc, char* argv[]) { if(argc!=3) { printf("用法:命令 源文件 目标文件"); return 0; }
if(!CopyFileEx(argv[1],argv[2],(LPPROGRESS_ROUTINE)CopyProgress,NULL,FALSE,COPY_FILE_FAIL_IF_EXISTS)) { printf("CopyFileEx() failed."); return 0; } return 0; }
特网云为您提供高速、稳定、安全、弹性的云计算服务计算、存储、监控、安全,完善的云产品满足您的一切所需,深耕云计算领域10余年;我们拥有前沿的核心技术,始终致力于为政府机构、企业组织和个人开发者提供稳定、安全、可靠、高性价比的云计算产品与服务。官方网站:https://www.56dr.com/ 10年老品牌 值得信赖 有需要的请联系======================特网云推出多IP云主机...
10gbiz发布了9月优惠方案,针对VPS、独立服务器、站群服务器、高防服务器等均提供了一系列优惠方面,其中香港/洛杉矶CN2 GIA线路VPS主机4折优惠继续,优惠后最低每月仅2.36美元起;日本/香港独立服务器提供特价款首月1.5折27.43美元起;站群/G口服务器首月半价,高防服务器永久8.5折等。这是一家成立于2020年的主机商,提供包括独立服务器租用和VPS主机等产品,数据中心包括美国洛...
Ceraus数据成立于2020年底,基于KVM虚拟架构技术;主营提供香港CN2、美国洛杉矶CN2、日本CN2的相关VPS云主机业务。喜迎国庆香港上新首月五折不限新老用户,cera机房,线路好,机器稳,适合做站五折优惠码:gqceraus 续费七五折官方网站:https://www.ceraus.com香港云内存CPU硬盘流量宽带优惠价格购买地址香港云2G2核40G不限5Mbps24元/月点击购买...