Что нового

Автоматизация

mfcs

Новичок
Сообщения
13
Репутация
0
Задача сделать код для автоматизации открытия стим и в последствии, множества окон игр, что будет повторяться в скрипте множество раз. Код уже сделан, но имеет некоторые проблемы.

Главная проблема - через примерно 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}")
 
Автор
M

mfcs

Новичок
Сообщения
13
Репутация
0
Пробуйте
Код:
SendKeepActive()
ControlSend()
ControlSetText()
Не помогло. Если не трудно, можешь сам внести изменение в код что я скидывал и залить в ответе, т.к. возможно я неправильно что-то сделал. Буду благодарен.
 
Верх