Форум: "WinAPI";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.08;
Скачать: [xml.tar.bz2];




Вниз

Запускаемые приложения 


Turalyon   (2002-02-05 13:41) [0]

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



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

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

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



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

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



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

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



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

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




Форум: "WinAPI";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.08;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.041 c
3-22518           Dima Kopachev         2002-03-11 20:12  2002.04.08  
Непосредственный ввод значения в DBLookupComboBox


3-22571           dymka                 2002-03-16 13:11  2002.04.08  
Как сделать правильно вызов функции в IB?


4-22896           Serd                  2002-02-06 09:59  2002.04.08  
Как запретить системные комбинации клавиш?


4-22894           BDRON                 2002-02-05 21:17  2002.04.08  
Запустить две программы подряд.


3-22564           Barmutik              2002-03-15 12:06  2002.04.08  
Помогите устранить ошибку !