2009-04-03 8 views

Répondre

3

Regardez WM_DEVICECHANGE. Ce message doit être envoyé lorsqu'un lecteur est inséré.

1

Je sais que ce n'est pas exactement ce que vous avez demandé, mais si vous voulez vérifier quels dispositifs sont disponibles à tout moment, il y a un autre moyen. Vous pouvez utiliser les classes WMI dans le System.Management namespace, j'ai utilisé cette méthode et cela fonctionne bien.

Si vous jetez un oeil à this answer, il montre comment énumérer tous les lecteurs sur le système. Vous pouvez ensuite regarder le type de lecteur pour déterminer s'il s'agit ou non d'une clé USB.

0

J'ai écrit un module PowerShell qui utilise un System.Management.ManagementEventWatcher et la classe WMI Win32_VolumeChangedEvent pour faire apparaître de nouveaux événements auxquels vous pouvez vous inscrire dans Powerhell en couvrant le retrait, l'ajout de périphérique, etc. Vous devriez pouvoir déterminer la plomberie appropriée de ce billet de blog de la mine:

http://www.nivot.org/nivot2/post/2008/08/16/AutoMountunmountNewPSDrivesForRemovableDrivesAndNetworkSharesInPowerShellV2.aspx

Vous devriez pouvoir câbler un événement pour les nouveaux lecteurs en moins de dix lignes de C# en utilisant les méthodes que j'utilise dans le script ci-dessus.

Espérons que cela aide.

Questions connexes