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

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

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

  • Новичок
  • *
  • Сообщений: 6
  • Репутация: 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 [?]

  • Новичок
  • *
  • Сообщений: 90
  • Репутация: 14
  • Пол: Мужской
    • Награды
  • Версия 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}")
 


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

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

  • Автор темы
  • Репутация: 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 [?]

  • Скриптер
  • ****
  • Сообщений: 993
  • Репутация: 127
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.12.0
----------------------- Вы думаете, всё так просто? Да, всё просто. Но совсем не так. -----------------------
Альберт Эйнштейн.

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

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

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

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

  • Автор темы
  • Репутация: 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 Ответов
2088 Просмотров
Последний ответ Сентябрь 05, 2012, 15:56:03
от Drombun
3 Ответов
2131 Просмотров
Последний ответ Декабрь 03, 2012, 21:58:19
от HolyWay
6 Ответов
2278 Просмотров
Последний ответ Декабрь 27, 2012, 17:52:09
от DesMono
3 Ответов
6302 Просмотров
Последний ответ Апрель 30, 2013, 13:06:40
от erlik
0 Ответов
1741 Просмотров
Последний ответ Май 26, 2013, 21:24:40
от prokazzza
8 Ответов
3030 Просмотров
Последний ответ Январь 15, 2014, 21:17:34
от madmasles
3 Ответов
1361 Просмотров
Последний ответ Июнь 10, 2015, 11:22:57
от kotugopese
3 Ответов
1384 Просмотров
Последний ответ Октябрь 17, 2015, 10:19:06
от MadSochi
0 Ответов
483 Просмотров
Последний ответ Октябрь 14, 2015, 06:14:19
от madmasles
2 Ответов
402 Просмотров
Последний ответ Август 22, 2016, 13:17:15
от Maxlinus