예제 #1
0
		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
			}
	}
예제 #2
0
    	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();
	    	}
   	 }