Страница 1 из 1

Приложение со временем перестаёт реагировать на нажатия ПКМ

СообщениеДобавлено: 03 сен 2013, 14:56
Nifigasius
Здравствуйте, Денис!

Беда следующая:
Есть приложение (игра), запущенное в оконном режиме. Есть рукописный макрос, содержащий один клик правой кнопкой мыши по заданным координатам в этом приложении, после чего идёт 3-секундная пауза. Установлено 1000 циклов повтора этого макроса. Запускаю, всё работает хорошо, кликает. Но проходит некоторое время, и приложение перестаёт отвечать на эти клики. Курсор продолжает перемещаться по заданным координатам, но ПКМ или двойной клик ЛКМ - не проходят. По времени это происходит каждый раз по разному. Может "запнуться" на пятом десятке циклов, может на пятисотом, а может прокликать и тысячу раз без единой проблемы!

После многочисленных наблюдений я так и не увидел никакого постоянства в появлении этой ошибки. Ничего, к чему можно было бы придраться. Она то появляется, то исчезает. Единственное, заметил, что если один раз приложение перестало принимать клики, то вручную кликнув мышкой в этом приложении и запустив выполнение скрипта - оно уже после малого количества кликов перестаёт принимать их, т.е. 3-5-10 кликов и всё, беда.

Пробовал использовать случайные отклонения: сначала работало, прокликало свыше 500 раз, пока я не остановил выполнение скрипта. Думал - успех и проблема решена! Но на следующий день, используя тот же самый скрипт с отклонением координат клика, его выполнение запнулось на сотом клике. Т.е. точно, это - не решение.

Пробовал отключить контроль окна: Сначала работало, по много успешных кликов без проблем, а в следующие использования - беда. Т.е. точно, это тоже - не решение.

Пробовал убрать контроль очереди сообщений: без включённого контроля окна его выключение ни к чему не приводило, галка всегда оставалась активной. А включил контроль окна и выключил контроль очереди сообщений - поработало где-то 50 кликов и запнулось снова.

Может быть какая-нибудь встроенная в приложение (игру) защита блокирует эти нажатия? Но если так, то как же бывает, что все 1000 кликов завершаются успешно за одно выполнение цикла. Наверное, дело в чём-то другом.

Может быть у Вас есть по этому поводу какие-нибудь мысли, предложения, идеи? Помогите, пожалуйста.

Re: Приложение со временем перестаёт реагировать на нажатия

СообщениеДобавлено: 03 сен 2013, 15:14
Nifigasius
Попробовал увеличить временные интервалы между нажатиями клавиш, задал 0.250 sec + 0.250 sec.
Прокликало около 50 раз успешно, затем снова беда. После этого запускаю макрос снова и уже после 2-3 кликов перестаёт работать, как-будто действительно какая-то встроенная защита блокирует их и должно пройти время, после чего снова начнётся отсчёт этих "нелюдских" кликов перед новой "паузой" в их прохождении.
Думал даже телеметрия реальных движений мыши учитывается...
Слегка перемещал мышь между этими кликами - не помогло.

Проверил через совершенно другую программу, которая умеет кликать по заданному пикселю.
Около 1000 нажатий произошло успешно, но затем точно так же запнулось!

Наверно всё же это такая защита приложения... :cry:

Re: Приложение со временем перестаёт реагировать на нажатия

СообщениеДобавлено: 08 сен 2013, 13:25
Safonov_Denis
в какой игре можно попробовать? только чтобы не долго настраивать, может, поделитесь логином паролем к игре, по скайпу свяжемся? логин densaface

Re: Приложение со временем перестаёт реагировать на нажатия

СообщениеДобавлено: 08 сен 2013, 13:58
Nifigasius
Safonov_Denis писал(а):в какой игре можно попробовать? только чтобы не долго настраивать

Увы, быстро не получится. Сама игра весит около 27 Гб.
Поэтому спасибо, не нужно.

Быть может, со временем всё же найду причину, тогда отпишусь здесь. На данный момент эта проблема то появляется, то загадочным образом исчезает. Причём в таком порядке: вчера весь день - всё чудесно, а сегодня - беда. Компьютер не перезагружался и ничего не менялось, вообще. И так через день.

Re: Приложение со временем перестаёт реагировать на нажатия

СообщениеДобавлено: 09 сен 2013, 13:39
Exclusive
Это проблема возникает по непонятной причине, в приложениях в играх особенно когда игра в окне. То-есть теряется окно как будто на заднем плане и клики не засчитываются.

Возможно поможет, попробуй следующие:

1) Если есть горячая клавиша сворачивания/разворачивания окна игры то поставь её в начале действия. То-есть при каждом новом повторе игра свернется и развернется на передний план и клики будут делаться в игре.


2) Сделай зацикливание скрипта не через повторы а через GOTO (на первое действие) или через остановить и воспроизвести. Но если тебе примерно нужно 1000 повторов то можно засечь за какое время они делаются и сделать батник на остановку скрипта и через планировщик указать время и тд.

Re: Приложение со временем перестаёт реагировать на нажатия

СообщениеДобавлено: 10 сен 2013, 15:26
Safonov_Denis
- у меня помню была проблема неклика во флеше, редко редко клик не срабатывать, причем это и для ручных воспроизведений иногда такое случается, программа не причем. Я обошел это пиксельным контролем, если определенной картинки не появляется, то делал переход гото к предыдущему действию. Времени много не отнимало, потому что в большинстве случаев картинка нужная появлялась. в Вашем случае возможно важна скорость. сделайте тогда редкую ветвь, в каждом 30ом случае проверка нужной картинки.

Re: Приложение со временем перестаёт реагировать на нажатия

СообщениеДобавлено: 10 сен 2013, 17:18
Nifigasius
Большое спасибо за рекомендации! Попробую!