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

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

Copy/paste


nomshar ©   (2005-05-03 10:13:00) 

Поставили такую задачу. Принимаю данные из COM-порта и если они соответствуют определенному формату, "кидаю" их в окно, которое в данный момент находится в фокусе. Что ж, задача не сложная и решается с помощью AttachThreadInput. Но! Потом задачу усложнили. Теперь надо "кидать" данные в любой контрол, позволяющий вводить текст, на web-странице. То есть, предположим, приходят данные из порта, у пользователя открыт Яндекс с фокусом на  поле ввода строки поиска и надо, чтобы пришедшие данные появились именно в этом поле. Как сделать, ума не приложу, ведь это уже не окно, а контрол на web-странице. Приходят только мысли, а как работает copy/paste? Может надо просто сначала скопировать данные из порта в буфер обмена, а потом посласть сообщение WM_PASTE? А может как-то иначе.


nomshar   (2005-05-03 10:41:00) [1]

Весь цимес так как раз в том, что я не знаю, куда кидать. То есть, узнать хендл окна браузера я могу, как впрочем и любого другого окна, а вот как узнать хендл контрола на web-странице. Windows как-то узнает, т.к. при вставке из буфера обмена в любой случае посылается сообщение WM_PASTE. Но, куда? Как ОС узнает, какому контролу посласть данное сообщение?


vidiv   (2005-05-03 10:30:00) [2]

А если просто кидать сообщение типа wm_char или подобные в активное окно?


Наверх

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