Set windowpos

Материал из UoPilot
Версия от 11:14, 28 августа 2019; Tatikoma (обсуждение | вклад)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к навигации Перейти к поиску

Описание

Set windowpos - позволяет переместить окно в указанные координаты и изменить его размер.

Синтаксис

Привязка к окну: необходима, либо указание хендла в операторе.
Работа со свернутым окном: да.

set windowpos [X] [Y] [width] [height] [handle]]]

Где:
[X] [Y] - Координаты, в которые нужно переместить окно.
[width] - ширина окна.
[height] - высота окна.
[handle] - окно для перемещения и установки его параметров.

Если указана отрицательная ширина ('width'), параметр 'height' отвечает за расположение окна в стопке, и может принимать следующие значения:
1 - TOP
2 - TOPMOST - установить атрибут "поверх всех окон",
3 - NOTOPMOST - снять атрибут "поверх всех окон".
4 - BOTTOM

set windowpos 500 200 -1 2 workwindow

Примеры

// Пример 1
//Не забываем указать нужное окно Ctrl + A
set windowpos 100 100               // переместить рабочее окно в координаты 100 100, не меняя размеры окна
End_script
// Пример 2
set #handle findwindow ("Блокнот")  // найти окно блокнота
set workwindow #handle              // сделать его рабочим
set windowpos 100 100       // переместить в координаты 100 100, не меняя размеры окна
End_script
// Пример 3
set #handle findwindow ("Блокнот")        // найти окно блокнота
set workwindow #handle                    // сделать его рабочим 
set windowpos 100 200 1024 800    // переместить в координаты 100 200 и установить размер окна 1024 800
End_script
// Пример 4
set #handle findwindow ("Блокнот")        // найти окно блокнота
set windowpos 100 200 -1 2 #handle        // переместить в координаты 100 200 и установить его поверх всех окон
End_script

Можно убирать окна за переделы экрана, при этом в них будут работать:
Клики типа left, right, left down, left up.
Нажатия Send и Send217.
Поиск цвета и картинок с указанием хендла (тип поиска работающий в перекрытых окнах): Findcolor, Findimage, Get color.

// Пример 5
set #handle findwindow ("Блокнот")        // найти окно блокнота
set workwindow #handle                    // сделать его рабочим
set windowpos 1920 1080                   // переместить в координаты 1920 1080 (за пределы экрана)
End_script

// Чтобы вытащить окно из-за пределов экрана
// Можно сделать отдельный скрипт
set #handle findwindow ("Блокнот")        // найти окно блокнота
set workwindow #handle                    // сделать его рабочим 
set windowpos 0 0                         // переместить в координаты 0 0
End_script  

Смотрите также

Get windowpos
Showwindow
Workwindow

История развития

2.11
Добавил возможность перемещения выбранного окна и изменения его размеров 'set windowpos X Y width height handle'. При указании отрицательных размеров, или их отсутствии, данные параметры игнорируются. При указании хендла окна, действия происходят с указанным окном, иначе с текущим. Если указана отрицательная ширина, параметр 'height' отвечает за расположение окна в стопке, и может принимать следующие значения:
1: TOP
2: TOPMOST
3: NOTOPMOST
4: BOTTOM.

set windowpos #x #y -1 2 #handle // TOPMOST

2.20
'set windowpos #X #Y #width $height #handle' теперь взаимодействует с текущим рабочим окном, если '#handle' не только не распознан, но и равен нулю.

2.39
Исправил ошибку в команде 'set windowpos' с параметрами TOP и BOTTOM.

2.41
Исправил работу команды 'set windowpos', если не указан хендл рабочего окна.