проблемы с асинхронным вызовом WMI - PullRequest
0 голосов
/ 09 июля 2011

если я использую абсолютную настройку по умолчанию для асинхронного запроса WMI:

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

достаточно ли этого для выполнения асинхронного запроса WMI?Я хочу захватить событие создания процесса.нет ошибок, нет исключений, но всякий раз, когда я открываю приложение (пробовал с cmd-> calc и еще немного не помню) ничего не происходит

1 Ответ

0 голосов
/ 09 июля 2011

Вы вызываете метод 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();
...