Left

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

Описание

Клик мышкой в указанные координаты.
Работают не во всех приложениях. Можно использовать аналог Kleft.

Синтаксис

Привязка к окну: опционально.
Работа со свернутым окном: только с привязкой к окну.

left <х> <у> [+х +у [-х -у]] [abs|handle] [nooffset] [~^rlm] - клик левой кнопкой
right <х> <у> [+х +у [-х -у]] [abs|handle] [nooffset] [~^rlm] - клик правой кнопкой
middle <х> <у> [+х +у [-х -у]] [abs|handle] [nooffset] [~^rlm] - клик средней кнопкой
double_left <х> <у> [+х +у [-х -у]] [abs|handle] [nooffset] [~^rlm] - двойной клик левой кнопкой 
double_right <х> <у> [+х +у [-х -у]] [abs|handle] [nooffset] [~^rlm] - двойной клик правой кнопкой
double_middle <х> <у> [+х +у [-х -у]] [abs|handle] [nooffset] [~^rlm] - двойной клик средней кнопкой 

<x> - x координата клика.
<y> - y координата клика.
+х +у - случайное смещение в '+' в указанном пределе.
-х -у - случайное смещение в '-' в указанном пределе.
[abs] - признак клика по абсолютным координатам экрана, а не относительным окна.
[handle] - хендл окна для клика.
[nooffset] - игнорировать смещение указанное в переменных clickoffsetx и clickoffsety.
~^rlm - клик: ~ - с шифтом, ^ - c контролом, r - с правой кнопкой, l - с левой кнопкой, m - со средней кнопкой. Если указано несколько модификаторов, то должны быть написаны слитно друг с другом. С альтом просто так не работает, придется его сначала зажимать sendex'ом.

Можно установить паузу между нажатием и отпусканием кнопки мыши с помощью 'MouseClickDelay'.

set MouseClickDelay 30     //установить паузу в 30 мсек.
// или так
set MouseClickDelay 30 + random(30)   // установить паузу в 30-59 мсек.

Иногда требуется сделать клик со смещением:

set Clickoffsetx 50    // смещение вправо на 50 пикселей
set Clickoffsety 30    // смещение вниз на 30 пикселей

set Clickoffsetx -40   // смещение влево на 40 пикселей
set Clickoffsety -60   // смещение вверх на 60 пикселей

Чтобы игнорировать смещение заданное clickoffsetx и clickoffsety:

left 100 100 nooffset

Примеры

// Пример 1
left 100 200      // клик в координаты 100 200
End_script
// Пример 2
right 100 200     // клик правой кнопкой в координаты 100 200
End_script
// Пример 3
set #x 200
set #y 250
left #x #y        // клик в координаты 200 250
End_script
// Пример 4
left 150 200 abs  // клик в абсолютные координаты 150 200
End_script
// Пример 5
left 200 300 5 10 7 12   // клик в координаты: X = от 205 до 193 и Y от 310 до 288
                         // 5 и 10 означают что клик может быть в + от указанных координат
                         // 7 и 12 означают что клик может быть в - от указанных координат                                                   
End_script
// Пример 6
left 200 500 100 50      // клик в координаты: X = от 200 до 300 и Y от 500 до 550
End_script 
// Пример 7
set clickoffsetx 5       // смещение для координаты X
set clickoffsety 5       // смещение для координаты Y
left 0 0                 // клик в координаты 5, 5
End_script
// Пример 8
double_left 110 300      // двойной клик левой кнопкой в координаты 110 300
End_script
// Пример 9
double_right 110 300     // двойной клик правой кнопкой в координаты 110 300
End_script
// Пример 10
// Если после координат указан хендл, то клик будет сделан в указанное окно.
// Независимо от того какое окно рабочее.
set #google Findwindow (Google)    // поиск окна Google
set #yandex Findwindow (Yandex)    // поиск окна Yandex
left 236, 273 #google              // клик в координаты 236, 273 в окно Google 
left 395, 259 #yandex              // клик в координаты 395, 259 в окно Yandex
End_script
// Учтите, что в данном примере клик может быть со смещением.
// К примеру, если надо сделать клик во флеш игре, то для поиска нужного окна можно воспользоваться скриптом: Поиск пути к дочернему окну 
// Пример 11
set clickoffsetx 30      // смещение для координаты X
set clickoffsety 20      // смещение для координаты Y
left 0 0                 // клик в координаты 30, 20
left 10 10 nooffset      // клик в координаты 10 10
End_script

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

Kleft
Move
Left down
Kleft down
Drag
Get mouse pos

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

2.11
Добавил команды альтернативных кликов мышью kleft, kright, double_kleft, double_kright, kleft_down, kleft_up, kright_down, kright_up. работают там, где не работают обычные команды, но захватывают мышь. Синтаксис тот-же.
Добавил возможность указания задержки между нажатием и отпусканием кнопки мыши в мышиных командах.

2.15
Добавил команды pleft, pright, double_pleft, double_pright, pleft_down, pleft_up, pright_down, pright_up. Аналогично команде post.

2.18
Исправил kleft по относительным координатам.

2.19
Исправил 'kleft' по абсолютным координатам.
Добавил клики с модификаторами 'left x y [abs] [~^rlm]'. ~ - с шифтом, ^ - c контролом, r - одновременно с правой, l - с левой, m - со средней. если указано несколько модификаторов, то должны быть написаны слитно друг с другом. работает для всех кроме тех, что с приставкой 'k'. с альтом просто так не работает, придется его сначала зажимать sendex'ом.

2.30
Подправил клики по отрицательным координатам в команде 'kleft'.

2.36
Добавил настройку, переключающую работу команд типа 'kleft' в вариант версии 2.17.
Добавил переменные смещения кликов мышью и команды 'move': clickoffsetx', 'clickoffsety'

set clickoffsetx 5
set clickoffsety 5
left 0 0
 //кликнет в координаты 5, 5

Добавил в клики мышью возможность задания случайного смещения координат в указанных пределах:

left <х> <у> [+х +у [-х -у]] [abs|handle] [~^rlm]
move <х> <у> [+х +у [-х -у]] [abs|handle]

2.36.1
Добавил во все команды перемещения курсора и кликов мышью, возможность указать хендл подопытного окна вместо 'abs'. Слегка изменился синтаксис:

left <x> <y> [abs | handle] [~^rlm]

2.36.2
Добавил переменную 'MouseClickDelay' - устанавливает задержку между нажатием и отпускание кнопки. Значения изменяются только для текущего скрипта.

2.41
Исправил клики мышкой с модификаторами.
В клики мышкой добавил параметр "nooffset", который позволяет игнорировать смещение, указанное в переменных clickoffsetx и clickoffsety.

left 100 100 nooffset