Автокликер Clickermann :: Форум

Основной раздел => Общие вопросы => Topic started by: Masson on March 04, 2019, 01:01:03 PM

Title: Приостановка макроса пока на экране не появится нужный элемент(поиск по картинк)
Post by: Masson on March 04, 2019, 01:01:03 PM
Добрый день, нужна ваша помощь.

У меня есть действие обработки в программе, занимает примерно от 10 до 60 секунд. примерно где то в середине обработки в программе вылазит диалоговое окно, где нужно подтвердить действие. Я его обычно подтверждаю с помощью строчек:
Code: [Select]
GETSCREEN
IF_PICTURE_IN(0,0,$_xmax,$_ymax,"yes.bmp")
KEYPRESS(#enter)
  WAITMS (500)
END_IF

Возможно ли сделать с помощью кликермена так, чтобы он задерживал весь цикл макроса на данном этапе, пока не увидит это диалоговое окно и не нажмет, допустим - Enter?
Title: Re: Приостановка макроса пока на экране не появится нужный элемент(поиск по картинк)
Post by: Космич on March 04, 2019, 01:13:30 PM
Code: (clickermann) [Select]
$press = 0
$check = 0
WHILE($check = 0)
   GETSCREEN
   IF_PICTURE_IN(0,0,$_xmax,$_ymax,"yes.bmp")
      KEYPRESS(#ENTER)
      WAITMS(500)
      $press = 1
   ELSE
      IF($press = 1)
         $check = 1
      END_IF
   END_IF
END_CYC
Title: Re: Приостановка макроса пока на экране не появится нужный элемент(поиск по картинк)
Post by: Masson on March 04, 2019, 01:36:27 PM
Code: (clickermann) [Select]
$press = 0
$check = 0
WHILE($check = 0)
   GETSCREEN
   IF_PICTURE_IN(0,0,$_xmax,$_ymax,"yes.bmp")
      KEYPRESS(#ENTER)
      WAITMS(500)
      $press = 1
   ELSE
      IF($press = 1)
         $check = 1
      END_IF
   END_IF
END_CYC

Спасибо большое, все работает как надо!
Title: Re: Приостановка макроса пока на экране не появится нужный элемент(поиск по картинк)
Post by: Masson on March 05, 2019, 01:26:15 PM
Друзья,а можно с помощью данного цикла сделать чтобы он проверял сразу 2 картинки. Искал рис. 1, рис.2. Если находит рис 1.  переходил бы к поиску рис. 2 и работал в стандартном цикле. Если рис 2. забывал бы про поиск рис.1 и работал в стандартном цикле
Title: Re: Приостановка макроса пока на экране не появится нужный элемент(поиск по картинк)
Post by: Fuego47 on March 07, 2019, 10:39:00 AM
А если в таком же ключе ожидается 3 картинки, но появится только одна из них, и в каждой нужно нажать разные клавиши. Как сделать чтобы цикл не закрывался пока не сделает одно из 3х IF_PICTURE_IN?
Code: (clickermann) [Select]
$press = 0
$check = 0
WHILE($check = 0)
   GETSCREEN
   IF_PICTURE_IN(0,0,$_xmax,$_ymax,"yes.bmp")
      KEYPRESS(#ENTER)
      WAITMS(500)
      $press = 1
   ELSE
      IF($press = 1)
         $check = 1
      END_IF
   END_IF
END_CYC
Title: Re: Приостановка макроса пока на экране не появится нужный элемент(поиск по картинк)
Post by: Космич on March 07, 2019, 04:46:18 PM
Code: (clickermann) [Select]
// Имена картинок от 1 до 3

$count = 0
$press = 0
$check = 0
WHILE($check = 0)
   GETSCREEN
   IF_PICTURE_IN(0,0,$_xmax,$_ymax, STRCONCAT(1 + $count, ".bmp"), - 1, 100)
      KEYPRESS(49+$count) // Нажмёт на кнопку 1 если картинка 1 и т.д.
      WAITMS(500)
      $press = 1 // если картинка не будет повторно найдена, то произойдет выход из цикла
   ELSE
      INC($count, 1)
      IF($count = 3)
         $count = 0
      END_IF
      IF($press = 1)
         $check = 1
      END_IF
   END_IF
END_CYC