using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Management;namespace 代码清单3._4
{
    class Program
    {
      public  static void Main(string[] args)
        {
            string temp = "";
            ManagementClass MyDisk = new ManagementClass("Win32_LogicalDisk");
            ManagementObjectCollection disks;
            disks = MyDisk.GetInstances();
          foreach(ManagementObject disk in disks)
          {
              temp = "";
              temp+="ID:"+disk["DeviceID"];
              temp+="名称:"+disk["Name"];
              temp+="卷标:"+disk["VolumeName"];
              if(disk["FileSystem"].ToString()!="")
              {
                  temp+="文件系统:"+disk["FileSystem"];
                  temp+="描述:"+disk["Description"];
                  if(System.Convert.ToInt64(disk["Size"])>0)
                  {
                      temp += "大小:" + System.Convert.ToInt64(disk["Size"].ToString());
                  }
                  temp += "类型:" + System.Convert.ToInt16(disk["DriveType"].ToString());
              }
              Console.WriteLine(temp);
              Console.ReadKey();
          }
        }
    }
}

解决方案 »

  1.   

    调用WMI(ManagementClass类提供交互)接口获得系统信息。using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Management;namespace 代码清单3._4
    {
      class Program
      {
      public static void Main(string[] args)
      {
      string temp = ""; //定义temp字符串,并且让它为空
      ManagementClass MyDisk = new ManagementClass("Win32_LogicalDisk"); //定义管理对象,连接逻辑磁盘信息
      ManagementObjectCollection disks; //定义一个叫disks的集合
      disks = MyDisk.GetInstances(); //将所有磁盘信息装入集合
      foreach(ManagementObject disk in disks) //对集合遍历
      {
      temp = ""; //字符串temp为空
      temp+="ID:"+disk["DeviceID"]; //字符串temp加上磁盘的设备id
      temp+="名称:"+disk["Name"]; //加上名字
      temp+="卷标:"+disk["VolumeName"]; //加上卷标
      if(disk["FileSystem"].ToString()!="") //如果有文件系统(对于光驱、软驱、读卡器等没有插入盘的盘符,无法获取)
      {
      temp+="文件系统:"+disk["FileSystem"]; //加上文件系统
      temp+="描述:"+disk["Description"]; //加上描述
      if(System.Convert.ToInt64(disk["Size"])>0) //判断能否获取容量大小
      {
      temp += "大小:" + System.Convert.ToInt64(disk["Size"].ToString()); //容量大小
      }
      temp += "类型:" + System.Convert.ToInt16(disk["DriveType"].ToString()); //类型
      }
      Console.WriteLine(temp); //输出temp
      Console.ReadKey(); //让控制台停住
      }
      }
      }
    }
      

  2.   

    cao哥真有耐心、
    艹哥真有耐心