Comment détecter un périphérique MTP et commencer à copier des fichiers?

J’ai une application VB qui détecte actuellement l’ajout de lecteurs externes (qui reçoivent des lettres de lecteur) et commence à copier certains fichiers. Assez pratique, il suffit de twigr une caméra (par exemple) et mon application extrait les fichiers dont elle a besoin (en supprimant éventuellement du périphérique externe).

Certains appareils, disons GoPro Hero4, ne montent pas avec des lettres de lecteur, mais apparaissent comme des périphériques MTP. Mon code ne détecte pas cela, et c’est ce que j’aimerais que l’on conseille.

Devrais-je utiliser la classe ‘StorageDevice’? Une chose WMI? WDP?

Il semble que StorageDevice contienne ce dont j’ai besoin, mais les documents sont plutôt de haut niveau et je cherche un exemple solide, de préférence en VB ou en C #. Des suggestions pour la meilleure solution?

Edit: Merci pour le lien avec les autres Q & A de la direction mais je pense que cela est quelque peu différent dans a) Je voudrais détecter les événements connectés aux périphériques, pas seulement copier des fichiers, et b) les liens sur documenté. Peut-être que la réponse est là, mais j’essaie juste d’obtenir une réponse, pas de fouiller dans le code source qui peut ou peut ne pas être ce dont j’ai besoin.

Je ne l’ai pas essayé, mais cela explique pourquoi il n’y a pas d’événement “périphérique connecté” et comment détecter et gérer les connexions de périphérique.

L’interface Plug and Play est utilisée pour détecter les appareils connectés.