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; }
数脉科技(shuhost)8月促销:香港独立服务器,自营BGP、CN2+BGP、阿里云线路,新客立减400港币/月,老用户按照优惠码减免!香港服务器带宽可选10Mbps、30Mbps、50Mbps、100Mbps带宽,支持中文本Windows、Linux等系统。数脉香港特价阿里云10MbpsCN2,e3-1230v2,16G内存,1T HDD 或 240G SSD,10Mbps带宽,IPv41个,...
特网云为您提供高速、稳定、安全、弹性的云计算服务计算、存储、监控、安全,完善的云产品满足您的一切所需,深耕云计算领域10余年;我们拥有前沿的核心技术,始终致力于为政府机构、企业组织和个人开发者提供稳定、安全、可靠、高性价比的云计算产品与服务。公司名:珠海市特网科技有限公司官方网站:https://www.56dr.com特网云为您提供高速、稳定、安全、弹性的云计算服务 计算、存储、监控、安全,完善...
易探云怎么样?易探云(yitanyun.com)是一家知名云计算品牌,2017年成立,从业4年之久,目前主要从事出售香港VPS、香港独立服务器、香港站群服务器等,在售VPS线路有三网CN2、CN2 GIA,该公司旗下产品均采用KVM虚拟化架构。目前,易探云推出免备案香港物理机服务器性价比很高,E3-1230 8 核*1/16G DDR3/SATA 1TB/香港BGP线路/20Mbps/不限流量,仅...