如何发现USB大容量存储设备(外部硬盘驱动器)



我已经尝试了这两个不同的功能,但它没有按预期工作。如何确定驱动器是否是外部驱动器 <- 此提供的方法也为 USB 拇指驱动器返回 true。但是,我正在寻找专门用于外部硬盘驱动器。

       DriveInfo[] allDrives = DriveInfo.GetDrives();
       foreach (DriveInfo d in allDrives)     
       if (d.DriveType == DriveType.Fixed && d.Name != "C:" + @""){}

DriveType 枚举还有一个可移动属性:

System.IO.DriveType driveType = drive.DriveType;
switch (driveType)
{
    case System.IO.DriveType.CDRom:
        break;
    case System.IO.DriveType.Fixed:
        // Local Drive
        break;
    case System.IO.DriveType.Network:
        // Mapped Drive
        break;
    case System.IO.DriveType.NoRootDirectory:
        break;
    case System.IO.DriveType.Ram:
        break;
    case System.IO.DriveType.Removable:
        // Usually a USB Drive
        break;
    case System.IO.DriveType.Unknown:
        break;
}

可以查询类型。

最新更新