I use more or less this simple code (only censored the text)
Code: Select all
#Include FindText.ahk
#SingleInstance, Force
Loop {
Sleep 1000
Text.="|<OK>*93$44.zzzzzzzzzzzzzzCensoredzzzzzzzzzzzzzzs"
if (ok:=FindText(952, 660, 1070, 696, 0, 0, Text))
{
CoordMode, Mouse
X:=ok.1.x, Y:=ok.1.y, Comment:=ok.1.id
Click, %X%, %Y%
}
Text.="|<OK>*79$23.zzzzzzzzCensoredzzzzzzzz"
if (ok:=FindText(1088, 562, 1192, 600, 0, 0, Text))
{
CoordMode, Mouse
X:=ok.1.x, Y:=ok.1.y, Comment:=ok.1.id
Click, %X%, %Y%
}
}
After a few seconds I get into this:
Critical Error in #include file "D:\AutoHotkey\FindText.ahk":
Function recursion limit exceeded.
Line#
130: if !(err1=0 && err0=0 && !arr.MaxIndex())
131: Break
132: }
133: SetBatchLines,%bch%
134: Return,arr.MaxIndex() ? arr:0
135: }
141: {
---> 144: if (!MyFunc)
145: {
146: x32 := "" . "5557565383EC548B9424880000008B8C24900000008B84248C00000001D13B8C" . "24800000000F4F8C248000000089CF894C242C31C985D20F48D189D689542424" . "8B94249400000001C23B9424840000000F4F94248400000085C00F49C889CB89" . "4C242889F929F18954243829DA85C9894C24048954241C0F8E8602000085D20F" . "8E7E020000837C2468050F84810200008B9C24B000000085DB0F8EDB07000031" . "FFC744241000000000C744240C0000000031EDC744241800000000897C241490" . "8B4C24148BB424AC0000008B5C24188B54241001CE89C829CB8B8C24AC000000"
245: x64 := "" . "4157415641554154555756534883EC688B8424F8000000488BB4242801000089" . "5424204589C68B9424F0000000448B84240001000044898C24C80000004101D0" . "443B8424E0000000440F4F8424E00000004589C7448944242C4531C085D2410F" . "48D089D7895424248B94240801000001C23B9424E80000000F4F9424E8000000" . "85C0440F49C04129FF4489442428895424304429C24585FF8954241C0F8ECD02" . "000085D20F8EC502000083F9050F84D3020000448B9424400100004585D20F8E" . "CC08000044897C24104489B424C00000004531ED4C8BB42420010000448BBC24"
358: this.MCode(MyFunc, A_PtrSize=8 ? x64:x32)
359: }
360: num:=info.MaxIndex(), j:=info[index], text:=j.1, w:=j.2, h:=j.3, mode:=j.8, color:=j.9, n:=j.10, comment:=j.11, e1:=(err1 && !j.12 ? Round(j.4*err1) : j.6), e0:=(err0 && !j.12 ? Round(j.5*err0) : j.7), sx:=in.sx, sy:=in.sy, sw:=in.sw, sh:=in.sh, Scan0:=bits.Scan0, Stride:=bits.Stride
367: if (mode=3)
The program is now unstable and will exit.