您的位置:首页 > 理论基础 > 计算机网络

[愚翁专栏]如何把网络共享目录映射为本地驱动器

2006-05-18 20:03 561 查看
如何把网络共享目录映射为本地驱动器 document.title="如何把网络共享目录映射为本地驱动器 - "+document.title

要映射一个网络目录为本地驱动器,需要调用系统DLL的WNetAddConnection2函数来进行添加。

首先,系统函数的申明如下:
using System.Runtime.InteropServices;

[DllImport("mpr.dll", EntryPoint="WNetAddConnection2")]
public static extern uint WNetAddConnection2(
[In] NETRESOURCE lpNetResource,
string lpPassword,
string lpUsername,
uint dwFlags);

[DllImport("Mpr.dll")]
public static extern uint WNetCancelConnection2(
string lpName,
uint dwFlags,
bool fForce);

[StructLayout(LayoutKind.Sequential)]
public class NETRESOURCE
{
public int dwScope;
public int dwType;
public int dwDisplayType;
public int dwUsage;
public string LocalName;
public string RemoteName;
public string Comment;
public string Provider;
}

添加映射网络驱动器调用的代码如下:
NETRESOURCE myNetResource = new NETRESOURCE();
myNetResource.dwScope = 2; //2:RESOURCE_GLOBALNET
myNetResource.dwType = 1 ; //1:RESOURCETYPE_ANY
myNetResource.dwDisplayType = 3; //3:RESOURCEDISPLAYTYPE_GENERIC
myNetResource.dwUsage = 1; //1: RESOURCEUSAGE_CONNECTABLE
myNetResource.LocalName = "T:";
myNetResource.RemoteName = yourNetworkPath;
myNetResource.Provider = null;

uint nret = WNetAddConnection2( myNetResource, pwd, username, 0);
注意:如果正确,返回值是0;否则错误。

删除映射网络驱动器调用的代码如下:
uint nret = WNetAddConnection2( yourNetDriveName, 1, true);

Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=631309
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: