C#获取驱动器盘符
来源:互联网 发布:9月出口数据 编辑:程序博客网 时间:2024/06/06 03:49
一、使用ManagementObjectSearcher类
static void Main(string[] args) { SelectQuery selectQuery = new SelectQuery("select * from win32_logicaldisk"); ManagementObjectSearcher searcher = new ManagementObjectSearcher(selectQuery); foreach (ManagementObject disk in searcher.Get()) { //获取驱动器盘符 Console.WriteLine(disk["Name"].ToString()); //卷标 Console.WriteLine(disk["VolumeName"].ToString()); //驱动器类型 string DriveType = disk["DriveType"].ToString(); switch (DriveType) { case "0": Console.WriteLine("未知设备"); break; case "1": Console.WriteLine("未分区"); break; case "2": Console.WriteLine("可移动磁盘"); break; case "3": Console.WriteLine("硬盘"); break; case "4": Console.WriteLine("网络驱动器"); break; case "5": Console.WriteLine("光驱"); break; case "6": Console.WriteLine("内存磁盘"); break; } //容量 Console.WriteLine(GetSizeUseUnit(disk["Size"].ToString())); //剩余空间 Console.WriteLine(GetSizeUseUnit(disk["FreeSpace"].ToString())); } } public static string GetSizeUseUnit(string size) { double dSpace = Convert.ToDouble(size); string sSpace = dSpace.ToString("N"); string[] tmp; string rtnSize = "0"; tmp = sSpace.Split(','); switch (tmp.GetUpperBound(0)) { case 0: rtnSize = tmp[0] + " 字节"; break; case 1: rtnSize = tmp[0] + "." + tmp[1].Substring(0, 2) + " K"; break; case 2: rtnSize = tmp[0] + "." + tmp[1].Substring(0, 2) + " M"; break; case 3: rtnSize = tmp[0] + "." + tmp[1].Substring(0, 2) + " G"; break; case 4: rtnSize = tmp[0] + "." + tmp[1].Substring(0, 2) + " T"; break; } return rtnSize; }
二、使用DriveInfo类
static void Main(string[] args) { DriveInfo[] allDrives = DriveInfo.GetDrives(); foreach (DriveInfo d in allDrives) { Console.WriteLine("Drive {0}", d.Name); Console.WriteLine(" File type: {0}", d.DriveType); if (d.IsReady == true) { Console.WriteLine(" Volume label: {0}", d.VolumeLabel); Console.WriteLine(" File system: {0}", d.DriveFormat); Console.WriteLine( " Available space to current user:{0, 15} bytes", d.AvailableFreeSpace); Console.WriteLine( " Total available space: {0, 15} bytes", d.TotalFreeSpace); Console.WriteLine( " Total size of drive: {0, 15} bytes ", d.TotalSize); } } }
三、使用Environment类,调用kernel32API获取驱动类型
[DllImport("kernel32")] public static extern uint GetDriveType(string lpRootPathName); static void Main(string[] args) { string[] drives = Environment.GetLogicalDrives(); foreach (string drive in drives) { //Determine icon to display by drive switch (GetDriveType(drive)) { case 2: Console.WriteLine("软盘"); break; case 3: Console.WriteLine("硬盘"); break; case 4: Console.WriteLine("网络驱动器"); break; case 5: Console.WriteLine("光驱驱动器"); break; default: Console.WriteLine(""); break; } } }
- C#获取驱动器盘符
- 如何用编程获取CD-ROM的驱动器盘符?
- 利用GetLogicalDrives和GetDriveType获取驱动器盘符及类型
- 利用GetLogicalDrives和GetDriveType获取驱动器盘符及类型
- 用C++编程获取驱动器盘符(一)
- 用C++编程获取驱动器盘符(二)
- 逻辑驱动器个数和盘符获取GetLogicalDrives和GetLogicalDriverStrings
- 提取驱动器盘符
- 用C#和WMI获取逻辑驱动器详细信息(驱动器类型,文件系统,剩余空间等)
- 用C#和WMI获取逻辑驱动器详细信息
- 用C#和WMI获取逻辑驱动器详细信息
- 用C#和WMI获取逻辑驱动器详细信息
- c# 递归异步获取本地驱动器下所有文件
- VC中如何获取当前计算机中所有逻辑驱动器的数目和盘符
- VC中获取当前计算机中所有逻辑驱动器的数目和盘符
- 获取驱动器序列号
- 获取逻辑驱动器信息
- C#映射网络驱动器
- 二分查找
- 触发器在数据库中的应用及影响
- 写日志文件
- andriod开发1
- PeopleSoft 服务器管理 - 通过脚本启动/停止服务器
- C#获取驱动器盘符
- regionMatches这个JAVA方法是怎么用的?
- HttpModule用户的验证
- Windows API一日一练(1)第一个应用程序
- ASP.NET基本的增删改查
- 加载和保存站点值到配置文件
- 关闭一个进程
- sa12***161 Linux操作系统是如何工作的?破解操作系统的奥秘
- qt5 --QWidget类学习笔记