2016-07-13 17 views
3

Ich möchte ein USB-Laufwerk in meiner App (beim Start) erkennen, aber ich kann keinen einfachen Weg finden, das zu tun!UWP USB-Erkennung

In WinForms habe ich DriveInfo verwendet, aber es existiert nicht in UWP.

Ich fand dies: How to get notifications if devices are added, removed, or changed (XAML) aber es ist überhaupt nicht sehr einfach! Und es findet alles außer meinem USB-Laufwerk! (oder es zeigt es nicht mit dem guten Namen).

Können Sie mir bitte helfen? Dank

+0

danke itsme86 –

Antwort

2

prüfen diese Probe auf DeviceEnumerationAndPairing

Wenn Sie dies getan werden soll, wenn die App geöffnet ist, dann Szenario 2

sehen Wenn Sie dies wollen, zu tun, wenn Ihre App nicht geöffnet ist (Hintergrund), dann siehe Szenario 3.

Im Beispiel, als ich meinen USB angeschlossen habe, konnte ich die Geräteschnittstellen-ID und auch den Namen sehen. Dies sollte Ihnen den Einstieg erleichtern.

Edit 2: Also auf der Grundlage Ihrer Anforderung finden Sie in der Dokumentation zu KnownFolders.Removable Devices

Dadurch werden Sie alle Dateien und Ordner aus einem neuen hinzugefügt Wechselgerät (am Telefon mit OTG oder SD-Karte) geben

+0

Danke AVK Naidu. Ich habe ein Problem mit meinem PC, also werde ich Ihren Vorschlag so schnell wie möglich versuchen und Sie wissen lassen, –

+0

Ich probierte die Probe und das Szenario 2 scheint der beste für mich zu sein. Aber ich habe immer noch eine Frage, wie kann ich den Laufwerksbuchstabe ins Innere des USB-Geräts schauen? Oder ist es anders gemacht? Danke für Ihre Hilfe –

+0

Ok. Also von dem, was ich verstehe, zuerst möchten Sie USB-Änderungen erkennen und wenn Sie etwas gefunden haben, möchten Sie die Dateien abfragen? – AVK

0

Es wird Ihnen alle portalble Geräteliste

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

ODER

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