Автор Тема: Помогите сделать скрипт (запуск программы, блокировка ввода, закрытие программы)  (Прочитано 1733 раз)

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

Оффлайн hedji [?]

  • Продвинутый
  • ***
  • Сообщений: 315
  • Репутация: 55
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Сначала ждем окно Success Read ParameterFile, потом Success read Load file, неважно в какой последовательности они будут в самом окне.
Код: AutoIt [Выделить]
WinWait("QB-Programmer", "Success Read ParameterFile")
WinWait("QB-Programmer", "Success read Load file")
WinClose("QB-Programmer", "Success Read ParameterFile")
 



Добавлено: Март 14, 2017, 12:26:13
Код: AutoIt [Выделить]
$check = WinWait("QB-Programmer", "QB-Programmer startup..")
;или
$check = WinWait("QB-Programmer", "Command standby")
 

к тому тексту, что всегда появляется в окне до Reading ParameterFile
« Последнее редактирование: Март 14, 2017, 12:26:13 от hedji, Причина: Объединение сообщений »

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


Оффлайн CoolAller [?]

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

  • Автор темы
  • Репутация: 0
    • Награды
  • Версия AutoIt: 3.3.14.0
hedji, если скрипт будет выглядеть таким образом, то, в случае если скрипт не дождется ожидаемой надписи, он просто будет виснуть в трее поставив свое выполнение на паузу, а оттуда его потом только вручную закрывать. Т.е. как я понимаю, нужно либо задать какой-то таймаут ожидания надписи, после истечения которого если надпись не появляется завершать скрипт. Либо как-то делать через StringRegExp задавая поиск в тексте (я не знаю как это сделать).
к тому тексту, что всегда появляется в окне до Reading ParameterFile
Так нельзя, потому что обязательно должна происходить проверка на Success Read ParameterFile и Success read Load file, так как если эти надписи не появятся программа не будет работать и не выведет AutoProcedure(Epv) PASS, и скрипт просто будет виснуть не разблокировав мышь и клавиатуру.
« Последнее редактирование: Март 25, 2017, 13:08:07 от CoolAller »

Помечен как лучший ответ пользователем CoolAller Отправлен Март 14, 2017, 13:28:56

Оффлайн hedji [?]

  • Продвинутый
  • ***
  • Сообщений: 315
  • Репутация: 55
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Код: AutoIt [Выделить]
#RequireAdmin
Run("C:\Program Files (x86)\NEC Electronics Tools\QBP\V3.11\bin\qbp.exe") ;запускаем экзешник
$check = WinWait("QB-Programmer", "QB-Programmer startup..", 30) ;ждем окно QB-Programmer startup.. 30 секунд, если не дождались - выходим из скрипта
if $check <> 0 Then
    BlockInput(1) ;блочим клаву только, если окно QB-Programmer startup.. есть
    $check = WinWait("QB-Programmer", "Success Read ParameterFile", 30) ;ждем окно Success Read ParameterFile 30 секунд, если не дождались - выходим из скрипта
    if $check <> 0 Then
        $check = WinWait("QB-Programmer", "Success read Load file", 30) ;ждем окно Success read Load file 30 секунд, если не дождались - выходим из скрипта
        if $check <> 0 Then        
            WinActivate("QB-Programmer", "Success read Load file") ;принудительно активируем окно
            Send("{ALT}") ; последовательно передаем нажатия кнопок
            Send("{D}")
            Send("{A}")
            WinWait("QB-Programmer", "AutoProcedure(Epv) PASS", 30) ;ждем пока текст в окне поменяется, если не меняется в течение 30 секунд - идем дальше
            WinClose("QB-Programmer", "AutoProcedure(Epv) PASS") ;закрываем окно          
        EndIf
    EndIf
    BlockInput(0) ;разблокируем клавиатуру
EndIf
 


Оффлайн CoolAller [?]

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

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

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


 

Похожие темы

  Тема / Автор Ответов Последний ответ
0 Ответов
2361 Просмотров
Последний ответ Апрель 14, 2010, 14:50:22
от closers
7 Ответов
4086 Просмотров
Последний ответ Ноябрь 23, 2012, 11:59:27
от f_ckerfox
1 Ответов
1347 Просмотров
Последний ответ Сентябрь 23, 2013, 23:23:56
от sngr
1 Ответов
1784 Просмотров
Последний ответ Апрель 13, 2014, 16:35:59
от madmasles
2 Ответов
1947 Просмотров
Последний ответ Апрель 27, 2014, 01:22:52
от alex33
9 Ответов
5280 Просмотров
Последний ответ Июнь 02, 2014, 01:11:40
от amorphyc
13 Ответов
2997 Просмотров
Последний ответ Июнь 26, 2018, 19:22:50
от Wu-Tang
0 Ответов
430 Просмотров
Последний ответ Июнь 14, 2017, 10:12:20
от Aleksander-2000
1 Ответов
348 Просмотров
Последний ответ Январь 09, 2018, 01:05:54
от Vovsla
2 Ответов
57 Просмотров
Последний ответ Октябрь 11, 2018, 14:44:41
от Werwolfik