grivix Ответов: 1

Есть ли в .NET событие для получения списка процессов windows ?


Я хочу программно отслеживать и регистрировать активность процессов, запущенных на компьютере. Как мы можем получить список процессов, запущенных в windows каждый раз, когда процесс начинается и заканчивается? Существует ли в .NET событие, которое запускается при запуске или завершении процесса?
Любая помощь будет очень признательна.

Что я уже пробовал:

Я не нашел подходящего класса для полного управления процессами.

NotPolitcallyCorrect

Никакого "события", насколько мне известно. Большинство решений, которые я видел, делают то, что вы хотите сделать, опрашивая запущенные процессы.

Michael_Davies

WMI позволяет фиксировать события и включает в себя создание процессов.

Для начала см. http://stackoverflow.com/questions/10139270/process-start-event-using-wmi-not-all-process-starts-being-detected

1 Ответов

Рейтинг:
2

Richard Deeming

Вам нужно будет использовать WMI и подписаться на Win32_ProcessStartTrace[^] и Win32_ProcessStopTrace[^] события, или более низкий уровень __InstanceCreationEvent[^] и __InstanceDeletionEvent[^] события.

Есть такой пример в этот ответ StackOverflow[^] который отслеживает процессы с определенным именем.


grivix

Спасибо Майклу Дэвису, спасибо Ричарду Димингу. Я попробую использовать WMI, как вы предлагаете.