Форум для программистов - задавайте интересные вопросы - получайте квалифицированные ответы
Слежение за процессами
  • VitaliyChmilVitaliyChmil June 2011
    I. Слежение за процессами

    На первый взгляд, задача кажется малорешаемой. На второй - после поиска в MSDN - понимаешь, что она не решаема в User-mode в том смысле, что нет соответствующих API. А впрочем, когда это было проблемой для настоящих программистов?

    В режиме ядра задача решается тривиально - в драйвере регистрируешь callback функцией PsSetCreateProcessNotifyRoutine и он будет вызван при создании/удалении процесса. Но нам нужна реализация в user-mode...

    Ограничимся тем, что будем отлавливать создание процессов. Первое, что приходит на ум, это следующий алгоритм:

    получить список процессов
    просмотреть его на предмет появления новых процессов
    переход на 1)
    Реализуем его с помощью NATIVE API.
    Отступление: Native API - это набор API, не документированный Microsoft (или документированный частично). С его помощью можно сделать все то же что можно сделать с помощью обычных API и многое другое. Мне в Native API нравится его структура, например с помощью одной функции ZwQuerySystemInformation можно получить очень большое количество информации (перечислить хэндлы, получить информацию о процессе и многое другое).

    Подробнее http://citforum.univ.kiev.ua/programming/delphi/user-mode/
Webparadox - разработка мобильных приложений под iOS и Android.