网络文件夹复制
(
二十一
)
本文讲述如何将一个网络文件夹复制到本地机器。
1.
创建一个对话框工程。
2.
添加两个文本框,分别用来输入网络文件夹路径和本地路径。
3.
添加一个按钮“复制”,代码如下:
CString
strnetwork
,
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
;
}
char
fromname
[80] =
"/0"
;
char
toname
[80] =
"/0"
;
strcpy
(
fromname
,
strnetwork
);
strcpy
(
toname
,
strlocal
);
strcat
(
fromname
,
"/0"
);
strcat
(
toname
,
"/0"
);
SHFILEOPSTRUCT
lpFilestru
;
lpFilestru
.
hwnd
=
GetSafeHwnd
();
lpFilestru
.
wFunc
=
FO_COPY
;
lpFilestru
.
pFrom
=
fromname
;
lpFilestru
.
pTo
=
toname
;
lpFilestru
.
fFlags
=
FOF_ALLOWUNDO
;
lpFilestru
.
fAnyOperationsAborted
=
FALSE
;
BOOL
bcopy
=
SHFileOperation
(&
lpFilestru
);
if
(
bcopy
==0)
{
if
(
lpFilestru
.
fAnyOperationsAborted
==
TRUE
)
AfxMessageBox
(
"
复制被取消
"
);
else
AfxMessageBox
(
"
复制成功
"
);
}
else
{
AfxMessageBox
(
"
复制失败
"
);
}
完成。