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

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

Сообщения 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]

Тому приложению, окно которого имеет фокус ввода


Наверх

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