Kleft

Материал из UoPilot
(перенаправлено с «Double Kleft»)
Перейти к навигации Перейти к поиску

Описание

Клики мышкой в указанные координаты. Работают там, где не работают обычные команды типа left, но захватывают мышь.
Важной особенностью данных кликов является то, что они работают только в активном не перекрытом окне - точно так же, как обычная мышь. Так же при кликах данным способом в отличии от left будет перемещаться указатель мыши и мешать одновременной работе пользователя.

Синтаксис

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

kleft <х> <у> [+х +у [-х -у]] [abs|handle] [nooffset]- клик левой кнопкой  
kright <х> <у> [+х +у [-х -у]] [abs|handle] [nooffset]- клик правой кнопкой
kmiddle <х> <у> [+х +у [-х -у]] [abs|handle] [nooffset]- клик средней кнопкой
double_kleft <х> <у> [+х +у [-х -у]] [abs|handle] [nooffset]- двойной клик левой кнопкой 
double_kright <х> <у> [+х +у [-х -у]] [abs|handle] [nooffset]- двойной клик правой кнопкой
double_kmiddle <х> <у> [+х +у [-х -у]] [abs|handle] [nooffset]- двойной клик средней кнопкой

<x> - x координата клика.
<y> - y координата клика.
+х +у - случайное смещение в '+' в указанном пределе.
-х -у - случайное смещение в '-' в указанном пределе.
[abs] - признак клика по абсолютным координатам экрана, а не относительным окна.
[handle] - хендл окна для клика.
[nooffset] - игнорировать смещение указанное в переменных clickoffsetx и clickoffsety.

Можно установить паузу между нажатием и отпусканием кнопки мыши с помощью '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:

kleft 100 100 nooffset

Примеры

// Пример 1
kleft 100 200      // клик левой кнопкой в координаты 100 200
End_script
// Пример 2
kright 100 200     // клик правой кнопкой в координаты 100 200
End_script
// Пример 3
set #x 200
set #y 250
kleft #x #y        // клик в координаты 200 250
End_script
// Пример 4
kleft 150 200 abs  // клик в абсолютные координаты 150 200
End_script
// Пример 5
kleft 200 300 5 10 7 12   // клик в координаты: X = от 205 до 193 и Y от 310 до 288
                          // 5 и 10 означают что клик может быть в + от указанных координат
                          // 7 и 12 означают что клик может быть в - от указанных координат                                                   
End_script
// Пример 6
kleft 200 500 100 50      // клик в координаты: X = от 200 до 300 и Y от 500 до 550
End_script 
// Пример 7
set clickoffsetx 5        // смещение для координаты X
set clickoffsety 5        // смещение для координаты Y
kleft 0 0                 // клик в координаты 5, 5
End_script
// Пример 8
double_kleft 110 300      // двойной клик левой кнопкой в координаты 110 300
End_script
// Пример 9
double_kright 110 300     // двойной клик правой кнопкой в координаты 110 300
End_script
// Пример 10
set clickoffsetx 30      // смещение для координаты X
set clickoffsety 20      // смещение для координаты Y
kleft 0 0                 // клик в координаты 30, 20
kleft 10 10 nooffset      // клик в координаты 10 10
End_script

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

Left
Move
Kleft down
Left 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]

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

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

kleft 100 100 nooffset