C#磁盘信息获取

Posted 敲代码两年半的练习生

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#磁盘信息获取相关的知识,希望对你有一定的参考价值。

【C#】磁盘信息获取

1 题目描述

(1)Form1窗体设计界面如下:

在这里插入图片描述

(2)利用Driveinfo类,获取当前计算机的所有可用驱动器信息,添加到左边的listbox中;
(3)当单击某一个驱动器时,右侧的只读textbox中显示该驱动器的名称、文件系统类型、驱动器类型、卷标、总容量、可用容量等详细信息。

2 源码详解

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;

namespace Csharp10_2
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            DriveInfo[] dr = DriveInfo.GetDrives();
            DriveText.Items.Clear();
            foreach (DriveInfo d in dr)
            {
                DriveText.Items.Add(d);
            }
        }

        private void DriveText_SelectedIndexChanged(object sender, EventArgs e)
        {
            /*
            Name : 盘符 ,例如:"C:\\"
            TotalFreeSpace: 返回磁盘可用空间,返回值类型long。
            DriveType : 磁盘类型 返回值如下:CDRom(光驱)、Fixed(固定磁盘)、Unknown(未知磁盘)、Network(网络磁盘)、NoRootDirectory(盘符不存在)、Ram(虚拟磁盘)、Removable(可移动磁盘)。
            IsReady : 获取一个指示驱动器是否已准备好的值 返回bool类型。
            RootDirectory : 获取驱动器根目录。
            TotalSize : 空间总大小。
            VolumeLabel : 获取驱动器卷标,返回string类型。
            DriveFormat : 获取文件系统的名称,例如 NTFS 或 FAT32
             */
            DriveInfo[] driveInfos = DriveInfo.GetDrives();
            foreach (DriveInfo drive in driveInfos)
            {
                String s1 = drive.Name;
                String s2 = DriveText.SelectedItem.ToString();
                if (s1.Equals(s2))
                {
                    DriverInformationText.Items.Clear();
                    DriverInformationText.Items.Add("盘符:\\t\\t\\t" + drive.Name.ToString());
                    DriverInformationText.Items.Add("可用空间:\\t\\t" + drive.TotalFreeSpace.ToString());
                    DriverInformationText.Items.Add("磁盘类型:\\t\\t" + drive.DriveType.ToString());
                    DriverInformationText.Items.Add("是否准备好:\\t\\t" + drive.IsReady.ToString());
                    DriverInformationText.Items.Add("驱动器根目录:\\t\\t" + drive.RootDirectory.ToString());
                    DriverInformationText.Items.Add("空间总大小:\\t\\t" + drive.TotalSize.ToString());
                    DriverInformationText.Items.Add("驱动器卷标:\\t\\t" + drive.VolumeLabel);
                    DriverInformationText.Items.Add("文件系统名称:\\t\\t" + drive.DriveFormat.ToString());
                    DriverInformationText.Items.Add("剩余空间:\\t\\t" + drive.AvailableFreeSpace.ToString());
                }
            }
        }
    }
}

3 实现效果

在这里插入图片描述

以上是关于C#磁盘信息获取的主要内容,如果未能解决你的问题,请参考以下文章

C#磁盘信息获取

C#中怎么获取本地磁盘。我已经实现了把所有的驱动器都获取出来了^但是包括了光驱。

c# 获取移动硬盘信息监听移动设备的弹出与插入事件

记录C#常用的代码片段

C#怎么获取已知USB设备驱动信息

在 C# 中获取当前 CPU、RAM 和磁盘驱动器的使用情况