Получить информацию о дисках

Для получения информации о дисках в системе нужно использовать класс DriveInfo, который предоставляет все необходимые сведения о диске: общий объем, свободное место, тип файловой системы и т.д.


using System.IO;

// Создаем список дисков
private void Form1_Load(object sender, EventArgs e)
{
    foreach (DriveInfo di in DriveInfo.GetDrives())
    {
        cboDrive.Items.Add(di.Name);
        cboDrive.SelectedIndex = 0;
    }
}

// Выводим информацию о выбранном диске
private void cboDrive_SelectedIndexChanged(object sender, EventArgs e)
{
    string drive_letter = cboDrive.Text.Substring(0, 1);
    DriveInfo di = new DriveInfo(drive_letter);
    lblIsReady.Text = di.IsReady.ToString();
    lblDriveType.Text = di.DriveType.ToString();
    lblName.Text = di.Name;
    lblRootDirectory.Text = di.RootDirectory.Name;
    if (di.IsReady)
    {
        lblDriveFormat.Text = di.DriveFormat;
        lblAvailableFreeSpace.Text = di.AvailableFreeSpace.ToString();
        lblTotalFreeSize.Text = di.TotalFreeSpace.ToString();
        lblTotalSize.Text = di.TotalSize.ToString();
        lblVolumeLabel.Text = di.VolumeLabel;
    }
    else
    {
        lblDriveFormat.Text = "";
        lblAvailableFreeSpace.Text = "";
        lblTotalFreeSize.Text = "";
        lblTotalSize.Text = "";
        lblVolumeLabel.Text = "";
    }
}

Скачать исходник

Примечание: для получения серийного номера диска нужно использовать функцию Windows API GetVolumeInformation.

Реклама