C# 读取硬盘信息类
来源:互联网 发布:郑秀妍金泰妍关系知乎 编辑:程序博客网 时间:2024/06/06 09:12
在编写工具检查硬盘信息时,总结常用到的类:
Win32_DiskDrive
这个用了检查整个硬盘的信息,如果电脑只有一个硬盘,那只显示一条信息。参考如下代码,AddTextBox为自定义显示函数。(MSDN class 查询:https://msdn.microsoft.com/en-us/library/aa394132(v=vs.85).aspx)
ManagementClass mc = new ManagementClass("Win32_DiskDrive"); ManagementObjectCollection moc = mc.GetInstances();
foreach (ManagementObject mo in moc) { AddTextBox(">>硬盘详细信息----------------------------------------------------------"); AddTextBox("Model: " + Convert.ToString(mo.Properties["Model"].Value)); //name stata 256 AddTextBox("Description: " + Convert.ToString(mo.Properties["Description"].Value)); //diskdriver AddTextBox("InterfaceType: " + Convert.ToString(mo.Properties["InterfaceType"].Value)); //scsi AddTextBox("MediaType: " + Convert.ToString(mo.Properties["MediaType"].Value)); //fixed hard disk string strSize=Convert.ToString( mo.Properties["Size"].Value); AddTextBox("size:"+Convert.ToString( mo.Properties["Size"].Value)+"KB"); var aaa = Convert.ToString( mo.Properties["Size"].Value); UInt64 bbb=UInt64.Parse(aaa); totalsise = (float)Math.Round(bbb / 1000 / 1000 / 1000.0, 3); totalsise2 = (float)Math.Round(bbb / 1024 / 1024 / 1024.0, 3); AddTextBox("size(除1000): " + totalsise.ToString()+"GB"); AddTextBox("size(除1024): " + totalsise2.ToString() + "GB"); }
Win32_Volume
当检查C盘,D盘或光盘,可以用到这个class,DriverLetter显示C:\,D:\等。通过查看DriverType的数值能判定当前盘符是哪种类型。参考:https://msdn.microsoft.com/en-us/library/aa394515(v=vs.85).aspx
ManagementObjectSearcher deviceList = new ManagementObjectSearcher("Select DriveLetter, DeviceID,DriveType,Name from Win32_Volume "); foreach (ManagementObject device in deviceList.Get()) { string name = Convert.ToString(device.GetPropertyValue("DriveLetter")); string DriveType = Convert.ToString(device.GetPropertyValue("DriveType")); if (DriveType == "3" && name != "") { //.. } }
DriveInfo.GetDrives()
这个函数功能和上面Win32_Volume功能类似,但没Win32_Volume那么多信息查询。优点在于用起来方便,易懂,官方已经给出例子:(https://msdn.microsoft.com/zh-cn/library/system.io.driveinfo.getdrives.aspx)
DriveInfo[] allDrives = DriveInfo.GetDrives(); foreach (DriveInfo d in allDrives) { Console.WriteLine("Drive {0}", d.Name); Console.WriteLine(" Drive 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); } }
阅读全文
0 0
- C# 读取硬盘信息类
- 读取IDE硬盘信息类
- c# 读取机器CPU信息,硬盘信息,网卡信息
- C#读取cpu序列号、mac序列号、硬盘id等电脑信息类
- java读取硬盘信息
- C#读取硬盘序列号
- C# 获取硬盘信息
- C# 读取IDE硬盘序列号
- c#获取逻辑硬盘信息
- C#获取逻辑硬盘信息
- c# NameValueCollection类读取配置信息
- C#反射读取类定制特性信息
- C#反射读取类定制特性信息
- C#读取硬件信息
- C#读取设备信息
- C# 配置信息读取
- C#读取注册表信息
- C#读取文件信息
- pip下载模块报 time out 的处理办法
- 单例模式的6种实现方式
- Quartz的使用(解决quartz的job无法注入spring对象)
- 关于负载均衡点点技术总结
- PAT乙级1030. 完美数列(25)
- C# 读取硬盘信息类
- CComboBox常用法
- 通过CPUID指令获取CPU信息
- 装windows7和linux双系统时遇到问题的解决办法
- HashMap的遍历方式
- malloc(0)分配到的内存大小
- [Qt for VS2015] 安装
- EditText光标放在末尾
- shell 函数的返回值