Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.11;
Скачать: CL | DM;

Вниз

Необходимо знать о каждом созданном процессе в системе   Найти похожие ветки 

 
demonyator ©   (2004-03-10 01:35) [0]

От моей программы требуется считать время работы чужих программ для составления статистики в интернет клубе. Мне кажется, что нужно "ловить" создание процессов (как это наверняка делает Spider Guard) Но вот не знаю как, помогите решить проблему.


 
coban2k ©   (2004-03-10 18:16) [1]

Попробуй определять все процессы каждые n миллисекунд, на прозводительности это особо не отобразится. Для ловли необходимо реализовывать перехват API, что прежде всего небезопасно в плане стабильности всей системы (одна из лучших библиотек перехвата API для дельфи - http://www.madshi.net).


 
demonyator ©   (2004-03-11 18:36) [2]

Дело в том, что так я и делаю сейчас ... повесил таймер и ганяю. Но мне показалось, что есть более изящный способ. Ведь Spider всё-таки делает это как-то и совсем не тормозит систему. Может быть кто-то поделится кодом. Ведь наверняка многие сталкивались с подобной проблеммой. Неужели все пошли по пути "таймера"?


 
Tyama   (2004-03-11 23:57) [3]

А как насчёт HOOKа? На WH_SHELL поставь и записывай все создаваемые процессы (Точнее окна)...


 
demonyator ©   (2004-03-13 16:01) [4]

WH_SHELL работать будет только при создании окон верхнего уровня.
Я ставил WH_CBT хук, но там возможно ловить только создание и разрушение окон, а нужно ловить именно процессы.


 
Digitman ©   (2004-03-13 16:10) [5]


> но там возможно ловить только создание и разрушение окон


где "там" ?

хук-модуль автоматически загружается системой в ВАП каждого вновь стартующего GUI-процесса, еще до того как процесс этот создает самое первое (главное) окно

при загрузке хук-модуля ты получаешь управление в процедуре инициализации модуля (в осн.код.потоке тек.процесса). что и можно с успехом использовать как факт старта нового GUI-процесса, выполнив при получении управления любые нужные действия


 
demonyator ©   (2004-03-14 16:17) [6]

Digitman, а на что в таком случае будет наиболее рационально ставить хук? WH_ ?



Страницы: 1 вся ветка

Текущий архив: 2004.04.11;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.031 c
1-1082484754
s666
2004-04-20 22:12
2004.04.11
Как совместить два типа PChar и String


11-1059056505
_Polymorphic_
2003-07-24 18:21
2004.04.11
PStrList


1-1080159419
Eine Komsomolka
2004-03-24 23:16
2004.04.11
Компонент для хранения на себе компонентов


1-1080111222
Sem007
2004-03-24 09:53
2004.04.11
TObject.Free - ненужная проверка


3-1079352974
Yurko
2004-03-15 15:16
2004.04.11
Смена версии таблиц (ADO)