public static void Main() { WMIEvent wEvent = new WMIEvent(); ManagementEventWatcher watcher = null; WqlEventQuery query; ManagementOperationObserver observer = new ManagementOperationObserver(); ManagementScope scope = new ManagementScope("root\\CIMV2"); scope.Options.EnablePrivileges = true; try { query = new WqlEventQuery(); query.EventClassName = "__InstanceCreationEvent"; query.WithinInterval = new TimeSpan(0,0,10); query.Condition = @"TargetInstance ISA 'Win32_USBControllerDevice' "; watcher = new ManagementEventWatcher(scope, query); watcher.EventArrived += new EventArrivedEventHandler(wEvent.UsbEventArrived); watcher.Start(); } catch (Exception e) { //handle exception } }
public static void Main() { WMIEvent we = new WMIEvent(); ManagementEventWatcher w= null; WqlEventQuery q; try { q = new WqlEventQuery(); q.EventClassName = "Win32_ProcessStartTrace"; w = new ProcessStartEventArrived(q); w.EventArrived += new EventArrivedEventHandler(we.ProcessStartEventArriv ed); w.Start(); Console.ReadLine(); // block main thread for test purposes } finally { w.Stop(); } }