2016-10-04 4 views
0

J'essaie d'énumérer dynamiquement les lettres de lecteur de clés USB car elles sont connectées à mon Raspberry Pi exécutant Windows 10 IoT Core.Comment puis-je détecter un fichier sur un périphérique USB connecté à un Raspberry Pi exécutant Windows 10 IoT Core? (C# UWP)

Je crois comprendre que je peux utiliser Windows.Devices.Enumeration.DeviceWatcher ou DeviceWatcherTrigger pour ce faire. Une fois qu'une clé USB est détectée, je veux aussi voir si elle est vide ou, si ce n'est pas le cas, analyser si elle contient un fichier dans un répertoire spécifié.

Toute aide serait grandement appréciée.

+0

Semble correct, juste souscrire aux 'add' et' événements update'. – Blindy

+0

Utilisez KnownFolders. RemovableDevices() pour accéder au périphérique de stockage parce que StorageDevice.FromId() ne semble pas fonctionner sur Windows IoT –

Répondre

2

Oui, utilisez Windows.Devices.Enumeration.DeviceWatcher pour énumérer les périphériques de stockage portables à la volée, il suffit d'écouter l'événement Added/Removed/Updated de DeviceWatcher. Une bonne astuce est si vous voulez écouter l'événement en arrière-plan (alias, lorsque l'application de premier plan est suspendue, vous devez gérer l'événement Added/Removed/Updated dans un composant d'exécution Windows distinct, et enregistrer le veilleur de fond avec Ajout/Suppression/événement de mise à jour se déclenche.

Reportez-vous au projet DeviceEnumerationAndPairing de démonstration sur GitHub pour des exemples de code.

+0

Donc, en utilisant ce projet de démonstration, je suis arrivé au point où je peut détecter quand une clé USB est ajoutée ou retirée vers/depuis le Raspberry Pi mais à partir de là je ne sais pas comment trouver la lettre de lecteur de ce périphérique de stockage. Des conseils? – maxblaster5000

+0

@ maxblaster5000, désolé pour le retard, peut-être vous pouvez vous référer à ce poste. http://stackoverflow.com/questions/40112787/using-deviceid-from-windows-devices-enumeration-to-find-the-drive-letter-of-a-re – Jackie