HI
I have a problem while running the following code. It has no errors but
it doesn't catch any event when I create process. For example
notepad.exe
using System;
using System.Management;
namespace ConsoleApplication1
{
class Sample_ManagementEventWatcher
{
[MTAThread]
public static int Main(string[] args)
{
MyHandler mh;
EventArrivedEventHandler eventArrivedEventHandler;
ManagementEventWatcher watcher;
mh = new MyHandler();
eventArrivedEventHandler = new
EventArrivedEventHandler(mh.Arrived);
watcher = Sample_ManagementEventWatcher.getWatcher(comp);
watcher.EventArrived += eventArrivedEventHandler;
watcher.Start();
Console.WriteLine("press <enter> to stop...");
Console.ReadLine();
watcher.Stop();
watcher.EventArrived -= eventArrivedEventHandler;
return 0;
}
public static ManagementEventWatcher getWatcher()
{
ManagementScope ms;
WqlEventQuery EventQuery;
ManagementEventWatcher watcher;
string wql;
ms = new ManagementScope("root/cimv2");
wql = "__InstanceOperationEvent";
EventQuery = new WqlEventQuery(wql,new
TimeSpan(0,0,10),"TargetInstance ISA 'Win32_Process'");
watcher = new ManagementEventWatcher(ms, EventQuery);
return watcher;
}
public class MyHandler
{
public void Arrived(object sender, EventArrivedEventArgs e)
{
ManagementBaseObject mbo =
(ManagementBaseObject)e.NewEvent["TargetInstance"];
Console.WriteLine("Event:{0}", mbo["message"]);
}
}
}
}
*** Sent via Developersdex http://www.developersdex.com ***
Don't just participate in USENET...get rewarded for it!