如何确定映射驱动器的实际路径?
因此,如果我在名为“ Z”的计算机上具有映射驱动器,如何使用.NET确定映射文件夹的计算机和路径?
该代码可以假定它在具有映射驱动器的计算机上运行。
我查看了Path,Directory,FileInfo对象,但似乎找不到任何东西。
我还寻找了现有的问题,但找不到我想要的东西。
以下是一些代码示例:
所有的魔力都源自Windows函数:
[DllImport("mpr.dll", CharSet = CharSet.Unicode, SetLastError = true)] public static extern int WNetGetConnection( [MarshalAs(UnmanagedType.LPTStr)] string localName, [MarshalAs(UnmanagedType.LPTStr)] StringBuilder remoteName, ref int length);
调用示例:
var sb = new StringBuilder(512); var size = sb.Capacity; var error = Mpr.WNetGetConnection("Z:", sb, ref size); if (error != 0) throw new Win32Exception(error, "WNetGetConnection failed"); var networkpath = sb.ToString();