【问题标题】:How to enumerate hard drives如何枚举硬盘
【发布时间】:2010-11-15 02:02:15
【问题描述】:

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

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

最后,在可移动驱动器中,我希望能够确定其中哪些是闪存(SSD 或拇指)驱动器与标准硬盘驱动器。

【问题讨论】:

    标签: .net winforms hard-drive


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:
        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

        【讨论】:

          猜你喜欢
          • 2015-05-26
          • 1970-01-01
          • 2010-09-11
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多