WMI异步调用的问题
本文关键字:问题 调用 异步 WMI | 更新日期: 2023-09-27 18:01:32
如果我使用WMI异步查询的绝对默认设置:
mgtEvWatcher = new ManagementEventWatcher("SELECT * FROM __InstanceOperationEvent WITHIN 1 WHERE TargetInstance ISA 'Win32_Process'");
mgtEvWatcher.EventArrived += new EventArrivedEventHandler(mgtEvWatcher_EventArrived);
这是否足以让WMI异步查询继续进行?我想捕获流程创建的事件。没有错误,没有例外,但每当我打开一个应用程序(尝试cmd->calc和一些我不记得)什么都没有发生
您正在调用ManagementEventWatcher.Start
方法吗?订阅事件
如果你想监视进程的创建,你必须使用__InstanceCreationEvent
wmi类。
试试这个代码
mgtEvWatcher = new ManagementEventWatcher("SELECT * FROM __InstanceCreationEvent WITHIN 1 WHERE TargetInstance ISA 'Win32_Process'");
mgtEvWatcher.EventArrived += new EventArrivedEventHandler(mgtEvWatcher_EventArrived);
mgtEvWatcher.Start();