关闭

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

1420人阅读 评论(0) 收藏 举报
如何把网络共享目录映射为本地驱动器

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

 

首先,系统函数的申明如下:

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

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:311235次
    • 积分:4310
    • 等级:
    • 排名:第7288名
    • 原创:79篇
    • 转载:33篇
    • 译文:55篇
    • 评论:103条
    文章分类
    最新评论