![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Отслеживать запуск программ
FVova © (2004-01-17 20:27:00)Написал код, который ослеживает запуск программ.
В длл ставлю хук глобальный на WH_SHELL.
Затем обрабатываю сообщение HSHELL_WINDOWCREATED и посылаю порграмме сообщение, что было создано новое окно и идентификатор этого окна (wparam).
Проблема в следующем, это не всегда работает, например когда запускаю Far,то программа не реагирует.
Может есть какие нибудь другие способы отлавливать запуск программ?
И не всегда правильно определяется заголовок окна по хэндлу.
GetWindowText(message.wparam, win_caption, 256);
Например запускаю Ворд и в заголовке вижу Документ 1 - Microsoft Word, а программа показывает просто "Microsoft Word"
FVova (2004-01-18 18:36:00) [1]А если обрабатывать сообщение HSHELL_WINDOWACTIVATE то фар нормально ловится, то тогда будет обрабатываться смена активного окна, а мне надо запуск программ.
DVM (2004-01-18 14:50:00) [2]
> например когда запускаю Far,то программа не реагирует.
для консольных програм в >=WIN2000 это не работает.
Таймер + прямой перебор списка окон.