Перейти на главную страничку сайта (список статей, файлы для скачивания)
Проект перевода документации AutoHotkey: перечень переведённых статей и статей в работе.
Иногда в системе требуется выполнить некоторые действия при появлении окна какого-либо приложения. Например, послать какое-нибудь уведомление, или выполнить действия над самим приложением. При этом требуется выполнять такие действия над каждым вновь появляющимся окном этого приложения, но только один раз. Рассмотрим способ решения этой проблемы с помощью AutoHotkey на примерах.
Задача: при запуске приложения 1С:Предприятие v7.7 необходимо автоматически передавать фокус списку информационных баз (элемент управления ListBox1). Текст скрипта:
#NoTrayIcon SetTimer, timer_MonitorWindows, 100 return timer_MonitorWindows: WinGet, wid_list, List, Запуск 1С:Предприятия Loop, %wid_list% { wid := wid_list%A_Index% if ( ! proc[%wid%] ) { proc[%wid%] := True ControlFocus, ListBox1, ahk_id %wid% } } Return ^!0:: MsgBox Скрипт "1C" будет завершён. ExitApp return
Рассмотрим работу скрипта в целом:
Разберём работу скрипта от метки timer_MonitorWindows:
Таким образом, каждые 100 миллисекунд скрипт перебирает имеющиеся окна с заголовком "Запуск 1С:Предприятия" (если таковые имеются) и устанавливает в каждом из них фокус в нужное место. Проверка на вхождение хэндла окна в массив позволяет избежать повторной (многократной) установки фокуса в одном и том же окне, что помешало бы работе пользователя.
Задача: при запуске отладчика 1С:Предприятия v7.7 разворачивать дочернее окно MDI-документа во весь экран (отладчик всегда открывает такой документ при запуске автоматически). Текст скрипта:
#NoTrayIcon SetTimer, timer_MonitorDebugger, 100 return timer_MonitorDebugger: WinGet, wid_list, List, Отладчик - Loop, %wid_list% { wid := wid_list%A_Index% if ( ! proc[%wid%] ) { proc[%wid%] := True WinActivate, ahk_id %wid% Send, !-{DOWN 4}{ENTER} ;Send, !-р } } Return ^!0:: MsgBox Скрипт "1C" будет завершён. ExitApp return
В целом скрипт полностью аналогичен предыдущему, поэтому рассмотрим только действия с окном отладчика:
Перейти на главную страничку сайта (список статей, файлы для скачивания)
© 2007 http://www.script-coding.com При любом использовании материалов сайта обязательна ссылка на него как на источник информации, а также сохранение целостности и авторства материалов.