c# 获取路径的盘符_C# 如何获取映射网络驱动器的共享路径 | 学步园
1. 映射一个网络驱动器:
2. 完成映射后将在资源管理器中看到新增的盘符 Z
3. 使用下面的代码我们能很容易的获取到本地映射网络驱动器的网络路径。
using System;
using System.Collections.Generic;
using System.Text;
using System.Runtime.InteropServices;
using System.IO;
using System.Xml;
namespace PathingDemos
{
class Program
{
static void Main(string[] args)
{
string path = Pathing.GetUNCPath(@"Z:/"); // path = @"//192.168.1.2/共享"
}
}
public static class Pathing
{
[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);
///
/// 给定一个路径,返回的网络路径或原始路径。
/// 例如:给定路径 P:/2008年2月29日(P:为映射的网络驱动器名),可能会返回:“//networkserver/照片/2008年2月9日”
///
/// 指定的路径
/// 如果是本地路径,返回值与传入参数值一样;如果是本地映射的网络驱动器
public static string GetUNCPath(string originalPath)
{
StringBuilder sb = new StringBuilder(512);
int size = sb.Capacity;
if (originalPath.Length > 2 && originalPath[1] == ':')
{
char c = originalPath[0];
if ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z'))
{
int error = WNetGetConnection(originalPath.Substring(0, 2),
sb, ref size);
if (error == 0)
{
DirectoryInfo dir = new DirectoryInfo(originalPath);
string path = Path.GetFullPath(originalPath)
.Substring(Path.GetPathRoot(originalPath).Length);
return Path.Combine(sb.ToString().TrimEnd(), path);
}
}
}
return originalPath;
}
}
}
c# 获取路径的盘符_C# 如何获取映射网络驱动器的共享路径 | 学步园相关推荐
- c# 获取路径的盘符_c#获取驱动器盘符
在编写某些Windows管理应用程序时,能够从自定义的驱动器选择列表框中进行选择无疑是非常专业的,使用Delphi或者C++的早期版本时我们都必须使用Win32所提供的许多关于获取磁盘信息的API函数 ...
- 计算机管理无法增加盘符,电脑磁盘管理没有更改驱动器号和路径,盘符删不掉怎么办?...
在使用电脑系统对磁盘操作过程中,有时一些磁盘本来是隐藏的却不小心显示出来了,我们可以使用磁盘管理来删除驱动器号,但是一些磁盘在磁盘管理中根本不能删除盘符,那么这时要如何解决呢?其实使用磁盘工具Disk ...
- python 获取路径的盘符_python获取磁盘号下盘符步骤详解
这次主要教的是如何通过Python 获取Windows系统下的所有的磁盘盘符,以列表的形式展示出来,获取磁盘号下的盘符包括能够获取到我们正在插在电脑上的U盘,也可以读取到,希望能够对你们在学习过程中有 ...
- 服务器 z盘 映射,小脚本:在终端上映射网络驱动器Z盘
河北省信息技术会考快要开始了,按照省中考中心的要求,必须在每个考试终端上映射一个网络驱动器Z盘,路径指向"\\考试服务器\共享的考生文件夹".学校共有200多台电脑用于考试,每台电 ...
- Advanced Installer修改默认安装路径判断盘符是否存在
由于程序运行权限问题,公司要求默认路径要使用D盘,这样就需要做一个判断,判断D盘是否存在(部分客户只有一个C盘的盘符),这里只是举例说明,不排除客户没C盘的可能. 更好的做法是先默认C盘(Progra ...
- Qt5.9获取Windows所有盘符(函数QFileInfoList QIr::drives())
1.1Qt5.9获取所有盘符用函数QFileInfoList QIr::drives(),代码如下: foreach (QFileInfo my_info, QDir::drives()){qDebu ...
- c# 判断是否存在次盘符_C# 怎么自动识别U盘盘符 进行判断 读写操作
你的位置: 问答吧 -> .NET -> 问题详情 C# 怎么自动识别U盘盘符 进行判断 读写操作 C# 怎么自动识别U盘盘符 然后判断里面是否存在某个特定的TXT文件 不存在的话就创建这 ...
- win10将硬盘作为存储池删除读不到盘符_请将磁盘插入驱动器
在计算机中双击U盘的盘符,U盘无法打开并提示"请将磁盘插入驱动器",U盘中的数据无法访问.遇到这种情况,不要着急,今天小编就和大家一起来看下出现此问题的原因以及解决方法. U盘提示 ...
- c#获取对象的唯一标识_C#如何获取机器唯一标识符
展开全部 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; ...
最新文章
- 悬浮按钮app_分享一款网页转App的神器,绝对值得一用
- Oracle分析函数五——统计分析函数
- android操作ui线程
- IT职场人生系列之十四:经验积累
- python SQLAlchemy数据库操作
- 第4章 与缓冲区有关的函数
- java中instanceof 详解_java中的instanceof用法详解
- 面试官不讲武德,竟然问了我18个JVM问题!
- cassandra学习笔记一
- html的调用方法详解,HTML5标签使用方法详解
- ASP.NET站点Web部署(一键发布的实现)
- 游戏动画中欧拉角与万向锁的理解
- 可信开发技术专家---阿里云诚聘
- 外军网络空间作战简报
- 【竞品分析】摩拜和ofo竞品分析报告
- 微信公众号注册操作流程
- canvas手写签名
- html科幻效果,带科幻风格的纯CSS3用户登录界面设计
- 解决因IPV6造成的网易云音乐一直缓冲的问题
- 深度探索C++对象模型 学习笔记 第二章 构造函数语意学