![]() |
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]() ![]() ![]() |
|
Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 33 Всего: 183 |
Для эмуляции мыши лучше использовать функции mouse_event или SendInput.
Преимущества: нет привязки к окну. Событие обрабатывается системой абсолютно так же, как если бы пользователь действительно ткнул мышем. И попадает в очередь ввода правильного окна автоматически. -------------------- ... |
|||
|
||||
GremlinProg |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2706 Регистрация: 9.8.2005 Где: Тюмень Репутация: 99 Всего: 106 |
Почти не читал комментарии, но сразу вижу правильное решение Earnest
-------------------- "Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины." |
|||
|
||||
KQT |
|
|||
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 17.10.2007 Репутация: нет Всего: нет |
Earnest, благодярю за наводку: mouse_event и SendInput, но всё же...
Гость_Aaz, действительно ли окончательный вариант "такой"? SendMessage отправляет сообщение обработчику окна и ждёт(!) обработки. Тот видимо не завершает работы пока клавиша мыши не будет отжата, то есть второй Send уже не играет ни какой роли: программа повисает на первом в ожидании WM_LBUTTUNUP. Все получается если например использовать SendMessageCallback... |
|||
|
||||
Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 33 Всего: 183 |
Не поняла твое замечание, да и тема древняя...
SendMessage не помещает событие в очередь, а напрямую (синхронно) вызывает оконную функцию, отсюда и блокировка. -------------------- ... |
|||
|
||||
KQT |
|
|||
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 17.10.2007 Репутация: нет Всего: нет |
... Не помещает - хотим напрямую обратиться к обработчику окна. Но
В переписав код приведенный выше моя программа стоорилась на первом sendmessage в ожидании отжатия клавиши мыши, иначе говоря управление было передано процедуре окна первым sendmessage, а она по какой то причине не желает завершатсья пока кнопка не будет отжата... В итоге второй sendmessage выполняется "впустую", когда в этом необходимости уже нет. Решается это PostMessage или SendMessageCallback . Тема то старая, но мне нынче актуальна) и оказалась чем-то полезна. |
|||
|
||||
walkmn |
|
|||
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 30.10.2010 Репутация: нет Всего: нет |
У меня работает только если в данных координатах кнопка, а мне нужно чтобы нажималась в определенных координатах компонента СppWebBrowser. Ну например есть форма с компонентов СppWebBrowser в котором загружен гугл, и мне нужно клацнуть по определенной ссылке, но сетмоусепоз не предлагать, кликать по ссылке программа должна в свернутом режиме!!! |
|||
|
||||
Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 7 Всего: 146 |
это не проканает ... имхо нужно парсить страницу на наличие ссылок и переходить на урл.... -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. ![]() |
|||
|
||||
walkmn |
|
|||
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 30.10.2010 Репутация: нет Всего: нет |
Romikgy, да нет, просто я это как в пример привел, на самом деле нужно нажать на кнопку, которая написана на Flash.
Тоесть это флеш игрушка, нужно написать для нее чтото типа автобота. |
|||
|
||||
Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 7 Всего: 146 |
walkmn, тогда попутно разобратся с флешем ... видать там есть типа мессаг при нажатии на кнопки ... вот их можно слать (я так думаю) иначе только активировать окно и по координатам кнопать ...
-------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. ![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "C/C++: Системное программирование и WinAPI" | |
|
На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы . Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |