首页 > 解决方案 > ImageSearch 命令失败

问题描述

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

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

解决方案


尝试更改*n30为 just *30

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

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

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

帮助文件中值得注意的引用:

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

. . .

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


推荐阅读