2009-04-03 22 views

Respuesta

3

Mire WM_DEVICECHANGE. Este mensaje debe enviarse cuando se inserta una unidad.

1

Sé que esto no es exactamente lo que pediste, pero si quieres comprobar qué dispositivos están disponibles en cualquier momento, hay otra manera. Puedes usar las clases de WMI en el System.Management namespace, he usado este método y funciona bien.

Si echa un vistazo a this answer, muestra cómo enumerar todas las unidades en el sistema. A continuación, puede ver el tipo de unidad para determinar si es una memoria USB.

0

Escribí un módulo powershell que usa un System.Management.ManagementEventWatcher y la clase WMI Win32_VolumeChangedEvent para hacer frente a nuevos eventos que pueda registrar dentro de powershell que cubren la eliminación, adición, etc. del dispositivo. Debería ser capaz de descubrir las tuberías pertinentes de esta entrada del blog mío:

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

Usted debe ser capaz de cablear un evento para las nuevas unidades en menos de diez líneas de C# utilizando los métodos que utilizo en el guión anterior.

Espero que esto ayude.

Cuestiones relacionadas