Автор Тема: [Автоматизация] Закрытие pop-up окон и restart  (Прочитано 275 раз)

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

Эта тема содержит сообщение, помеченное как лучший ответ. Кликните здесь для перехода к этому сообщению.

Оффлайн d007 [?]

  • Новичок
  • *
  • Сообщений: 4
  • Репутация: 0
    • Награды
  • Версия AutoIt: 3.3.14.0
Всем доброго времени суток!

Хотелось бы автоматизировать цикл работы триальной Программы, запускающейся в отдельном Окне с Кнопкой запуска, нажатие которой генерит всплывающее Окно1, его закрытие (x) запускает процесс, а после окончания - Окно2, закрытие (x) которого закрывает и основное Окно.

С AutoIt ранее не пересекался - написал скрипт, отталкиваясь от  школьных воспоминаний о Бэйсике и Паскале, но что-то мне подсказывает, что их не достаточно: имеется только четкое осознание, что все поп-ап окна должны быть закрыты, а прога перезапущена...
Также всплывают смутные догадки о необходимости остальных частей оператора IF-THEN-ELSE, но пока нет полной уверенности...
И последний вопросик - решено, спасибо ra4o

Был бы признателен профессионалам, любителям или просто хорошим людям за помощь!

[Сырой] продукт творчества моей необузданной мысли:
(нажмите для показа/скрытия)
« Последнее редактирование: Март 07, 2019, 03:53:13 от d007 »

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

[Автоматизация] Закрытие pop-up окон и restart
« Отправлен: Март 06, 2019, 03:44:46 »

Оффлайн ra4o [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 919
  • Репутация: 169
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Цитировать
И последний вопросик - о кракозябрах вместо кириллической части текста в названиях окон
В этой теме ответ №7 http://autoit-script.ru/index.php?topic=24810.msg142917#msg142917

Оффлайн d007 [?]

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

  • Автор темы
  • Репутация: 0
    • Награды
  • Версия AutoIt: 3.3.14.0
Цитировать
И последний вопросик - о кракозябрах вместо кириллической части текста в названиях окон
В этой теме ответ №7 http://autoit-script.ru/index.php?topic=24810.msg142917#msg142917
Спасибо, похоже помогло!

Остался только главный вопрос )

Онлайн CreatoR [?]

  • Администратор
  • *
  • Сообщений: 7971
  • Репутация: 2300
  • Пол: Мужской
  • AutoIt is simple, subtle, elegant
    • CreatoR's Lab
    • Награды
  • Версия AutoIt: 3.3.10.2
d007

ПредупреждениеЗа нарушение правил форума (пункт В.11):
Цитировать
Любые отрывки AutoIt кода необходимо заключать в тег [autoit] (подробнее), а обычный код соответственно в тег [code] (подробнее). Также большие выдержки текста помещайте под тег [spoiler] (подробнее), там где это поддерживается естественно. Как в случае с названием темы, также короткое и эргономичное сообщение привлекает больше внимания, и шансы на получение конкретного ответа увеличиваются.


С уважением, ваш Администратор.


Правила, Поиск, Супер тема


AutoIt is simple, subtle, elegant.


«Не оказываю тех. поддержку через ПМ/ICQ, и по электронной почте - для этого есть форум. (C)»
«Законы Мэрфи неоспоримы!»


Мои работы

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


Оффлайн ra4o [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 919
  • Репутация: 169
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Зачем Вы заключили скрипт в бесконечный цикл ? Вам нужно что-бы программа запускалась и закрывалась постоянно ?
Вы ведь знаете, что после запуска ожидается появление окон в строгой очерёдности , тогда скрипт может выглядеть примерно так:
Код: AutoIt [Выделить]
Run("Программа.exe")
$MainWindow=WinWait("Окно")
ControlClick($MainWindow, "", "[CLASS:Button;INSTANCE:Кнопка]")
$Window1=WinWait("Окно1")
WinClose($Window1)
$Window2=WinWait("Окно2")
WinClose($Window2)


Оффлайн d007 [?]

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

  • Автор темы
  • Репутация: 0
    • Награды
  • Версия AutoIt: 3.3.14.0
d007
Предупреждение
Исправил


Добавлено: Март 07, 2019, 18:28:26
скрипт может выглядеть примерно так:
Код: AutoIt [Выделить]
Run("Программа.exe")
$MainWindow=WinWait("Окно")
ControlClick($MainWindow, "", "[CLASS:Button;INSTANCE:Кнопка]")
$Window1=WinWait("Окно1")
WinClose($Window1)
$Window2=WinWait("Окно2")
WinClose($Window2)

Спасибо за совет!
Опробую чуть позже
Зачем Вы заключили скрипт в бесконечный цикл ? Вам нужно что-бы программа запускалась и закрывалась постоянно ?
Да, нужен именно цикл, иначе из-за двух нажатий нет смысла и заморачиваться )
ожидается появление окон в строгой очерёдности
Есть один нюанс: Окно1 появляется не всегда - кмк, просто добавить тайм-аут, чтобы скрипт не завис в ожидании?
« Последнее редактирование: Март 07, 2019, 18:28:26 от d007, Причина: Объединение сообщений »

Помечен как лучший ответ пользователем d007 Отправлен Март 08, 2019, 02:49:16

Оффлайн ra4o [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 919
  • Репутация: 169
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Цитировать
Есть один нюанс: Окно1 появляется не всегда
Об этом ньюансе Вы говорите впервые, в таком случае можно добавить таймаут в функцию ожидания окна №1 :
Код: AutoIt [Выделить]
While 1
    Run("Программа.exe")
    $MainWindow = WinWait("Окно")
    ControlClick($MainWindow, "", "[CLASS:Button;INSTANCE:Кнопка]")
    $Window1 = WinWait("Окно1", "", 10) ;Таймаут появления окна 1 10 сек
    If $Window1 Then WinClose($Window1)
    $Window2 = WinWait("Окно2")
    WinClose($Window2)
    Sleep(2000)
WEnd
 


Оффлайн d007 [?]

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

  • Автор темы
  • Репутация: 0
    • Награды
  • Версия AutoIt: 3.3.14.0
Об этом ньюансе Вы говорите впервые
Не стал усложнять )

Цитировать
в таком случае:
Код: AutoIt [Выделить]
While 1
    Run("Программа.exe")
    $MainWindow = WinWait("Окно")
    ControlClick($MainWindow, "", "[CLASS:Button;INSTANCE:Кнопка]")
    $Window1 = WinWait("Окно1", "", 10) ;Таймаут появления окна 1 10 сек
    If $Window1 Then WinClose($Window1)
    $Window2 = WinWait("Окно2")
    WinClose($Window2)
    Sleep(2000)
WEnd

Все гениальное [выглядит] просто!
Заработало отлично! (с легким тайм-тюнингом)
Задача решена.

Огромная благодарность AUTOIT ГУРУ RA4O за помощь!

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

Re: [Автоматизация] Закрытие pop-up окон и restart
« Ответ #7 Отправлен: Март 08, 2019, 02:47:11 »

 

Похожие темы

  Тема / Автор Ответов Последний ответ
2 Ответов
3122 Просмотров
Последний ответ Август 17, 2010, 23:18:28
от Ocago
5 Ответов
3957 Просмотров
Последний ответ Ноябрь 05, 2011, 20:22:53
от Fever
0 Ответов
2962 Просмотров
Последний ответ Ноябрь 01, 2011, 01:10:51
от CreatoR
19 Ответов
10628 Просмотров
Последний ответ Январь 10, 2013, 14:05:54
от logos
5 Ответов
2480 Просмотров
Последний ответ Май 06, 2014, 21:15:08
от erlik
17 Ответов
24561 Просмотров
Последний ответ Июнь 05, 2015, 13:03:25
от dstasv
11 Ответов
4899 Просмотров
Последний ответ Апрель 28, 2015, 14:33:33
от madmasles
1 Ответов
965 Просмотров
Последний ответ Март 29, 2016, 16:49:04
от InnI
3 Ответов
892 Просмотров
Последний ответ Июль 24, 2017, 08:30:24
от NickSpirit
2 Ответов
212 Просмотров
Последний ответ Январь 12, 2019, 10:56:28
от radioamator16