; Auto-Solver for Dingbat Flipper 45L WinTitle := "Dingbat Flipper 45L" ID := WinExist( WinTitle ) IfEqual,ID,0, ExitApp WinActivate, ahk_id %ID% WinWaitActive, ahk_id %ID% CoordMode, Mouse, Relative VarSetCapacity( Array, 72, 32 ) ; Creates a Variable with 72 Spaces Loop 72 BS .= A_Index < 72 ? A_Index "|" : A_Index Sort, BS, D| Random Loop, Parse, BS, | { IfWinNotActive, ahk_id %ID%,,,,ExitApp ControlGetPos,X,Y,,, Button%A_LoopField%, ahk_id %ID% X := X+20, Y := Y+20 MouseMove, X, Y, 5 MouseGetPos,,, WinID, CtrlID,2 ControlGetText, Chr,, ahk_id %CtrlID% If ( Chr="" ) { Click ControlGetText, Chr,, ahk_id %CtrlID% fPos := InStr( Array, Chr ) } if fPos { ControlGetPos, X, Y,,, Button%fPos%, ahk_id %ID% X := X+20, Y := Y+20, fPos := 0 ;Tooltip, This Dingbat...,,,1 Sleep 500 MouseMove, X,Y, 10 ;Tooltip, ... is here!,,,2 Sleep 500 Click } Stuff( Array, A_LoopField, Chr ) Sleep 100 } ExitApp Return Stuff( ByRef Var, Pos=1, Chr="" ) { Return DllCall( "RtlFillMemory", UInt,&Var+Pos-1, UInt,1, UInt,Asc(Chr) ) } #X::ExitApp