Author Topic: Прошу помощи для новичка  (Read 3338 times)

0 Members and 1 Guest are viewing this topic.

bpeed

  • Зашел в гости
  • *
  • Posts: 5
    • View Profile
Прошу помощи для новичка
« on: November 15, 2016, 01:20:03 PM »
Добрый день. Волею судеб пришлось столкнуться с уймой рутинной работы и прекрасной программой Clickermann.

Если кратко нужна помощь в понимании происходящего и разъяснении в чём я не прав.
На рабочем столе есть ярлык с программой. При запуске программа просит ввод пароля (курсор при запуске сразу мигает в области ввода) после нажатия на кнопку "вход" (можно по клавише "Enter") окно раздвигается с выбором двух вариантов (не знаю как более грамотно объяснить, поэтому оставлю скрины). После подтверждения одного из вариантов нажимается "вход" повторно (так же можно клавишей "Enter") - открывается окно где надо нажать ещё пару кнопок, но тут уже особых проблем не возникает (LCLICK X:Y).

Собственно проблемы:
1) компьютер не очень мощный, как следствие рассчитать тайминг появления окон тяжело
2) не разобрался как включать\отключать привязку к окнам и нужно ли это делать в принципе.
3) хотело бы сделать всё как можно культурнее и отказоустойчивее

Желаемый результат: сделать два сценария  и (в идеале) скрипт на выбор одного из них.

Пока что я навоял ЭТО:

Code: (clickermann) [Select]
// 15.11.2016
#name "Bpeed"
//включение оконного режима на рабочий стол
HSET(12345,1)
//двойной клик по ярлыку с программой
DBLCLICK(997,214)  // 11452333
//примерное время ожидания
WAITMS(200)
//отвязка от рабочего стола (наверное?)
HSET(12345,1)
//примерное время ожидания
WAITMS(300)
//привязка к новому окну (по идее с программой)
HSET(2069,509)
//ввод пароля
KEYSTRING("ПАРОЛЬ")
//остановка сценария
HALT

Прошу строго не судить с компьютерами на уровне пользователя, первая попытка кодить (если это можно так назвать)
« Last Edit: November 15, 2016, 01:53:46 PM by bpeed »

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Прошу помощи для новичка
« Reply #1 on: November 15, 2016, 02:12:44 PM »
Это кто как привык, так и делает.
2) - привязка не нужна.

Code: (clickermann) [Select]
#name "Bpeed"

$variant = 1

DBLCLICK(997,214)
WAITMS(500)

WHILE(WNDFIND("Регистрация пользователя в системе") = 0)
    WAITMS(50)
END_CYC

KEYSTRING("ПАРОЛЬ", 20)
WAITMS(100)
KEYPRESS(#ENTER)
WAITMS(500)

// здесь думаю можно по времени. Если нужно прям точно с проверкой, то...
// картинку заготовить по примеру во вложении
$check = 0
WHILE($check = 0)
   GETSCREEN
   IF_PICTURE_IN(0,0,$_xmax,$_ymax, "radio.bmp")
      $check = 1
   ELSE
      WAITMS(50)
   END_IF
END_CYC



// выбор варианта, думаю удобней клавиатурой
// примерно...
IF($variant = 2)
    KEYPRESS(#TAB)
    WAITMS(100)
END_IF

KEYPRESS(#ENTER)
WAITMS(100)

//...

HALT

Пример картинки во вложении. Скрины желательно выкладывать в png.

Вместо DBLCLICK по ярлыку, лучше запускать напрямую через
Code: (clickermann) [Select]
EXECUTE ("programm")
« Last Edit: November 15, 2016, 02:15:24 PM by Vint »


bpeed

  • Зашел в гости
  • *
  • Posts: 5
    • View Profile
Re: Прошу помощи для новичка
« Reply #2 on: November 16, 2016, 01:57:49 PM »
Круто! спасибо большое!)) практически то что надо!! (В любом случае я бы сам не добился и половины результата)
ещё пару вопросов, как реализовать что бы программа дожидалась открытия окна?
Нашел баг: при переключении на английскую раскладку пароль вбивается скорее всего как "пароль" (5 символов), а не "нужный_пароль" (более 5 символов).
Про идею проверки по картинке примерно понял, но беда в том что по умолчанию автоматически уже выбран верхний вариант (прошу прощения, что сразу не сказал об этом)
Попробую реализовать эту вещь при открытии следующего окна (там на кнопке характерный рисунок)
P.S. да, через запуск программы на прямую и вправду удобнее))

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Прошу помощи для новичка
« Reply #3 on: November 16, 2016, 02:58:06 PM »
как реализовать что бы программа дожидалась открытия окна?
Она дожидается процесса в стр 8-10.
Поставить после 10 строки задержку.

Ну или по характерной картинке в окне.

Нашел баг: при переключении на английскую раскладку пароль вбивается скорее всего как "пароль" (5 символов), а не "нужный_пароль" (более 5 символов).

Раскладка в программе/кликере/пароле должна быть одна, чтобы KEYSTRING работал.
Если печатает только окончание пароля, то окно программы появляется после процесса. И преведущая рекомендация по добавлению задержки должна всё решить.


bpeed

  • Зашел в гости
  • *
  • Posts: 5
    • View Profile
Re: Прошу помощи для новичка
« Reply #4 on: November 18, 2016, 03:58:06 PM »
Понял, большое спасибо)))

bpeed

  • Зашел в гости
  • *
  • Posts: 5
    • View Profile
Re: Прошу помощи для новичка
« Reply #5 on: November 22, 2016, 08:14:54 AM »
Появился ещё один вопрос
Возможно ли в пределах одного сценария (то есть что бы не открывать кликер, загружать сценарий, сворачивать кликер) реализовать какие то действия по нажатию комбинации клавиш?

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile


bpeed

  • Зашел в гости
  • *
  • Posts: 5
    • View Profile
Re: Прошу помощи для новичка
« Reply #7 on: November 22, 2016, 01:23:38 PM »
Спасибо большое!)