using System.Runtime.InteropServices;
using System.IO;
using System;public class WNetHelper
{
    [DllImport("mpr.dll", EntryPoint = "WNetAddConnection2")]
    private static extern uint WNetAddConnection2(NetResource lpNetResource, string lpPassword, string lpUsername, uint dwFlags);    [DllImport("Mpr.dll", EntryPoint = "WNetCancelConnection2")]
    private 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 lpLocalName;        public string lpRemoteName;        public string lpComment;        public string lpProvider;
    }    /// <summary>
    /// 为网络共享做本地映射
    /// </summary>
    /// <param name="username">访问用户名</param>
    /// <param name="password">访问用户密码</param>
    /// <param name="remoteName">网络共享路径</param>
    /// <param name="localName">本地映射盘符</param>
    /// <returns></returns>
    public static uint WNetAddConnection(string username, string password, string remoteName, string localName)
    {
        NetResource netResource = new NetResource();        netResource.dwScope = 2;
        netResource.dwType = 1;
        netResource.dwDisplayType = 3;
        netResource.dwUsage = 1;
        netResource.lpLocalName = localName;
        netResource.lpRemoteName = remoteName.TrimEnd('/');
        uint result = WNetAddConnection2(netResource, password, username, 0);        return result;
    }    public static uint WNetCancelConnection(string name, uint flags, bool force)
    {
        uint nret = WNetCancelConnection2(name, flags, force);        return nret;
    }    public static bool CreateDirectory(string path)
    {
        //LogonImpersonate imper = new LogonImpersonate("administrator", "1234");
        uint state = 0;
        if (!Directory.Exists("Z:"))
        {
            state = WNetHelper.WNetAddConnection("LIJIELUN//administrator", "1234", @"//10.36.0.122/yedmis_file", "Z:");
        }
        if (state.Equals(0))
        {
            Directory.CreateDirectory(path);
            return true;
        }
        else
        {
            throw new Exception("添加网络驱动器错误,错误号:" + state.ToString());
        }
    }附一下源码