windows下实现拷贝文件/文件夹

 

使用SHFileOperation函数进行操作

需要注意的地方:

1、pFrom, pTo字符串必须是以两个\0结尾

2、FOF_NOCONFIRMATION | FOF_NOCONFIRMMKDIR | FOF_NOERRORUI | FOF_SILENT标志位用户实现静默拷贝,拷贝过程不弹出任何对话框

 1 int CopyFileToFolder(const string &filePath, const string &toPath)
 2 {
 3     SHFILEOPSTRUCT FileOp;
 4     ZeroMemory((void*)&FileOp, sizeof(SHFILEOPSTRUCT));
 5 
 6     string strFromPath = filePath;
 7     string strToPath = toPath;
 8     // this string must be double-null terminated
 9     strFromPath.append(1, _T('\0'));
10     strToPath.append(1, _T('\0'));
11 
12     FileOp.fFlags = FOF_NOCONFIRMATION | FOF_NOCONFIRMMKDIR | FOF_NOERRORUI | FOF_SILENT;
13     FileOp.hNameMappings = NULL;
14     FileOp.hwnd = NULL;
15     FileOp.lpszProgressTitle = NULL;
16     FileOp.pFrom = strFromPath.c_str();
17     FileOp.pTo = strToPath.c_str();
18     FileOp.wFunc = FO_COPY;
19 
20     return SHFileOperation(&FileOp);
21 }

 

转载于:https://www.cnblogs.com/tonyhan/archive/2012/08/29/2662646.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值