Что нового

[Автоматизация] Не срабатывает ожидание окна

ZeVSalt

Я не лупоглазый, это прищур такой !
Сообщения
136
Репутация
0
Добрый день.
Господа, сделал автоустановку программы, но последнее окно где нужно нажать "Готово", обрабатывается не на всех компьютерах. Уже поставил тайм-аут 30 сек., не помогает (от мощности железа зависимости не заметил, иногда на вполне нормальном железе, не работает)

Код:
; Запускаем скрипт с админскими правами
#requireadmin

#include <GUIConstants.au3>
#include <file.au3>

;~ Установка КриптоПро
;~ прверка наличия файлов установки

If FileExists ("c:\Program Files\Crypto Pro\") Then
   MsgBox (4096, "Проверка файла", "У Вас установлена программа КриптоПРО")
   Exit
Else
   Run (@ScriptDir & "\Programm\CSPSetup.exe")
 EndIf

Sleep (1000)
WinWait ("CSPSetup")
WinActivate ("CSPSetup")
ControlClick ("CSPSetup",'Опции','Button11' , "left" , 1)
Sleep (1000)
Opt("MouseCoordMode", 0)
Opt("PixelCoordMode", 2)
ControlClick ("CSPSetup",'Уровень безопасности:','KC2' , "left" , 1 , 36 , 51)
Send("{SPACE}")
Sleep (1000)
ControlClick ("CSPSetup",'Далее','Button1' , "left" , 1)

WinWaitActive('Установка "КриптоПро CSP"')
ControlClick ('Установка "КриптоПро CSP"','&Далее >','Button1' , "left" , 1)
Sleep (1000)
ControlClick ('Установка "КриптоПро CSP"','Я &принимаю условия лицензионного соглашения','Button3' , "left" , 1)
Sleep (1000)
ControlClick ('Установка "КриптоПро CSP"','&Далее >','Button5' , "left" , 1)
Sleep (1000)
ControlSend ('Установка "КриптоПро CSP"',"","Edit1","XXXX", 1)
ControlSend ('Установка "КриптоПро CSP"',"","Edit2","XXXX", 1)
ControlSend ('Установка "КриптоПро CSP"',"","Edit3","XXXX", 1)
ControlSend ('Установка "КриптоПро CSP"',"","Edit4","XXXX", 1)
ControlSend ('Установка "КриптоПро CSP"',"","Edit5","XXXX", 1)
Sleep (1000)
ControlClick ('Установка "КриптоПро CSP"','&Далее >','Button2' , "left" , 1)
Sleep (3000)
ControlClick ('Установка "КриптоПро CSP"','&Далее >','Button5' , "left" , 1)

WinWait ('Установка "КриптоПро CSP"')
WinActivate ('Установка "КриптоПро CSP"')
ControlClick ('Установка "КриптоПро CSP"','&Установить','Button1' , "left" , 1)
Sleep (1000)

WinWait ('Установка "КриптоПро CSP"')
WinActivate ('Установка "КриптоПро CSP"')
Sleep (30000)
;~ В этом месте не нажимается кнопка "Готово", скрипт продолжает работать, не повисает. Если нажать ручками, работа продолжается, начинает ставиться другая программа.
ControlClick ('Установка "КриптоПро CSP"', '&Готово','Button1' , "left" , 1)
WinWaitClose ('Установка "КриптоПро CSP"')

Run (@ScriptDir & "\Установка Setup.exe")

Exit
 

InnI

AutoIT Гуру
Сообщения
4,950
Репутация
1,444
Возможно, на момент клика кнопка ещё не активна. Попробуйте вместо паузы ждать активность кнопки
Код:
;~ Sleep (30000)
Do
  Sleep(100)
Until ControlCommand('Установка "КриптоПро CSP"', '&Готово', 'Button1', 'IsEnabled')
ControlClick ('Установка "КриптоПро CSP"', '&Готово', 'Button1', "left", 1)
А если не поможет - проверяйте правильность параметров через Au3Info.
 
Автор
ZeVSalt

ZeVSalt

Я не лупоглазый, это прищур такой !
Сообщения
136
Репутация
0
Спасибо, завтра на работе попробую.
 
Верх