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

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

Как узнать "хуковое") окно ???


juiceman ©   (2004-04-07 11:34:00) 

Ставлю хуки на клавиатуру, мышь (одинарный и двойной клики). Как узнать в каком из главных окон он произошел и в каком его дочернем окне ????


juiceman   (2004-04-13 10:46:00) [1]

Помогло, спасибо.


Diamond Cat   (2004-04-08 23:04:00) [2]

GetFocus может помочь отцу русской демократии?
соответствено придется поморочиться с AttachThreadInput, а то хрен чего получиться с чужими окнами


juiceman   (2004-04-08 06:33:00) [3]

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


juiceman   (2004-04-08 02:48:00) [4]

Вариант с windowfrompoint & cildwindowfrompoint я оставлял на крайний случай. А по поводу TMOUSEHOOKSTRUCT(Pointer(Lparam)^).hwnd, я думал что она ссылается на главное окно ... Спасибо, проверил на практике - все отлично, параметр содержит дескриптор конкретного окна. Как быть с клавиатурой я не знаю, это уже серьезнее ???


Diamond Cat   (2004-04-07 23:30:00) [5]

обычно в мышиных сообщениях есть координаты в которых происходят действия, по ним с помощью windowfrompoint & cildwindowfrompoint можно узнать на каком окне/контроле произощел клик, или же если вы используете хук wh_mouse, то ипользуя указатель на lparam сообщения в структуре TMOUSEHOOKSTRUCT  можно получить хендл принимающнго окна что-то типа TMOUSEHOOKSTRUCT(Pointer(Lparam)^).hwnd


Наверх

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