Главная страница
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.03 c
3-1081546442
Gott
2004-04-10 01:34
2004.04.11
Способ хранения Memo полей


6-1079419590
pavlov
2004-03-16 09:46
2004.04.11
Передача сообщение на другой компьютер


7-1075732685
M@Rt
2004-02-02 17:38
2004.04.11
Определение серийного номера материнской платы


7-1080389662
Insert
2004-03-27 15:14
2004.04.11
Серийник жесткого диска...


1-1082382811
A. Sonin
2004-04-19 17:53
2004.04.11
Собственное создание формы без использования кода в проекте