什么叫映射/断开网络驱动器?
发布网友
发布时间:2022-04-23 05:19
我来回答
共1个回答
热心网友
时间:2023-09-05 16:50
我们知道在WINDOWS的平台上可以实现网络驱动器的映射,但在应用程序中如何映
射呢?以下的这个小程序就是演示如何在用户的应用程序中映射网络驱动器。在这里主
要用到了WINDOWS的两个API函数WNetAddConnection2(建立网络驱动器的映射)和
WNetCancelConnection2(取消网络驱动器的映射)以及一个NETRESOURCE结构(用来设
置网络资源)。----
为了节省篇幅,我在这里只列出本演示程序的主要部分
OnMountButton
(为建立网络驱动器的映射)和OnUnmountButton(为取消网络驱动器
的映射)。其中在下面的出现m_NetpathEdit
和m_DriveEdit
为用VC++定义的CEdit控
键。分别接收输入的网络路径和要建立的本地的驱动器盘符。它们都放置在一个对话框
中,如下图所示(略)
----
建立网络驱动器的映射。
void
CMountDlg::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);
CString
str;
str.Format("WNetAddConnection2()
return
code=%d",
rslt);
MessageBox(str);
}
取消网络驱动器的映射
void
CMountDlg::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);
CString
str;
str.Format("WNetCancelConnection2()
return
code=%d",
rslt);
MessageBox(str);
//显示信息成功与否
return
code
=0
成功
否则
建立失败
}
----
本程序在VC++6.0及windows95/98/nt下编译通过。注意在程序的编译连接中加入
mpr.lib,我们用两个API函数在这个库中。
注意:断开映射的网络驱动器,只需选中“网络驱动器”,单击“右键”弹出快速菜单,选择“断开”项即可。