如何使用图像搜索自动热键功能等待图像出现在屏幕上

how to use the image search autohotkey function to wait for an image to appear on screen

我是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

我在网上找到的这个脚本

如果脚本需要重做等,我接受建议

我只需要让脚本等待图像出现

如果有人可以帮助我,请留下我的谢:)

这是我正在使用的类似脚本。

基本上,它会查找图片,如果是 找到它,它将坐标放在它在 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 上的帮助,了解如何让图像有点不同。

@OP - 我有一个我设计并使用了几年的 ImageSearch 扩展包装器。它提供了您正在寻找的等待以及本机 ImageSearch 命令所缺少的许多其他功能。这是我多年来编写的大多数自动热键实用程序的 backbone。我正在添加一些附加功能,并决定尽快 post(可能 GitHub)。如果有兴趣,请告诉我。

以下是支持的功能

  1. 支持用户定义等待时间(以秒为单位的超时)以在停止搜索(可见倒计时)之前在屏幕上查找图像
  2. 支持同时搜索多张图片的能力——“OR”模式(AND模式正在开发中)
  3. 可以为搜索列表中的每张图片设置唯一的搜索条件
  4. 支持在搜索之前验证磁盘上的 ImageFile 路径,并发出通知(调试协助)
  5. 支持原生 ImageSearch 选项
  6. 中止对长搜索的支持(在调试期间特别有用)