您的位置:首页 > 其它

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

2012-08-29 20:52 267 查看
使用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 }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: