![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Эмуляция нажатия мышкой
Piter © (2005-07-12 14:45:00)Нужно сэмулировать нажатие кнопкой мыши в приложении... Причем, даже если приложение свернуто или нужный элемент находится вне области экрана, например за ScrollBox'ом.
Понятно, что нужно некое сочетание WM_LBUTTONDOWN / WM_LBUTTONUP, но вот куда посылать лучше.
Компонент, по которому надо кликнуть - TWebBrowser.
Клик должен осуществляться из DLL-библиотеки, которая имеет доступ к Application приложения.
До WebBrowser можно дотянуться: Application.MainForm.FindComponent('wb')
Может в обход очереди сообщений прямо сразу WebBrowser'у как-то послать?
Просто непонятно... Опять же, не будет ли Windows фильтровать сообщения о клике мышки с такими координатами, что сообщение не должно было попасть в это окно... это вряд ли конечно
Eraser (2005-07-12 15:45:00) [1]Piter © (12.07.05 15:33) [3]
Так все равно сообщение попадет в очередь потока...
Ну да, я так и не понял, зачем эту очередь обходить?
___
Можно попробовать отослать SendMessage'м, но скорее всего работать не будет.
Piter (2005-07-12 15:33:00) [2]Eraser © (12.07.05 14:52) [1]
туда и посылать PostMessage'м
хэндлу WB? Так все равно сообщение попадет в очередь потока...
Eraser (2005-07-12 14:53:00) [3]Опять же, не будет ли Windows фильтровать сообщения о клике мышки с такими координатами
вряд ли.
Eraser (2005-07-12 14:52:00) [4]Piter © (12.07.05 14:45)
Имхо надо подбираться напрямую к окну браузера, туда и посылать PostMessage'м.