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

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

WndProc и ловушки


DelphiLexx ©   (2004-10-25 13:06:00) 

При установке Hook'a на отдельный поток (причем Hook хранится в отдельной dll'ке - Hook.dll), я отлавливаю все его сообщения за счет того, что dll'ка внедряется в его адресное пространство, далее в главном Unit'e я переопределяю процедуру WndProc, которая ждет сообщения WM_COPYDATA, которая отправляется из Hook.dll. Вообщем сообщения чужуго окна замечательно отлавливаются, но при это в моей форме не работает закрытие - крестик, развертывание, свертование. Application.ProcessMessage не помагает. Как от этого избавится


DelphiLexx   (2004-10-25 17:30:00) [1]

TUser код, хотя бы суть, не мог бы отобразить


TUser   (2004-10-25 14:04:00) [2]

Надо посылать сообщения не главной форме, а отдельному потоку. Только там  их ловить сложнее


DelphiLexx   (2004-10-25 13:53:00) [3]

Да я уже над этим думал. Но как вынести WndProc главной формы в отдельный поток.


TUser   (2004-10-25 13:31:00) [4]

Может быть - если основной поток занят постоянно тем, что обрабатывает твои копидаты - то гл. форма не закроется. Тогда вынеси это дело в отд. поток.

А код все-таки стоит показать.


DelphiLexx   (2004-10-25 13:19:00) [5]

Переопредел через override, в самой процедре вызываю inherited.
Пробовал и так: procedure ...; message wm_copydata.
Еще хочу сказать что сообщения приходят очень часто. Может быть из-за этого.


TUser   (2004-10-25 13:07:00) [6]

Покажи - как переопределил WndProc. Надо писать else inherited. А вообще - на форме проще написать procedure ...; message wm_copydata


Наверх

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