Плагин windows.spf
Файл: windows.spf
Автор: Nicholas Nemtsev, Valery Kondakoff
Описание: Дополнительные слова, позволяющие отслеживать скрытые
окна (например, те, к которым применялась команда WIN-HIDE:),
минимизированные окна и topmost-окна (которые отображаются поверх остальных
окон). Управление "прозрачностью" окон (Win2000/XP). Отслеживание "зависших" окон (окон, которые перестали отвечать на запросы пользователя).
Новые слова:
<window_handle> MINIMIZED?
Возвращает TRUE только если указанное окно сейчас минимизировано.
Пример:
\ восстановить минимизированное окно WIN-EXIST: "*Internet Explorer" IF WIN-HWND MINIMIZED? IF WIN-RESTORE: "*Internet Explorer" THEN THEN
<window_handle> TOPMOST?
Возвращает TRUE если указанное окно является topmost-окном (отображается поверх остальных окон).
Пример:
#( test_topmost \ по хоткею делаем указанное окно topmost/notopmost WatchHotKey: "$q" Action: WIN-EXIST: "*Notepad*" IF WIN-HWND TOPMOST? IF WIN-NOTOPMOST: "*Notepad*" ELSE WIN-TOPMOST: "*Notepad*" THEN THEN )#
<window_handle> VISIBLE?
Возвращает FALSE, если к окну применялась команда WIN-HIDE или окно было убрано в системный трей. Во всех остальных случаях возвращает TRUE.
Пример:
\ показать окно, если оно было скрыто WIN-EXIST: "*Internet Explorer" IF WIN-HWND VISIBLE? 0= IF WIN-SHOW: "*Internet Explorer" THEN THEN
WIN-NOT-RESPOND: "win_pattern"
Позволяет отслеживать "зависшие" окна (окна, которые перестали отвечать на запросы пользователя). Возвращает флаг TRUE (1), если операционная система считает окно "зависшим" и флаг FALSE (0) , если окно корректно отвечает на запросы. Протестировать работу слова WIN-NOT-RESPOND: вы можете, например, с помощью крохотной утилиты HungTest, которая имитирует "зависшее" окно.
Пример:
#( test_not_responding NoActive Action: WIN-NOT-RESPOND: "Hanging application" IF MSG: "Not responding!" ELSE MSG: "Responding!" THEN )#
Существует также постфиксный вариант этого слова:
S" *Notepad" WIN-NOT-RESPOND
WIN-TRANSPARENCY: "win_pattern" <transparency_level>
Позволяет управлять "прозрачностью" окон, подпадающих под указанную
маску (кроме консольных окон). Уровень прозрачности задается в числах от 0
(окно непрозрачно, флаг LAYERED снимается) до 255 (окно абсолютно прозрачно).
Перезапуск окна отменяет действие слова WIN-TRANSPARENCY:.
Слово WIN-TRANSPARENCY: работает только в операционных системах, поддерживающих "прозрачность" окон: Win2000/XP. Обратите, пожалуйста, внимание: установка второго сервис-пака на операционную систему Windows XP препятствует корректной работе слова WIN-TRANSPARENCY:, если nnCron запущен не обычным приложением, а сервисом.
Пример:
\ делаем окно Notepad полупрозрачным: WIN-TRANSPARENCY: "*Notepad" 50 \ делаем окно Notepad абсолютно прозрачным, \ окно все еще находится на экране, но его уже не видно: WIN-TRANSPARENCY: "*Notepad" 255 \ отменяем действие WIN-TRANSPARENCY: WIN-TRANSPARENCY: "*Notepad" 0
Существует также постфиксный вариант этого слова:
S" *Notepad" 50 WIN-TRANSPARENCY