как использовать функцию автогонки для поиска изображений, чтобы дождаться появления изображения на экране - PullRequest
0 голосов
/ 13 января 2020

я новичок в autohotkey, я очень мало знаю, мне нужно сделать макрос в компании, где я работаю, и мне нужно использовать autohotkey для создания этого макроса.

Что я хочу сделать, это , Мне нужно получить доступ к приложению JAVA, которое находится на моем компьютере, но запуск этого приложения занимает некоторое время, иногда он быстрый, иногда медленный. Я не знаю точно, сколько времени может потребоваться для загрузки.

Что Мне нужно, чтобы сценарий подождал, пока захваченное изображение появится на экране при загрузке приложения, в то время как это изображение не выглядит так, как будто оно ждет, пока оно не появится на экране.

Я много исследовал autohotkey и функцию imagesearch, но я не совсем понял, как ее использовать

imagefound := false
time_loopStart := A_TickCount
timeout := 6000
sleep_after_each_imagesearch := 300
CoordMode, Pixel
Loop{
     ImageSearch x,y, A_ScreenWidth, A_ScreenHeight, C:\test\Javalogin.png
     if ErrorLevel = 0{
        imagefound := true
        break
  }
  if(A_TickCount - time_loopSart > timeout){
     break

  }
  sleep %sleep_after_each_imagesearch%
}
MsgBox, I found the picture

этот скрипт, который я нашел в inte rnet

Я принимаю предложения, если скрипт должен быть переделанным и т. д. c.

Мне просто нужно заставить скрипт ждать появления изображения

, если у вас есть кто-то, кто может помочь, я оставляю свою благодарность:)

1 Ответ

0 голосов
/ 13 января 2020

Вот аналогичный скрипт, который я использую.

По сути, он ищет картинку и, если найдет ее, помещает координаты, где он ее нашел, в OutputVarX & OutputVarY. Если он не находит его, значения равны 0.

Loop,
{
   ; first two store the found position, next 4 as the search area in pixels, then the file.
   ImageSearch, OutputVarX, OutputVarY, 0, 0, 600, 600, e:\play.bmp

   ; "0" means no match
   if (OutputVarX > 0) { 

       msgbox, %OutputVarX%, %OutputVarY%
       break

   }

   sleep, 200 
} 

Некоторые подсказки:

  • Сделайте снимок экрана вашего компьютера с изображением. Обрежьте это до размера элемента и затем сохраните его без сжатия. Поиск оригинального png-файла может завершиться неудачей, если он будет каким-либо образом визуализирован.
  • Прочтите справку в ImageSearch, чтобы узнать, как сделать изображение немного другим.
...