Перейти на главную страничку сайта (список статей, файлы для скачивания)
Проект перевода документации 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 При любом использовании материалов сайта обязательна ссылка на него как на источник информации, а также сохранение целостности и авторства материалов.