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

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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

---- 我们知道在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函数在这个库中。

相关文档
最新文档