Как обнаружить запоминающее устройство USB (внешний жесткий диск)?

Я пробовал эти две разные функции, но они не работают должным образом. Как определить, является ли диск внешним ‹- метод при условии, что это также возвращает true для USB-накопителя. Но я ищу специально для внешнего жесткого диска.

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

person posh    schedule 06.03.2018    source источник
comment
Что, по вашему мнению, определяет, является ли какое-либо конкретное запоминающее устройство USB на основе флэш-памяти жестким диском или флэш-накопителем? Для ОС разница заключается в разбиении.   -  person Ben Voigt    schedule 06.03.2018


Ответы (1)


Перечисление DriveType также имеет свойство Removable:

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

Вы можете запросить тип.

person JazzmanJim    schedule 06.03.2018