如何枚举硬盘

时间:2009-07-29 13:50:32

标签: .net winforms hard-drive

我正在写一个.net winforms应用程序。我希望能够枚举系统上的所有硬盘驱动器。

此外,我希望能够确定哪个驱动器是固定的,哪个是可移动的。

最后,在可移动驱动器中,我希望能够确定它们中的哪一个是闪存(SSD或拇指)驱动器而不是标准硬盘驱动器。

3 个答案:

答案 0 :(得分:5)

对于前两点,您需要以下内容。我认为您可能必须切换到WMI以确定可移动驱动器是基于固态还是基于硬盘驱动器。

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

DriveType Enum

生成所有驱动器及其类型的列表

答案 1 :(得分:1)

您可以使用WMI来执行此操作。您需要Win32_DiskDriveWin32_LogicalDisk

答案 2 :(得分:1)

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
    }
}

但我不知道你怎么能确定它是Flash,SSD还是硬盘......也许是WMI