Задача сделать код для автоматизации открытия стим и в последствии, множества окон игр, что будет повторяться в скрипте множество раз. Код уже сделан, но имеет некоторые проблемы.
Главная проблема - через примерно 20 повторений, код ведет себя некорректно. Может не вставить текст в нужное окно или держать активным другое, что исправляется сделав это действия вручную. Мне нужно исправить эту проблему, что бы от меня не было никаких вмешательств и скрипт работал сам.
Подсветил строки что вставляют скопированный текст.
Главная проблема - через примерно 20 повторений, код ведет себя некорректно. Может не вставить текст в нужное окно или держать активным другое, что исправляется сделав это действия вручную. Мне нужно исправить эту проблему, что бы от меня не было никаких вмешательств и скрипт работал сам.
Подсветил строки что вставляют скопированный текст.
Проблемная область кода:
WinActivate("Steam Desktop Authenticator")
WinWaitActive("Steam Desktop Authenticator")
Sleep (300)
WinMove("Steam Desktop Authenticator", "", 1408, 296)
ControlClick("Steam Desktop Authenticator", "", "[Class:WindowsForms10.LISTBOX.app.0.afceb_r7_ad1; INSTANCE:1]")
Sleep (300)
Send("{end}")
$sda = ControlGetText ("Steam Desktop Authenticator", "", "[Class:WindowsForms10.Window.8.app.0.afceb_r7_ad1; INSTANCE:2]")
Send("{home}")
$a = ControlGetText ("Steam Desktop Authenticator", "", "[Class:WindowsForms10.Window.8.app.0.afceb_r7_ad1; INSTANCE:2]")
$b = 0
$c = "Account: account"
if $a = $c Then
$b = 1
EndIf
While $b <>1
Send("{down 1}")
$a = ControlGetText ("Steam Desktop Authenticator", "", "[Class:WindowsForms10.Window.8.app.0.afceb_r7_ad1; INSTANCE:2]")
if $a = $c Then
$b = 1
EndIf
if $b <> 1 and $a = $sda then
MsgBox (0, "Ошибка", "Аккаунт отсутствует в SDA" )
Exit
EndIf
WEnd
$d = ControlGetText("Steam Desktop Authenticator", "", "[Class:WindowsForms10.EDIT.app.0.afceb_r7_ad1; INSTANCE:2]")
ClipPut($d)
WinSetState("Steam Desktop Authenticator", "", @SW_MINIMIZE)
Sleep (300)
WinActivate("Steam Guard — Необходима авторизация компьютера")
WinWaitActive("Steam Guard — Необходима авторизация компьютера")
Sleep (300)
Send('+{INS}')
Send("{enter}")