当前位置:文档之家› 如何在应用程序中映射网络驱动器

如何在应用程序中映射网络驱动器

如何在应用程序中映射网络驱动器
---- 我们知道在WINDOWS的平台上可以实现网络驱动器的映射,但在应用程序中如何映
射呢?以下的这个小程序就是演示如何在用户的应用程序中映射网络驱动器。

在这里主
要用到了WINDOWS的两个API函数WNetAddConnection2(建立网络驱动器的映射)和
WNetCancelConnection2(取消网络驱动器的映射)以及一个NETRESOURCE结构(用来设
置网络资源)。

---- 为了节省篇幅,我在这里只列出本演示程序的主要部分OnMountButton (为建立
网络驱动器的映射)和OnUnmountButton(为取消网络驱动器的映射)。

其中在下面的
出现m_NetpathEdit 和m_DriveEdit 为用VC++定义的CEdit控键。

分别接收输入的网络
路径和要建立的本地的驱动器盘符。

它们都放置在一个对话框中,如下图所示(略)
---- 建立网络驱动器的映射。

voidCMountDlg::OnMountButton()
{
// TODO: Add your control notification
handler code here
char netpath[MAX_PATH]; //输入的网络路径
m_NetpathEdit.GetWindowText(netpath, sizeof(netpath));
char drv[MAX_PATH]; //本地的驱动器盘符
m_DriveEdit.GetWindowText(drv, sizeof(drv));
NETRESOURCE netres;
netres.dwScope=RESOURCE_GLOBALNET;
netres.dwType=RESOURCETYPE_ANY;
netres.dwDisplayType=RESOURCEDISPLAYTYPE_GENERIC;
netres.dwUsage=RESOURCEUSAGE_CONNECTABLE;
netres.lpLocalName=drv;
netres.lpRemoteName=netpath;
netres.lpComment=NULL;
netres.lpProvider=NULL;
DWORD rslt=WNetAddConnection2(&netres, NULL, NULL, 0);
CStringstr;
str.Format("WNetAddConnection2()
return code=%d", rslt);
MessageBox(str);
}
取消网络驱动器的映射
voidCMountDlg::OnUnmountButton()
{
// TODO: Add your control notification handler
code here
char drv[MAX_PATH]; //本地的驱动器盘符
m_DriveEdit.GetWindowText(drv, sizeof(drv));
DWORD rslt=WNetCancelConnection2(drv, 0, FALSE);
CStringstr;
str.Format("WNetCancelConnection2() return code=%d",
rslt);
MessageBox(str);
//显示信息成功与否 return code =0 成功否则建立失败
}
---- 本程序在VC++6.0及windows95/98/nt下编译通过。

注意在程序的编译连接中加入
mpr.lib,我们用两个API函数在这个库中。

相关主题