使用 AutoHotKey 自动点击屏幕位置

发布时间 2023-11-20 12:39:13作者: BuckyI

最近想把 flomo 上的内容迁移到 Notion 上,迁移完毕后,发现 flomo 竟然不支持批量删除!
虽然几百个 memo 手点一点也无所谓,想了想还是用脚本吧……通过脚本找到屏幕中的“删除”并自动点击!

后续发现,删除标签时,会把标签以及包含此标签的 memo 全部删除…… 不过这里的方法仍然可以实现更灵活的批量删除。

主要用到的函数:

流程在循环中进行:判断图片位置 -> 点击对应位置 -> 恢复鼠标位置

CoordMode "Pixel"  ; Interprets the coordinates below as relative to the screen rather than the active window's client area.

Loop
{
    MouseGetPos &OriginalX, &OriginalY
    if ImageSearch(&FoundX, &FoundY, 1000, 500, 2000, 1000, "*10 " "C:\del.png") {
        ; MsgBox "The icon was found at " FoundX "x" FoundY
        MouseClick "left", FoundX, FoundY
        MouseMove OriginalX, OriginalY
    }

    Sleep 500  ; 检测间隔时间,可以根据需要进行调整
}

几个小细节:

  • *10 设置了颜色变化的容忍度,原图片的话可能识别不出来
  • 1000, 500, 2000, 1000 是设置了图片搜索的屏幕范围,因为全屏幕搜索的话比较慢,而这里要搜索的按钮位置是固定的。
  • MouseClick 后,鼠标停留在指定的位置,为了比较舒适的体验,最好还原位置。
  • 用脚本自动删除的话,flomo 不会自动加载,因此删除之前需要手动下滑,把内容全部加载完毕,再返回顶端进行删除。