网络文件夹复制(二十一)
本文讲述如何将一个网络文件夹复制到本地机器。
1. 创建一个对话框工程。
2. 添加两个文本框,分别用来输入网络文件夹路径和本地路径。
3. 添加一个按钮“复制”,代码如下:
CStringstrnetwork,strlocal;
GetDlgItem(IDC_NETFILE_EDIT)->GetWindowText(strnetwork);
GetDlgItem(IDC_LOCALFILE_EDIT)->GetWindowText(strlocal);
if(strnetwork.IsEmpty())
{
AfxMessageBox("请输入网络文件夹路径");
return;
}
if(strlocal.IsEmpty())
{
AfxMessageBox("请输入本地文件夹路径");
return;
}
if(strnetwork.Left(2) != "////")
{
AfxMessageBox("路径首部应是////");
return;
}
charfromname[80] = "/0";
chartoname[80] = "/0";
strcpy(fromname,strnetwork);
strcpy(toname,strlocal);
strcat(fromname,"/0");
strcat(toname,"/0");
SHFILEOPSTRUCTlpFilestru;
lpFilestru.hwnd=GetSafeHwnd();
lpFilestru.wFunc=FO_COPY;
lpFilestru.pFrom=fromname;
lpFilestru.pTo=toname;
lpFilestru.fFlags=FOF_ALLOWUNDO;
lpFilestru.fAnyOperationsAborted=FALSE;
BOOLbcopy=SHFileOperation(&lpFilestru);
if(bcopy==0)
{
if(lpFilestru.fAnyOperationsAborted==TRUE)
AfxMessageBox("复制被取消");
else
AfxMessageBox("复制成功");
}
else
{
AfxMessageBox("复制失败");
}
完成。