Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 8, 2019 10:01:22

Batareyka
Зарегистрирован: 2019-01-08
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Нажатие кнопки мыши по заданным координатам в неактивном развернутом окне

Доброе утро!
Задался целью написать бота для одной замечательной, но крайне монотонной игры в плане фарма внутри игровой валюты, название игры EvE Online, по прошествии нескольких крайне удачных этапов в написании бота столкнулся с проблемой, которую уже неделю не могу решить, мне необходимо выполнить клик мышкой (или альтернативная команда для симуляции и т.п.) в неактивном, но при этом развернутом и закрепленном окне по заданному hwnd.

Заранее спасибо.

Прикреплённый файлы:
attachment maxresdefault.jpg (159,3 KБ)

Офлайн

#2 Янв. 8, 2019 16:56:42

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

Нажатие кнопки мыши по заданным координатам в неактивном развернутом окне

SendMessage или PostMessage https://docs.microsoft.com/en-us/windows/desktop/api/winuser/nf-winuser-sendmessage
посылают сообщения даже неактивному окну, по заданному hwnd. другое дело игруха может и проигнорировать такое сообщение.



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Офлайн

#3 Янв. 8, 2019 17:07:48

Batareyka
Зарегистрирован: 2019-01-08
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Нажатие кнопки мыши по заданным координатам в неактивном развернутом окне

Уже пытался, они их игнорирует.

Спасибо за совет.

Офлайн

#4 Янв. 9, 2019 10:49:08

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

Нажатие кнопки мыши по заданным координатам в неактивном развернутом окне

Batareyka
Уже пытался, они их игнорирует.
тогда можно попробовать какойнить иной модуль autopy например или сторонний модуль типа autoit (Для него даже обертка есть на пайтоне: PyAutoIt). МБ там клик мышкой както по другому реализован.
Потому как непонятно почему игруля игнорит постмессажи. Может там используеться какойнить директинпут для обработки дествий клавы-мыши, а может какойнить банальный антибот срабатывает меряющий скорость перемещения мыши, по принципу если мышь “телепортируеться” то игнор. ХЗ вобщем, для каждой игрухи можно дого и нудно перебирать варианты, если не залезать внутрь декомпилятором и смотреть чего там как устроено.



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Офлайн

#5 Янв. 9, 2019 21:47:24

Batareyka
Зарегистрирован: 2019-01-08
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Нажатие кнопки мыши по заданным координатам в неактивном развернутом окне

PEHDOM
тогда можно попробовать какойнить иной модуль autopy например или сторонний модуль типа autoit (Для него даже обертка есть на пайтоне: PyAutoIt). МБ там клик мышкой както по другому реализован.
Потому как непонятно почему игруля игнорит постмессажи. Может там используеться какойнить директинпут для обработки дествий клавы-мыши, а может какойнить банальный антибот срабатывает меряющий скорость перемещения мыши, по принципу если мышь “телепортируеться” то игнор. ХЗ вобщем, для каждой игрухи можно дого и нудно перебирать варианты, если не залезать внутрь декомпилятором и смотреть чего там как устроено.
Большое спасибо за ответы, особенно за совет по PyAutoIt!
Решил проблему так как понял, что постмессадж посылает нажатия но не может нажать по координатам, я решил сначала командно переместить мышку на нужное место а уже потом нажать всё получилось.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version