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

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

Новые окна [D6, D7, Win95/98, Win2k, WinXP]


Lin7 ©   (2004-09-28 16:08:00) 

Мастера, подскажите как можно обнаружить появление новых окон, имеющих область заголовка? Как при запуске новых приложений, так и при работе уже запущенных. Идея вешать перебор всех окон на таймер меня не прельщает... Цивилизованей как-то можно?


Игорь Шевченко   (2004-09-29 10:06:00) [1]


> т.е. я буду знать о появлении новых окон.


WH_SHELL ? WH_CBT ?


bar   (2004-09-29 08:42:00) [2]

>>Lin7
Вот линки на статейки о которых я говорил выше.
http://www.delphikingdom.com/asp/viewitem.asp?catalogid=548
http://delphi84.valuehost.ru/articles/hooks/index.html
http://www.sources.ru/delphi/dll/hooks_aspects.shtml
статьи похожи друг на друга.
это пооригинальней
http://www.firststeps.ru/mfc/winapi/hook/hook1.html
По-моему можно ставить хук на WH_SHELL см.
http://www.firststeps.ru/mfc/winapi/hook/r.php?36
Удачи.


Lin7   (2004-09-28 18:11:00) [3]

Я запнулся на идее.
В двух словах: нужно с помощью функции SetWindowsHookEx поставить хук, например WH_CALLWNDPROC, на все процессы. При этом винда сама будет ставить этот хук на вновь запускаемые процессы. При создании новых окон винда будет им посылать различные сообщения (WM_CREATE, WM_NCPAINT и др.), т.е. я буду знать о появлении новых окон. У новых окон надо проверить стиль WS_CAPTION (мне по крайней мере), чтобы определить есть ли у окна заголовок. Хендл новых окон берётся в хуке из структуры CWPSTRUCT.
Реализовывать ещё не пробывал, если есть замечания/пожелания/вопросы - тема вновь открыта.
И снова здрасте  :)


vecna   (2004-09-28 17:45:00) [4]

2Lin7, тема может и закрыта, но нам-то скажи, вдруг у кого аналогичная проблема


bar   (2004-09-28 16:46:00) [5]

>>Торможу к концу рабочего дня :)
Аналогично но у меня с сервисами тормоза :)


Lin7   (2004-09-28 16:38:00) [6]


> bar   (28.09.04 16:34) [1]

Спасибо. Уже сообразил. Торможу к концу рабочего дня :)

Тема закрыта.


bar   (2004-09-28 16:34:00) [7]

Поищи о SetWindowsHookEx и вообще о хуках.
Был линк на статейку по этому поводу(может на delphiworld ), но сейчас искать некогда. Рабочий день заканчивается. Но инфа об этом в инете есть.


Наверх

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