IniRead, ApplicationPath, %A_WorkingDir%\config.ini, settings, ApplicationPath , ??? IniRead, ApplicationDir, %A_WorkingDir%\config.ini, settings, ApplicationDir , ??? log(Text){ FileAppend, `r`n[%A_DD%.%A_MM%.%A_YYYY% %A_Hour%:%A_Min%:%A_Sec%] %Text%, log.log } log("------------------") log("Starting " ApplicationPath " at " ApplicationDir) ImgDir = %A_WorkingDir%\img log(ImgDir) Process,Close,start.exe Process,Close,patcher.exe sleep, 500 Run, %ApplicationPath%, %ApplicationDir% FindImg(Image, ByRef X, ByRef Y, MaxTries) { global ImgDir loop { Sleep, 1000 file := ImgDir "\" Image WinGetPos, WinX, WinY, WindowWidth, WindowHeight, A ImageSearch, X, Y, 0, 0, %WindowWidth%, %WindowHeight%, *5 %file% ifEqual, ErrorLevel, 2 { log("Could not conduct the search for " file) return False } else ifEqual, ErrorLevel, 1 { MaxTries-- IfLessOrEqual, MaxTries, 0 { log("Could not find " file) return False } } else { return True } } } ; Main Program log("waiting for Kolja-Strohm Games Patcher") If (not WinWaitActive Kolja-Strohm Games Patcher,,30) { log("Kolja-Strohm Games Patcher is not active after 30 seconds") ErrorExit() } Sleep, 1000 log("searching for play button") if (FindImg("play.bmp", X, Y, 60)) { log("Patching successful") } else { ErrorExit() } CleanUp() ErrorExit() { Process,Close,start.exe Process,Close,patcher.exe log("Exiting with code 1") Exit, 1 } CleanUp() { Process,Close,start.exe Process,Close,patcher.exe log("Exiting with code 0") Exit, 0 }