Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Запускаемые приложения [D6, Win2k]


Turalyon ©   (2002-02-05 13:41:00) 

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


Turalyon   (2002-02-06 16:19:00) [1]

>Fellomena
Спасиб большое. Полез читать. :)


Fellomena   (2002-02-06 14:58:00) [2]

Глянь
http://www.delphikingdom.com/helloworld/usesdll.htm
там есть пример глобального hook-а, работающий...
Только есть некоторые казусы в примере, например несколько таких же hook-ов, поставленных аналогичным способом работать не будут, будет отрабатывать только последний.
Ну если ты один hook так как там написанно поставишь - то всё ok будет.
... ну и конечно при установке hook-а тебе не WH_GETMESSAGE надо использовать ;)
Дальше - смотри SDK 8)


Turalyon   (2002-02-06 08:26:00) [3]

>Fellomena
Спасибо большое за советы, в общем по поводу второго способа, я так и подумал с самого начала, в общем так и начинал делать...
А по поводу 1 способа, я понимаю, что это правильнее, но вчера облазил кучу всяких хелпов про hook, все что я нашел - это в основном общаая информация. Может быть у кого есть статьи с примерами, или просто примеры??? Был бы очень признателен.


Fellomena   (2002-02-05 13:50:00) [4]

Задача решается несколькими путями:
1). ставишь hook (устанавливаешь из dll) на создание процесса и в процедуре его обработки записываешь всё что тебе надо в лог-файл, при этом лучше это дело синхронизировать, что бы конфликтов не возникало при одновременном запуске прог и попытки писать в уже открытый файл.
2). По таймеру делаешь "слепок" всех процессов и сравниваешь с предыдущим слепком, если что-то прибавилось - пишешь в лог то, что прибавилось - этот метод коряв, но работать будет (хреновато).

Лучше конечно ловушку ставить.


Наверх

Титульная страница Поиск, карта сайта Написать письмо