Автор Тема: Автоматический перезапуск Marketfeeder  (Прочитано 613 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Пашочек [?]

  • Новичок
  • *
  • Сообщений: 7
  • Репутация: 0
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Версия AutoIt: v3.3.14.2

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

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

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


Внимание: Для просмотра прикреплённых файлов необходимо Войти или Зарегистрироваться

Русское сообщество AutoIt

Автоматический перезапуск Marketfeeder
« Отправлен: Апрель 05, 2017, 15:48:50 »

Оффлайн hedji [?]

  • Новичок
  • *
  • Сообщений: 124
  • Репутация: 19
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: Автоматический перезапуск Marketfeeder
« Ответ #1, Отправлен: Апрель 05, 2017, 21:08:16 »
Я бы постарался не кликать мышкой вообще.
По хорошему TAB переходы заменить на ControlSend(), но я не знаю их controlID.

Код: AutoIt [Выделить]
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
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: Автоматический перезапуск Marketfeeder
« Ответ #2, Отправлен: Апрель 07, 2017, 08:48:45 »
Спасибо!
Оказывается всё гораздо проще, чем я думал :)
Я немного поправил Ваш код (заменил путь и, по Вашему совету, переделал с ТАВ на ControlSend()).
Выкладываю, что получилось, вдруг пригодится кому-то кроме меня:)
Код: AutoIt [Выделить]
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. Не нашел, как поставить Вам плюсик в репутацию...

Оффлайн Alofa [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 1108
  • Репутация: 155
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.12.0

Русское сообщество AutoIt

Re: Автоматический перезапуск Marketfeeder
« Ответ #3 Отправлен: Апрель 07, 2017, 09:13:48 »

Оффлайн Пашочек [?]

  • Новичок
  • *
  • Сообщений: 7

  • Автор темы
  • Репутация: 0
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: Автоматический перезапуск Marketfeeder
« Ответ #4, Отправлен: Апрель 07, 2017, 17:53:27 »
OffTopicAlofa  [?]
Цитировать
Общие рекомендации и советы
У меня нет возможности помечать сообщения. Видимо, пока недостаточно давно тут:)

UPD: нужно набрать 5 сообщений
« Последнее редактирование: Апрель 07, 2017, 18:14:23 от Пашочек »

Русское сообщество AutoIt

Re: Автоматический перезапуск Marketfeeder
« Ответ #4 Отправлен: Апрель 07, 2017, 17:53:27 »

 

Похожие темы

  Тема / Автор Ответов Последний ответ
3 Ответов
2229 Просмотров
Последний ответ Сентябрь 05, 2012, 15:56:03
от Drombun
3 Ответов
2234 Просмотров
Последний ответ Декабрь 03, 2012, 21:58:19
от HolyWay
6 Ответов
2377 Просмотров
Последний ответ Декабрь 27, 2012, 17:52:09
от DesMono
3 Ответов
6708 Просмотров
Последний ответ Апрель 30, 2013, 13:06:40
от erlik
0 Ответов
1803 Просмотров
Последний ответ Май 26, 2013, 21:24:40
от prokazzza
8 Ответов
3261 Просмотров
Последний ответ Январь 15, 2014, 21:17:34
от madmasles
3 Ответов
1521 Просмотров
Последний ответ Июнь 10, 2015, 11:22:57
от kotugopese
3 Ответов
1515 Просмотров
Последний ответ Октябрь 17, 2015, 10:19:06
от MadSochi
0 Ответов
540 Просмотров
Последний ответ Октябрь 14, 2015, 06:14:19
от madmasles
2 Ответов
537 Просмотров
Последний ответ Август 22, 2016, 13:17:15
от Maxlinus