[email protected]

Asunción, PARAGUAY

Ingeniería y desarrollo de software, emprendimiento, cursos

9 de agosto de 2016

[How To] Detectar dispositivos USB con C#

.NET En ocasiones necesitamos detectar los dispositivos que estamos conectando a la PC, es por eso que les comparto una muy buena opción para detectar las nuevas conexiones de dispositivos USB.

Simplemente utilizamos la clase ManagementEventWatcher y procesamos la consulta tal como se muestra en el ejemplo:

No olvidar agregar el espacio de nombres:

using System.Management;
ManagementEventWatcher watcher = new ManagementEventWatcher();
WqlEventQuery consulta = new WqlEventQuery("SELECT * FROM Win32_VolumeChangeEvent WHERE EventType = 2");
watcher.EventArrived += new EventArrivedEventHandler(watcher_EventArrived);
watcher.Query = consulta;
watcher.Start();
watcher.WaitForNextEvent();
El manejador de eventos quedaría así:
private void watcher_EventArrived(object sender, EventArrivedEventArgs e)
{
    //Realizar aquí la acción necesaria
}
Si necesitamos obtener la letra que el Sistema Operativo designó al dispositivo podemos utilizar esta simple línea de código:
//Dentro del evento watcher_EventArrived
e.NewEvent.Properties["DriveName"].Value.ToString();
De esta manera podemos detectar cambios realizados en el sistema operativo, detectando cambios al conectar los dispositivos externos.

Hey, we've just launched a new custom color Blogger template. You'll like it - https://t.co/quGl87I2PZ
Suscribíte al boletín