2016-07-13 2 views
3

Я хотел бы обнаружить USB-накопитель в своем приложении (при запуске), но я не могу найти простой способ сделать это!Определение UWP usb

В WinForms я использовал DriveInfo, но он не существует в UWP.

Я нашел это: How to get notifications if devices are added, removed, or changed (XAML), но это совсем не так просто! И он находит все, кроме моего USB-накопителя! (или он не показывает его с хорошим именем).

Вы можете мне помочь? Благодаря

+0

благодарит вас itsme86 –

ответ

2

Проверить этот образец на DeviceEnumerationAndPairing

Если вы хотите, чтобы это было сделано, когда приложение открыто, то см Сценарий 2

Если вы хотите, чтобы это было сделано, когда ваше приложение не является открытым (фон), затем см. Сценарий 3.

В образце Когда я подключил свой USB-порт, я смог увидеть идентификатор интерфейса устройства, а также имя. Это должно помочь вам начать работу.

Edit 2: Так на основе ваших требований, обратитесь к документации по KnownFolders.Removable Devices

Это даст вам все файлы и папки из нового добавленного съемного устройства (по телефону с OTG или SD-карты)

+0

Спасибо AVK Naidu. У меня проблемы с моим ПК, поэтому я попробую ваше предложение как можно скорее и сообщит вам –

+0

Я попробовал образец, и сценарий 2 кажется мне лучшим. Но у меня все еще есть вопрос, как я могу получить письмо от диска, чтобы посмотреть внутри USB-устройства? Или это делается по-другому? Спасибо за вашу помощь –

+0

Хорошо. Итак, из того, что я понимаю, сначала вы хотите обнаружить USB-изменения, и если вы что-то нашли, вы хотите запросить файлы? – AVK

0

Это предоставит вам весь список portalble устройства

var myDevices = await Windows.Devices.Enumeration.DeviceInformation.FindAllAsync(Windows.Devices.Enumeration.DeviceClass.PortableStorageDevice); 

ИЛИ

StorageFolder externalDevices = Windows.Storage.KnownFolders.RemovableDevices; 
StorageFolder sdCard = (await externalDevices.GetFoldersAsync()).FirstOrDefault(); 

// An SD card is present and the sdCard variable now contains a reference to it. 
    if (sdCard != null) 
     { 
     // do whatever you want! 
     }