
var queryRemove = new WqlEventQuery("SELECT * FROM Win32_DeviceChangeEvent WHERE EventType = 3") WatcherRemove = new ManagementEventWatcher() WatcherAttach.Query = new WqlEventQuery("SELECT * FROM Win32_DeviceChangeEvent WHERE EventType = 2") WatcherAttach.EventArrived += new EventArrivedEventHandler(watcher_EventArrived) var queryAttach = new WqlEventQuery("SELECT * FROM Win32_DeviceChangeEvent WHERE EventType = 2") WatcherAttach = new ManagementEventWatcher() Private ManagementEventWatcher watcherRemove

Private ManagementEventWatcher watcherAttach

used for monitoring plugging and unplugging of USB devices. I used the following code to detect when USB devices were plugged and unplugged from my computer: class USBControl : IDisposable
