【问题标题】:ImageSearch command failingImageSearch 命令失败
【发布时间】:2019-04-26 16:05:39
【问题描述】:

我正在尝试创建一个热键,可以找到谷歌表格“工具”菜单,单击它,向下移动几个像素,然后单击脚本编辑器。我可以在谷歌表格中执行此操作,但它没有通用键绑定,我必须制作一个宏,我宁愿它只是通用的。

SC163:: 
{
    ImageSearch, FoundX, FoundY, 0, 0, A_ScreenWidth, A_ScreenHeight,  C:\Users\xx\Documents\AHK Scripts\gsheets-tools.bmp

    if ErrorLevel = 2
        tooltip Could not conduct the search.
    else if ErrorLevel = 1
        tooltip Image could not be found on the screen.
    else
        {
            mousemove, %FoundX%, %FoundY%, 50
            tooltip The image was found at %FoundX%x%FoundY%.
        }
    return
}

在我硬编码整个图像名称之前,它一直在抛出错误 2。现在它只抛出错误 1,即使我打开了三份工作表副本(每台显示器上一份)。 BMP 不是在这里使用的最佳格式吗?我尝试使用

ImageSearch, FoundX, FoundY, 0, 0, A_ScreenWidth, A_ScreenHeight, *n30 C:\Users\xx\Documents\AHK Scripts\gsheets-tools.bmp

看看增加这个津贴是否会有所帮助,但失败了。正确使用图像搜索的任何提示?这不是什么复杂的游戏功能,只是想找个工具栏点击一下!

【问题讨论】:

    标签: autohotkey


    【解决方案1】:

    尝试将 *n30 更改为 *30

    此外,默认情况下,ImageSearch 坐标是每个活动窗口而不是整个桌面,因此使用A_ScreenWidthA_SreeenHeight 可能会出现问题。虽然如果窗口在您的主屏幕上最大化,这不是问题,但如果它没有最大化或位于具有不同分辨率的屏幕上,则可能会出现问题。如果它没有最大化,它可能正在搜索超出您的显示区域的区域,这可能是一个问题。

    Windows 缩放可能是另一个问题(未经验证)。很多时候,2160p 显示器默认为 200% 缩放(或者是 150%?w/e)。

    由于您使用的是 BMP 图像,因此您可能需要验证它是否保存为 16 位或更高版本。

    帮助文件中的重要引述:

    所有操作系统都支持 GIF、JPG、BMP、ICO、CUR 和 ANI 图像(BMP 图像必须为 16 位或更高)。

    。 . .

    要搜索的区域必须是可见的;换句话说,不可能搜索隐藏在另一个窗口后面的窗口区域。相比之下,通常可以检测到部分位于鼠标光标下方的图像。游戏光标是个例外,它在大多数情况下会挡住其下方的任何图像。

    【讨论】:

    • 嗯,我刚刚在 Edge 中打开了一张工作表;对我来说,菜单栏中“工具”右下角的坐标大约是 390、170。所以您可能需要将其调整为类似于ImageSearch, FoundX, FoundY, 0, 0, 400, 200 的坐标。如果这不起作用,您介意附上您的图片文件,以便我试一试吗?
    • 我可以确认链接中的图片无效。我使用截图工具(另存为 PNG)创建了一张新图片,它在第一次运行时就可以正常工作,没有任何变化值。
    • 谢谢evan,我就重拍一下试试!
    • 我重新拍了一张照片,它自己工作了!耶!但是它仍然无法在截屏的窗口上运行。我想知道行政上是否发生了什么事情。我现在无法以管理员身份运行我的 ahk,但下次我可以再次测试它。 eid:通过自身工作,我的意思是如果图像在油漆中打开,它会找到图像。但它在网络浏览器窗口中找不到“工具”。
    • 好了,新图加上公差60就搞定了。
    【解决方案2】:

    我建议您将其用于图像搜索 https://www.youtube.com/watch?v=aWRAtvJq9ZE 很简单,效果也不错!

    【讨论】:

    • 我下载了那个脚本,但是当我运行它时出现错误,当我注释掉错误行时它不能正常工作(缺少部分 ui)。