e9990638
Тренироваться на основе этого скрипта будет трудно, так как каждое окно видется AutoIT почти одинаково, и я выёживался, как мог.
У меня по простяцки сделано, если хотите, можете попросить мегабизона по AutoIT -
SanjaAlone написать более навороченный скрипт.
Про обилее пауз (sleep (500)) - чисто для себя делал - не люблю, когда окна мелькают.
Так же я не делаю блокировку клавиатуры (не нравится мне эта мера) и отключение Punto Switcher (в сём скрипте это ни к чему)
Вот готовый мой (простенький) скрипт, работает у меня и моих друзей на версии 5.70 Home под WinXP Rus:
Код:
![Выделить весь код](images/misc/selectcode.png)
; Запрет на двойной запуск скрипта
If WinExists(@ScriptName) Then Exit
; Пауза между нажатием клавиш
AutoItSetOption("SendKeyDelay", 50)
; Если скрипт засбоил, в трее подведите мышку к иконке AutoIT скрипта, и узнаете, где он застопроился
AutoItSetOption("TrayIconDebug", 1)
; Проверка на уже установленную программу
If FileExists ( @ProgramFilesDir & "\Venta\VentaFax & Voice 5\ventafax.exe" ) Then
MsgBox (64,'Информация','Программа VentaFax уже стоит на Вашем компьютере. Удалите её и попробуйте снова.',7)
Exit
EndIf
;Запуск программы
Run('vfvh57.exe')
;Выбор русского языка
WinWaitActive ('Установка Venta Fax','')
ControlCommand ( 'Установка Venta Fax', '', 'TComboBox1', 'SelectString', 'Russian' )
Sleep (500)
ControlClick ('Установка Venta Fax','','TButton3')
WinWaitActive ('Установка Venta Fax','Согласен')
Sleep (500)
ControlClick ('Установка Venta Fax','Согласен','TButton2')
Sleep (500)
ControlClick ('Установка Venta Fax','Согласен','TButton5')
WinWaitActive ('Установка Venta Fax','Далее')
Sleep (500)
ControlClick ('Установка Venta Fax','Далее','TButton5')
WinWaitActive ('Установка Venta Fax','Добавить значок на панель')
Sleep (500)
ControlCommand ( 'Установка Venta Fax', 'Добавить значок на панель', 'TCheckBox1', "UnCheck", "" )
Sleep (500)
ControlCommand ( 'Установка Venta Fax', 'Добавить значок на панель', 'TCheckBox2', "UnCheck", "" )
Sleep (500)
ControlCommand ( 'Установка Venta Fax', 'Добавить значок на панель', 'TCheckBox3', "UnCheck", "" )
Sleep (500)
ControlClick ('Установка Venta Fax','Добавить значок на панель','TButton7')
WinWaitActive ('Установка Venta Fax','Выбрать все')
Sleep (500)
ControlClick ('Установка Venta Fax','Выбрать все','TButton7')
WinWaitActive ('Установка Venta Fax','Установить')
Sleep (500)
ControlClick ('Установка Venta Fax','Установить','TButton7')
; Если расскоментировать строчку - Venta не запуститься
WinWaitActive ('Установка Venta Fax')
;ControlCommand ( 'Установка Venta Fax', '', 'TCheckBox11', "UnCheck", "" )
Sleep (500)
ControlClick ('Установка Venta Fax','','TButton7')
Sleep (500)
WinWaitActive ('Venta Fax & Voice','Зарегистрировать сейчас!')
ControlClick ('Venta Fax & Voice','Зарегистрировать сейчас!','TBitBtn6')
; Регистрация. Обращаю внимание на то, что серийник вводится по-другому, нежели чем имена.
; Сделано это из-за того, что Venta иногда вылетает при помещении текста в ячейку s/n
; Так же я не стал отдельно делать переменные для регистрационных данных, так как в этом скрипте не вижу для этого необходимости.
WinActivate ('Регистрация','')
Sleep (500)
ControlSetText ( 'Регистрация','', 'TEdit2', "TDS" )
Sleep (500)
ControlSetText ( 'Регистрация','', 'TEdit1', "2000" )
Sleep (500)
Send ('{TAB 2}')
Send ('3308-16628199248-2488')
;ControlSetText ( 'Регистрация','', 'TEdit3', "3308-16628199248-2488" )
Sleep (500)
ControlClick ('Регистрация','','TBitBtn2')
WinWaitActive ('Information')
ControlClick ('Information','','TButton1')
WinWaitActive ('ВНИМАНИЕ!')
ControlClick ('ВНИМАНИЕ!','','TBitBtn3')
WinWaitActive ('Настройка параметров')
Sleep (10000)
ControlClick ('Настройка параметров','','TBitBtn38')
Exit