2016-03-28 9 views
1

Я хочу написать программу, которая обнаруживает флэш-накопители.
Но есть проблема.
Код:Обнаружение, если диск является флеш-накопителем

DriveInfo[] allDrives = DriveInfo.GetDrives(); 

     foreach (DriveInfo drive in DriveInfo.GetDrives()) 
     { 
      if (drive.DriveType == DriveType.Removable) 
      { 
      } 
     } 

Он хорошо работает, но он обнаруживает CDROM тоже. Как предотвратить это?

+1

Это говорит о том, что ваш компьютер сообщает о неправильном типе для привода cdrom. У вас есть программное обеспечение для записи дисков, которое может вызвать это? –

+0

Я не использую никакого программного обеспечения для записи, потому что я действительно не сжигаю CD и DVD. мой компьютер работает с Windows 10 прямо сейчас, но я скоро установлю Windows 7 – Mudzay

+0

Я предварительно проверил с Windows 7, поэтому просто чтобы убедиться, что я тоже проверил Windows 10. По-прежнему кажется, что ваш компьютер сообщает о неправильном типе для оптического привода. Случается ли это подключение через USB? (У меня нет USB-накопителя USB для проверки.) –

ответ

3

У меня нет ответа, почему ваш код не работает. Но если вы хотите, чтобы обнаружить USB-устройства, вы можете попробовать его с WMI, как это:

ManagementObjectCollection drives = new ManagementObjectSearcher(
    "SELECT Caption, DeviceID FROM Win32_DiskDrive WHERE InterfaceType='USB'" 
).Get(); 

Добавить сборку System.Management в свой проект, чтобы сделать это, как это.

+0

Спасибо, сейчас проверим. – Mudzay

+0

Я добавил сборку System.Management, но этот код не работает. Я получаю «Тип или имя пространства имен« ManagementObjectCollection »не удалось найти (вам не хватает директивы using или ссылки на сборку?)» Error – Mudzay

+0

Посмотрите, как добавить недостающую сборку: https://msdn.microsoft.com/ de-de/library/ee231595% 28v = vs.110% 29.aspx вот также пример: http://stackoverflow.com/questions/2157133/how-do-i-add-an-assembly-to-a -визуальная-студия-проект-и-reference-it вам нужно добавить сборку System.Management к вашему проекту – Fruchtzwerg