最近一直在学习MFC,打算写个程序复制局域网共享文件夹及其子文件,一开始使用SHFileOperation函数做本地的文件夹复制测试都没有问题,后来又尝试复制局域网共享文件夹则一直不成功。在论坛上也没有搜到相应的解决办法,自己测试之后发现,如果想要复制网络共享文件夹的话,路径中应该使用“//”,而不是“\”,而“\”一般用在本地路径上。如下是我测试成功的代码。
SHFILEOPSTRUCT test;
test.hwnd = NULL;
test.wFunc = FO_COPY;
test.pFrom = _T("//123.456.50.326//测试文件夹");
test.pTo = _T(“D:\gshaghga”);
test.fFlags = FOF_ALLOWUNDO | FOF_NOCONFIRMATION | FOF_NOCONFIRMMKDIR;
int lkk = SHFileOperation(&test);
if (lkk == 0)
{
MessageBox(_T(“网络文件复制成功”),_T(“提示框”));
}