[How To] Detectar dispositivos USB con C#

[How To] Detectar dispositivos USB con C#

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.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.