1、使用.net管理对象(引入System.Management)

public static List<string> getDisk()
        {
            WqlObjectQuery wmiquery = new WqlObjectQuery("select * from Win32_LogiCalDisk");
            ManagementObjectSearcher wmifind = new ManagementObjectSearcher(wmiquery);
            ManagementObjectCollection queryCollection = wmifind.Get();
            List<string> ls = new List<string>();
            foreach (var disk in queryCollection)
            {
                ls.Add(disk["DeviceID"].ToString());
            }
            return ls;
        }

2、使用驱动信息(引入System.IO)

public static List<string> getDisk()
        {
            var drivers = DriveInfo.GetDrives();
            List<string> ls = new List<string>();
            foreach (var driver in drivers)
            {
                if (driver.DriveType != DriveType.Fixed)
                {
                    continue;
                }
                ls.Add(driver.Name);
            }
            return ls;
        }

3、使用环境信息

public static List<string> getDisk()
        {
            String[] drives = Environment.GetLogicalDrives();
            return new List<string>(drives);
        }

C# 获取本地电脑所有的盘符
public List<string> GetRemovableDeviceID()
        {
            List<string> deviceIDs = new List<string>();
            ManagementObjectSearcher query = new ManagementObjectSearcher("SELECT  *  From  Win32_LogicalDisk ");
            ManagementObjectCollection queryCollection = query.Get();
            foreach (ManagementObject mo in queryCollection)
            {

switch (int.Parse(mo["DriveType"].ToString()))
                {
                    case (int)DriveType.Removable:   //可以移动磁盘    
                        {
                            //MessageBox.Show("可以移动磁盘");
                            deviceIDs.Add(mo["DeviceID"].ToString());
                            break;
                        }
                    case (int)DriveType.Fixed:   //本地磁盘    
                        {
                            //MessageBox.Show("本地磁盘");
                            deviceIDs.Add(mo["DeviceID"].ToString());
                            break;
                        }
                    case (int)DriveType.CDRom:   //CD   rom   drives    
                        {
                            //MessageBox.Show("CD   rom   drives ");
                            break;
                        }
                    case (int)DriveType.Network:   //网络驱动  
                        {
                            //MessageBox.Show("网络驱动器 ");
                            break;
                        }
                    case (int)DriveType.Ram:
                        {
                            //MessageBox.Show("驱动器是一个 RAM 磁盘 ");
                            break;
                        }
                    case (int)DriveType.NoRootDirectory:
                        {
                            //MessageBox.Show("驱动器没有根目录 ");
                            break;
                        }
                    default:   //defalut   to   folder    
                        {
                            //MessageBox.Show("驱动器类型未知 ");
                            break;
                        }
                }

}
            return deviceIDs;
        }

C# .Net 获取系统盘符相关推荐

  1. MFC使用Windows API实现U盘插拔检测,获取U盘容量,U盘内容移动删除,开启和关闭U盘以及获取盘符

    文章目录 前言 一.利用OS API实现对U盘的管理 二.项目到底长啥样 三.实例代码 1.实时判断U盘插入与拔出 2.能够显示U盘的总容量.使用容量和剩余容量 3.能够将某个目录上的文件或整个目录复 ...

  2. USB获取描述符GetDescriptor

    USB获取描述符GetDescriptor 描述述包括设备描述符请求,配置描述符请求.字符串描述符请求和其它描述符请求. ID 请求码 说明 6 GET_DESCRIPTOR 用于主机获取设备的特定描 ...

  3. win7系统盘符名称更改教程

    一般来说,在装机时,我们都会使用C.D.E.F以此类推的字母作为盘符名称,但是如果我们想要更改这些名称其实也是可以的.只需要在计算机管理的磁盘管理内就可以做到了,下面就一起来看一下吧. win7系统盘 ...

  4. 服务器2008怎么系统盘为d盘,硬盘安装Windows Server 2008(解决系统盘符变成D盘)

    在winpe里面安装windows server 2008(非r2版),系统盘符会错乱,变成d盘,把它改回c盘会很复杂...由于要安装32位版本的系统,r2已经没有x86版本了.....不得不安装这个 ...

  5. ISA Server服务器故障恢复一例系统盘符更换之后的应对方法

    周四下午的时候,某政府信息中心领导打电话告诉我,ISA Server服务器不能开机了.随后公司的技术员到达现场,经过检查,发现服务器显卡损坏.在更换显卡后,服务器可以开机,但却不能进入系统--服务器在 ...

  6. java 反射获取修饰符_java之反射和BeanUtils类

    反射和BeanUtils类 1. 类的初始化:类什么什么情况下会加载到内存中 只要类加载到内存中,那么类加载器就会为这个类创建一个class文件对象 2. javaBean:数据库中的表和java中的 ...

  7. 服务器修改系统盘符,服务器盘符怎么改

    服务器盘符怎么改 内容精选 换一换 华为云帮助中心,为用户提供产品简介.价格说明.购买指南.用户指南.API参考.最佳实践.常见问题.视频帮助等技术文档,帮助您快速上手使用华为云服务. 对于挂载了SC ...

  8. java 获取换行符_Apache POI从XWPFRun获得换行符

    我在使用Apache POI 3.15从docx文件中读取空格时遇到问题 . 我有一个带有换行符的Word文档,当通过apache poi读取文件时,我无法找到获取这些换行符的方法 . 当我调用 pa ...

  9. Python 标准库之 os (获取当前目录、读取/设置环境变量、重命名文件、运行shell命令、创建/删除/查看目录文件、判断目录/文件/存在、获取绝对路径、获取文件名、获取换行符、获取路径分隔符)

    1. os与sys模块的官方解释如下: os This module provides a portable way of using operating system dependent funct ...

最新文章

  1. bellman_ford寻找平均权值最小的回路
  2. 暑期集训1:C++STL 练习题D:HDU-1509
  3. 基于Boost::beast模块的协程WebSocket客户端
  4. 前端基础之操作标签—文档处理
  5. Linux集群和自动化维1.4.2 优化Linux下的内核TCP参数以提高系统性能
  6. java 循环map 优雅写法_Java for循环Map集合优化实现解析
  7. C# NTP时间同步类
  8. [转]详细易懂的Linux makefile教程(7)
  9. 从零开始的linux 第五章
  10. oracle insert 触发器无效_分享一个超实用的Zabbix监控Oracle用户无效对象手册
  11. redis分布式客户端中间件
  12. Myeclipse.ini 配置
  13. 基于VHDL语言的数字电子钟设计
  14. python处理nc气象数据_气象数据处理——nc文件
  15. 正定矩阵和半正定矩阵
  16. 干货满满!亲测国内四大AI智能抠图网站
  17. linux RDP 共享磁盘,USB Over Network - USB Server for Linux (RDP使用讀卡機殘念)
  18. 砌体的弹性模量计算_3.2 砌体的计算指标
  19. 新手学习Django的十条注意点
  20. PHP是代表什么生肖,能字是什么生肖

热门文章

  1. python参数化建模加工图_proe参数化建模教程(最新)
  2. 鼠标点击消灭病毒小游戏
  3. 315曝光银行卡默认闪付易遭“隔空”盗刷,银联回应:为极少数个案...
  4. Python报错:python.h 没有那个文件或目录
  5. 马云小演讲,道破创业成功关键
  6. C#实现获取指定文件目录下的某种格式的文件集,并移动到Bak
  7. 【西安安泰】功率放大器在超声波无损检测技术中的应用
  8. 计算几何(梅涅劳斯定理) - Triangle Hazard - UVA 12165
  9. creo自定义调用零件库_cero基础设置教程,五步cero5.0设置调用自定义标准件的方法...
  10. TDW-JAVA-研发技术点纪录