您的位置:首页 > 运维架构

SHFileOperation实现拷贝进度条

2015-06-17 20:30 267 查看
注意:此项目是建立在MFC基础上的。代码如下:

#include "stdafx.h"

#include "SHFileCopy.h"

#include "SHFileCopyDlg.h"

#include <shellapi.h>

#include <string>

void copyfile(std::wstring srcfil, std::wstring desfil)

{

WCHAR src[256] = {0};

WCHAR des[256] = {0};

memset(src, 0, 256*sizeof(WCHAR));

memset(des, 0, 256*sizeof(WCHAR));

_tcscpy(src, srcfil.c_str());//注意这里,之前copy不成功就是因为这里

_tcscpy(des, desfil.c_str());

WCHAR *From = (WCHAR *)src;

WCHAR *To = (WCHAR *)des;

SHFILEOPSTRUCT op;

ZeroMemory(&op, sizeof(op));

op.hwnd = NULL; // 主窗体或应用程序的句柄

op.wFunc = FO_COPY;

op.pFrom = From;

op.pTo = To;

//op.fFlags= FOF_NOERRORUI;

op.fFlags= FOF_SIMPLEPROGRESS;

op.lpszProgressTitle = L"";

SHFileOperation( &op);

}

void CSHFileCopyDlg::OnBnClickedButton1()

{

USES_CONVERSION;

// TODO: 在此添加控件通知处理程序代码

// 复制SOURCE.TXT到DEST.TXT;

wstring src = L"C:\\TEST\\SRC\\较量无声.mp4";//源文件

wstring des = L"C:\\TEST\\DES";//目的路径(只需要写目录就行)

copyfile(src, des);

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: