![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как узнать "хуковое") окно ???
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