Что нового

Автоматический перезапуск Marketfeeder

Пашочек

Новичок
Сообщения
7
Репутация
0
Версия AutoIt: v3.3.14.2

Описание:
Добрый день!

С AutoIt я не знаком, но программировать немного умею, и, почитав описание возможностей, мне показалось, что это как раз то, что мне нужно
Столкнулся с такой проблемой:
Есть программа Marketfeeder Pro (Окно программы на Скрин 0), её надо периодически перезапускать. Периодичность перезапуска можно установить через планировщик, с ним всё понятно, а вот с самим скриптом уже сложнее....
Соответственно, нужно сделать следующее:
1) Нажать на крестик в правом верхнем углу. (Скрин 1)
2) Во всплывающем окне нажать «Yes». (Скрин 2)
3) Подождать 10 секунд, пока программа закроется.
4) Запустить её снова (по известному пути, либо по ярлыку на рабочем столе).
5) В появившемся окне ввести логин и пароль. (Скрин 3)
6) Нажать «Войти». (Скрин 3)

Может кто-нибудь помочь в реализации?)
Заранее спасибо!
 

Вложения

  • Скрин 0.png
    Скрин 0.png
    103.6 КБ · Просмотры: 10
  • Скрин 1.png
    Скрин 1.png
    14.5 КБ · Просмотры: 9
  • Скрин 2.png
    Скрин 2.png
    4.4 КБ · Просмотры: 8
  • Скрин 3.png
    Скрин 3.png
    22.7 КБ · Просмотры: 8

hedji

Продвинутый
Сообщения
409
Репутация
94
Я бы постарался не кликать мышкой вообще.
По хорошему TAB переходы заменить на ControlSend(), но я не знаю их controlID.

Код:
WinClose("Marketfeeder Pro") ;закрываем окно
WinWait("Confirm") ;ждем окно Confirm
WinActivate("Confirm")
Send("{ENTER}") ;жмем Enter
WinWaitClose("Marketfeeder Pro") ;ждем пока закровется окно
Run("C:\Program Files\Marketfeeder Pro.exe") ;запускаем Marketfeeder Pro снова
WinWait("Marketfeeder Pro") ;ждем окно Confirm
WinActivate("Marketfeeder Pro") ;ждем пока появится окно
Send("{TAB 4}") ;переходим табом на нужное поле
Send("логин")
Sleep(1000)
end("{TAB}")
Send("пароль")
Sleep(1000)
Send("{ENTER}")
 
Автор
П

Пашочек

Новичок
Сообщения
7
Репутация
0
Спасибо!
Оказывается всё гораздо проще, чем я думал :smile:
Я немного поправил Ваш код (заменил путь и, по Вашему совету, переделал с ТАВ на ControlSend()).
Выкладываю, что получилось, вдруг пригодится кому-то кроме меня:smile:
Код:
WinClose("[CLASS:TMainForm]") ;Закрываем окно
WinWait("Confirm") ;ждем окно Confirm
WinActivate("Confirm") ; переключаемся на него
Send("{ENTER}") ;жмем Enter
WinWaitClose("[CLASS:TMainForm]") ;ждем пока закрывается окно
sleep(3000) ; ждем 3 секунды (почему-то без этого не всегда срабатывает последующий запуск)
Run("C:\Program Files (x86)\MarketFeeder Pro 8\feeder8.exe") ;Запускаем Marketfeeder Pro снова
WinWait("[CLASS:TNGLoginForm]") ;ждем окно залогинивания
WinActivate("[CLASS:TNGLoginForm]") ;переключаемся на него
ControlSend("[CLASS:TNGLoginForm]", "", "[CLASS:TEdit; INSTANCE:2]", "LOGIN") ;вводим логин
Sleep(1000)
ControlSend("[CLASS:TNGLoginForm]", "", "[CLASS:TEdit; INSTANCE:1]", "PASSWORD"); вводим пароль
Sleep(1000)
ControlClick("[CLASS:TNGLoginForm]", "", "[CLASS:TButton; INSTANCE:1]") ;жмем "Войти"

P.S. При копировании кода с форума в SciTe русские символы почему-то заменяются на знаки вопроса...
P.P.S. Не нашел, как поставить Вам плюсик в репутацию...
 
Верх