Author Topic: Не кликает в привязанном окне  (Read 6459 times)

0 Members and 1 Guest are viewing this topic.

GOODmen

  • Зашел в гости
  • *
  • Posts: 3
    • View Profile
Не кликает в привязанном окне
« on: March 27, 2016, 08:55:59 PM »
Пользовался эмулятором андроид блюстакс, все работало отлично с привязкой. НО перестал устраивать сам эмулятор. Нашел подходящий новый Memu. Все настроил в нем, включил кликер и сделал привязку к окну, но кликер почему то не кликает по заданным координатам. Такое чувство что вообще ничего не происходит. Как вылечить?

quant13

  • Активный участник
  • ***
  • Posts: 174
    • View Profile
Re: Не кликает в привязанном окне
« Reply #1 on: March 28, 2016, 07:19:54 AM »
Привязка к окну
Еще одна феня, введенная по просьбам трудящихся. Являет собой воистину чудесную вещь - возможность одновременно работать и кликеру и пользователю, при этом совершенно не мешая друг другу. Во время этого режима кликер "привязывается" к конкретному окну и посылает ему (и только ему) готовые сообщения, при этом не взаимодействуя с устройствами ввода и не мешая работе пользователя.

Сама суть
Дело в том что понятие "окно" для нас и для Windows обозначают немного разные вещи. В принципе, даже само понятие "окно" немного неверно. Если для нас окно это прямоугольник с крестиком в правом углу, то для системы окно - это элемент типа кнопки, надписи, поля ввода. И в каждом привычном для нас окне, может находиться с десяток дочерних "окон".
Каждое "окно"-элемент имеет свой уникальный номер (HWND), зная который к нему можно обратиться. Все необходимые для работы данные собирает сам кликер. Номер элемента выводится на главную форму, в область "Привязка к окну". Эта область содержит состояние режима, номер захваченного элемента (hWND), ID процесса, которому принадлежит окно и имя exe файла, породившего процесс. Кликер выводит данные для элемента, который находится под курсором мыши, в принципе вам важен только HWND. Помимо этого, существует ряд инструкций, позволяющих получить HWND в процессе выполнения сценарий.

Как работать?
Первое что вам предстоит уяснить, это то, что оконный режим включается только комбинацией горячих клавиш ввиду того, что мышь в этот момент должна указывать на рабочий элемент. Вы находите свою цель курсором (к примеру это флешка в окне браузера, она тоже является "отдельным окном"), включаете оконный режим комбинацией клавиш (Alt+W по умолчанию), происходит захват рабочего элемента. После этого HWND на главной форме меняться уже не будет, он будет отображать рабочий элемент. Так же изменятся координаты, отображаемые в редакторе сценария, поскольку каждое отдельное "окно"-элемент обладает собственной относительной системой координат, где (0,0) находится в левом верхнем углу элемента. Относительная она потому что если передвигать окно по экрану, его "внутренняя" система координат не изменится.
Сам синтаксис сценариев является единым и для обычного режима, и для оконного. Исключая, разумеется, специальных команд для включения оконного режима и смены рабочего элемента из сценария. Единственное уже озвученное изменение - это координаты для курсора мыши с учетом системы координат: абсолютной (весь экран) или относительной (только границы рабочего элемента).
Так же очень важно отметить то, что функции анализа экрана будут корректно работать только в случае наличия рабочего окна на десктопе. Допускается перекрытие рабочего окна другим окном (к примеру Word или даже фильм), но если его свернуть, то функции анализа графики работать не будут, так как Windows не отрисовывает свернутые окна для экономии ресурсов. Выяснить доступен ли анализ экрана очень просто. Достаточно включить захват окна и открыть редактор. Цвет (картинка в лупе) будет меняться даже под другим окном, если все ОК. В противном случае цвет всегда будет черный.

Альтернативное решение
Другой способ запустить кликер, чтоб он при этом не мешал работе - это установка виртуального компьютера. Сейчас много программ, организующих компьютер в компьютере. К примеру MS Virtual PC, VMWare. Вы просто ставите на них ОС, игру и кликер. Запускаете. Все работает. Вы сворачиваете виртуальную машину и она вам не мешает в то время как трудится кликер.
К сожалению такой подход требует достаточно мощной машины, чтоб потянуть две операционки и игру (а то и две). К тому же ряд игр довольно плохо работают на виртуальных машинах, а то и явно отказываются на них работать. Но зато, если все получится, вы безо всяких заморочек и танцев с бубном сможете запустить кликер и при этом спокойно работать дальше.

quant13

  • Активный участник
  • ***
  • Posts: 174
    • View Profile
Re: Не кликает в привязанном окне
« Reply #2 on: March 28, 2016, 11:07:25 AM »
Поставил я эту штуку. Это не просто виртуальный пк, это какой-то извращенный эмулятор, запускает кучу приложений и сервисов. То что происходит на экране это не простое приложение с одним окном, там черт-знает-что, чтобы в этом заработал кликер надо постараться, поискать нужный HWND

GOODmen

  • Зашел в гости
  • *
  • Posts: 3
    • View Profile
Re: Не кликает в привязанном окне
« Reply #3 on: March 28, 2016, 03:12:21 PM »
Большое спасибо за столь развернутый ответ. Тогда буду искать другой эмулятор. Эх, жаль

GOODmen

  • Зашел в гости
  • *
  • Posts: 3
    • View Profile
Re: Не кликает в привязанном окне
« Reply #4 on: July 26, 2016, 07:41:33 PM »
Подниму все таки тему. Подскажите как можно найти нужный мне hwnd?