C#怎么获取磁盘列表信息

hn_yi 2007-10-27 04:41:30
如题
...全文
654 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
z812183667 2011-11-02
  • 打赏
  • 举报
回复
学习了 不错!
lovezx1028 2010-04-28
  • 打赏
  • 举报
回复
marks
fancystyle 2007-10-27
  • 打赏
  • 举报
回复
MARK~!
biglazy 2007-10-27
  • 打赏
  • 举报
回复
System.IO.Directory.GetLogicalDrives();

路人乙e 2007-10-27
  • 打赏
  • 举报
回复
private void button1_Click(object sender, EventArgs e)
{
 listView1.Items.Clear();
 SelectQuery selectQuery = new SelectQuery("select * from win32_logicaldisk");
 ManagementObjectSearcher searcher = new ManagementObjectSearcher(selectQuery);
 int i=0;
 foreach (ManagementObject disk in searcher.Get()) {
  //盘符
  listView1.Items.Add(disk["Name"].ToString());
  //卷标
  try
  {
   listView1.Items[i].SubItems.Add(disk["VolumeName"].ToString());
  }
  catch
  {
   listView1.Items[i].SubItems.Add("设备未准备好");
  }
  //驱动器类型
  string DriveType;
  try
  {
   DriveType = disk["DriveType"].ToString();
   switch (DriveType)
   {
    case "0":
     listView1.Items[i].SubItems.Add("未知设备");
     break;
    case "1":
     listView1.Items[i].SubItems.Add("未分区");
     break;
    case "2":
     listView1.Items[i].SubItems.Add("可移动磁盘");
     break;
    case "3":
     listView1.Items[i].SubItems.Add("硬盘");
     break;
    case "4":
     listView1.Items[i].SubItems.Add("网络驱动器");
     break;
    case "5":
     listView1.Items[i].SubItems.Add("光驱");
     break;
    case "6":
     listView1.Items[i].SubItems.Add("内存磁盘");
     break;
  }
 }
 catch
 {
  listView1.Items[i].SubItems.Add("未知类型");
 }
 //容量
 try
 {
  listView1.Items[i].SubItems.Add(GetSizeUseUnit(disk["Size"].ToString()));
 }
 catch
 {
  listView1.Items[i].SubItems.Add("设备未准备好");
 }
 //剩余空间
 try
 {
  listView1.Items[i].SubItems.Add(GetSizeUseUnit(disk["FreeSpace"].ToString()));
 }
 catch
 {
  listView1.Items[i].SubItems.Add("设备未准备好");
 }
 i++;
}
}

先添加对System.Management的引用

using System.Management;
...
SelectQuery selectQuery = new SelectQuery("select * from win32_logicaldisk");
ManagementObjectSearcher searcher = new ManagementObjectSearcher(selectQuery);
int i = 0;
foreach (ManagementObject disk in searcher.Get())
{
//获取驱动器盘符
this.listBox1.Items.Add(disk["Name"].ToString());
}

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧