Как перечислить жесткие диски - PullRequest
0 голосов
/ 29 июля 2009

Я пишу .net winforms приложение. Я хочу иметь возможность перечислять все жесткие диски в системе.

Кроме того, я хотел бы иметь возможность определить, какой из дисков является фиксированным, а какой съемным.

Наконец, из съемных дисков мне бы хотелось определить, какой из них является флэш-накопителем (SSD или большим пальцем) по сравнению со стандартным жестким диском.

Ответы [ 3 ]

5 голосов
/ 29 июля 2009

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

foreach(DriveInfo info in DriveInfo.GetDrives())
{
   Console.WriteLine(info.Name + ":" + info.DriveType);
}

Создает список всех дисков и их типа из DriveType Enum

1 голос
/ 29 июля 2009
DriveInfo[] drives = DriveInfo.GetDrives();
foreach (DriveInfo drive in drives)
{
    if (drive.DriveType == DriveType.Fixed)
    {
        // Do something
    }
    else if (drive.DriveType == DriveType.Removable)
    {
        // Do something else
    }
}

Но я не знаю, как вы можете определить, является ли это флэш-память, SSD или жесткий диск ... может быть, с WMI

1 голос
/ 29 июля 2009

Вы можете использовать WMI для этого. Вам потребуется либо Win32_DiskDrive , либо Win32_LogicalDisk .

...