Pozia, обильное использование функции WinWaitActive не способствует стабильной работе скрипта. Попробуй заменить на winwait. В таком случае, даже если окно неактивно, нажатие произойдет.
P. S. Я давно использую для таких целей 2 функции, которые под разные нужды на ходу можно дополнять:
для нажатия на кнопку в окне просто пиши cl("здесь все необходимое для функции controlclick") Программа дождется появления окна и нажмет кнопку.
Код:
Func wa($tx1, $tx2)
While WinExists($tx1, $tx2)=0
Sleep(1)
WEnd
EndFunc
Func cl($tx1, $tx2,$classn)
wa($tx1, $tx2)
ControlClick($tx1, $tx2,$classn)
EndFunc
Пример:
Код:
cl('Setup - AoADVDCreator','Completing the AoADVDCreator Setup Wizard','TNewButton4')
Func wa($tx1, $tx2)
While WinExists($tx1, $tx2)=0
Sleep(1)
WEnd
EndFunc
Func cl($tx1, $tx2,$classn)
wa($tx1, $tx2)
ControlClick($tx1, $tx2,$classn)
EndFunc