0

如果我对 WMI 异步查询使用绝对默认设置:

mgtEvWatcher = new ManagementEventWatcher("SELECT * FROM __InstanceOperationEvent WITHIN 1 WHERE TargetInstance ISA 'Win32_Process'"); 
mgtEvWatcher.EventArrived += new EventArrivedEventHandler(mgtEvWatcher_EventArrived); 

这足以进行 WMI 异步查询吗?我想捕捉进程创建的事件。没有错误,没有例外,但是每当我打开一个应用程序(尝试使用 cmd->calc 和一些我不记得的)时,什么都没有发生

4

1 回答 1

0

你在调用ManagementEventWatcher.Start方法吗?订阅事件

此外,如果要监视进程的创建,则必须改用__InstanceCreationEventwmi 类。

试试这个代码

mgtEvWatcher = new ManagementEventWatcher("SELECT * FROM __InstanceCreationEvent WITHIN 1 WHERE TargetInstance ISA 'Win32_Process'"); 
mgtEvWatcher.EventArrived += new EventArrivedEventHandler(mgtEvWatcher_EventArrived); 
mgtEvWatcher.Start();
于 2011-07-09T01:07:35.077 回答