autohotkey - 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
看看增加这个津贴是否会有所帮助,但失败了。正确使用图像搜索的任何提示?这不是一些复杂的游戏功能,只是想找到一个工具栏并单击它!
解决方案
尝试更改*n30
为 just *30
。
此外,默认情况下,ImageSearch
坐标是每个活动窗口而不是整个桌面,因此使用A_ScreenWidth
和A_SreeenHeight
可能会出现问题。虽然如果窗口在您的主屏幕上最大化,这不是问题,但如果它没有最大化或位于具有不同分辨率的屏幕上,则可能会出现问题。如果它没有最大化,它可能正在搜索超出显示区域的区域,这可能是一个问题。
另一个问题(未经验证)可能与 Windows 缩放有关。很多时候,2160p 显示器默认为 200% 缩放(或者是 150%?w/e)。
由于您使用的是 BMP 图像,您可能需要验证它是否保存为 16 位或更高版本。
帮助文件中值得注意的引用:
所有操作系统都支持 GIF、JPG、BMP、ICO、CUR 和 ANI 图像(BMP 图像必须为 16 位或更高)。
. . .
要搜索的区域必须是可见的;换句话说,不可能搜索隐藏在另一个窗口后面的窗口区域。相比之下,通常可以检测到部分位于鼠标光标下方的图像。游戏光标是个例外,在大多数情况下,它会挡住它们下方的任何图像。
推荐阅读
- azure - AADB2C 嵌入式密码重置:未触发本地帐户发现
- tensorflow - 通过回调 api 动态更新数据集过滤器中使用的 tensorflow 变量
- python - 操作系统() | 对先前存在的命令提示符窗口执行命令 | Python
- java - 使用警报管理器在特定时间发送通知
- python - 通过 Atom 保存 Python 文件会导致模块导入错误 - 从其他任何地方保存不会出现问题
- javascript - javaScript - 如果单击速度足够快,带有“单击”事件侦听器的按钮将触发多次
- android - 使用 OkHttp3 请求后端时出现错误代码 400,Chrome 返回 200 OK
- flutter - 使用颤振设置 if else 状态
- html - 子组合子和 ::after 伪元素
- javascript - 使用 javascript 更改类。(替换方法)fontawesome 图标