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

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

Отслеживать запуск программ


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 это не работает.
Таймер + прямой перебор списка окон.


Наверх

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