![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Сообщения Windows. [Win95/98]
Shopot © (2004-04-17 23:50:00)Как Windows определяет какому приложению отдать пришедшее сообщение. Ну, например, клик мыши где нибудь на рабочем столе при запущеном WinAmp-е и Блокноте? Кому?
Polevi (2004-04-27 08:09:00) [1]> [11] GanibalLector © (27.04.04 01:27)
а что ты там встречал, вспомнить можешь ?
GanibalLector (2004-04-27 01:27:00) [2]2 Игорь Шевченко © (26.04.04 23:03) [10]
Что-то я такого в РИХТЕРЕ не встречал
Игорь Шевченко (2004-04-26 23:03:00) [3]
> а где про это можно подробнее прочитать?
Джеффри Рихтер.
Скачать можно на http://www.podgoretsky.com
Shopot (2004-04-26 22:53:00) [4]а где про это можно подробнее прочитать? Только пожалуйста не надо мнея посылать на какое - нибудь SDK, DDK и.т.д. Там для умных, и на английском. Я тупой и немец. Английского плохо знаю, зато шпрехаю по маленьку. Идеальный вариант для меня - это русский.
Digitman (2004-04-21 11:13:00) [5]
> Эту информацию предоставляет сам драйвер, но не дает
> хендла
а драйверу никакой хэндл и не нужен, у него иные задачи - известить ядро о наступлении события
ядро же анализирует параметры события (например, изменение тек.координат или параметры клика) и в соответствии с тем, какому окну принадлежат координаты, выбирает из своих внутр.таблиц нужные хэндлы и посылает различные требуемые сообщения в очереди тех код.потоков, которые создали эти окна и ожидают/обрабатывают поступающие сообщения
Игорь Шевченко (2004-04-21 10:35:00) [6]Рихтера читаем. Любите книгу - источник знаний.
Shopot (2004-04-20 22:20:00) [7]> Соответственно,тому чей хендл указан.
...
А где винды берут нужный хендл?
Ведь мышь реализована аппаратно. Бегает себе по экрану,
щелкает где-нибудь и можно узнать координаты где произошел клик и
кнопку. Эту информацию предоставляет сам драйвер, но не дает
хендла! И как быть дальше? Что-ли так:
if (mouseX >= wnd.left) and (mouseX <= wnd.right) and
(mouseY >= wnd.top) and (mouseY <= wnd.bottom) then
...
juiceman (2004-04-18 13:20:00) [8]...
> при запущеном WinAmp-е и Блокноте? Кому?
Проводнику )
Германн (2004-04-18 03:41:00) [9]А я еще более не понял. :-(
Какое отношение имеет клик мыши "где-нибудь на рабочем столе", к уже "запущенным" WinAmp или Блокнот?
GanibalLector (2004-04-18 01:49:00) [10]Что-то я ВООБЩЕ не понял!!!Что значит какому приложению???
Ведь первый параметр sendmessage это HWND hWnd, // handle of destination window
Соответственно,тому чей хендл указан.
Cobalt (2004-04-18 01:16:00) [11]Надо отделять различные сообщения - например, сообщения ввода - окну, имеющему фокус ввода или же окну, в области которого событие произошло.
DrPass (2004-04-17 23:55:00) [12]Тому приложению, окно которого имеет фокус ввода