一次找多个串联text并指定id的写法

; 示例:https://www.autohotkey.com/boards/viewtopic.php?p=521011#p521011

Text:=""
Text.="|<pic1>##10 $ 0/0/RRGGBB"  ; 搜索第一种颜色
Text.="|<pic2>##10 $ 0/0/RRGGBB"  ; 搜索第二种颜色
Text.="|<pic3>##10 $ 0/0/RRGGBB"  ; 搜索第三种颜色

Loop {
  if (ok:=FindText(x, y, 200, 200, 300, 300, 0.1, 0.1, Text, , FindAll:=0))
  {
    id:=ok[1].id
    if (id="pic1")
      Send a
    else if (id="pic2")
      Send b
    else if (id="pic3")
      Send c
    Sleep 200
  }
}


; 或使用字典来简化代码
Key := { pic1:"a", pic2:"b", pic3:"c" }

Loop {
  if (ok:=FindText(x, y, 200, 200, 300, 300, 0.1, 0.1, Text, , FindAll:=0))
  {
    Send % Key[ ok[1].id ]
    Sleep 200
  }
}

 

声明:站内资源为整理优化好的代码上传分享与学习研究,如果是开源代码基本都会标明出处,方便大家扩展学习路径。请不要恶意搬运,破坏站长辛苦整理维护的劳动成果。本站为爱好者分享站点,所有内容不作为商业行为。如若本站上传内容侵犯了原著者的合法权益,请联系我们进行删除下架。