Что нового

[Окна, Диалоги] Отслеживание полноэкранного режима приложений и управление окнами при его смене

Masha

Новичок
Сообщения
1
Репутация
0
Добрый день всем.

AutoIt:
v3.3.14.2

Описание:
Нужен резидентный скрипт, который отслеживал бы открытие или переход любых приложений в полноэкранный режим, и на время работы этого приложения в полноэкранном режиме смещал три других окна (два виджета и медиа-плейер) за границы экрана.
- После смещения этих окон, фокус должен остаться или вернуться на полноэкранное приложение.
- Если в процессе работы полноэкранное приложение теряет фокус, но при этом остается развернутым (например, alt+tab, или вызвано служебное окно поверх полноэкранного), то три смещенных окна все равно остаются за пределами экрана.
- После закрытия, сворачивания или перехода в оконный режим полноэкранного приложения - смещенные окна возвращаются на свое место.
- Скорость процесса смещения и возврата - 1-2 секунды.
- Скрипт рассчитан для работы на экране с разрешением 1920 x 1200 px.
- Обычное (несмещенное) положение и размер всех трех смещаемых окон всегда одно и то же:
Верхний виджет:
>>>> Window <<<<
Title:
Class: TfrmXWidgetXUL
Position: 0, 0
Size: 1920, 600
Style: 0x96000000
ExStyle: 0x00080088
Handle: 0x000000000001030C
Нижний виджет:
>>>> Window <<<<
Title:
Class: TfrmXWidgetXUL
Position: 0, 1030
Size: 1920, 170
Style: 0x96000000
ExStyle: 0x00080088
Handle: 0x0000000000010376
Трейконтроль медиа-плейера (находится в зоне Нижнего виджета):
>>>> Window <<<<
Title: TrayControl
Class: TAIMPTrayControl
Position: 1201, 1170
Size: 450, 30
Style: 0x96000000
ExStyle: 0x00080098
Handle: 0x00000000000E09A6

Примечания:
Реальные (видимые) размеры виджетов меньше, чем захватил AutoIt Window Info.
Поэтому Верхний виджет нужно смещать вверх на 55 px.
Нижний виджет и Трейконтроль смещать вниз на 30 px.
Смещения по горизонтали не требуется.
К сожалению, окна виджетов не имеют названий, текста, и не отличаются по классу. Если могут помочь различия по цвету пикселя в определенных точках, я дам эти данные. Если могут понадобиться другие параметры окон - пожалуйста, подскажите, как их получить.
Если универсальное отслеживание полноэкранного режима для любых приложений сделать проблематично, тогда могу составить список программ, которые будут переходить в fullscreen (их будет не больше 10).

Наверное, есть смысл предусмотреть возможность добавить GUI для настройки, какие окна и куда сдвигать. Это на тот случай, если скрипт вдруг понадобиться кому-то еще, кроме меня.

Заранее благодарна как за готовое решение, так и за правильные советы.
 
Верх