1 (изменено: Romansokol, 2020-06-05 13:18:32)

Тема: AHK: скрипт на возврат координат при отжатии ЛКМ

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

Как сделать так, что бы при нажатии ЛКМ происходил возврат на начальные координаты, а не оставалось в новой позиции


CapsLock::
BlockInput, SendAndMouse 
BlockInput, On 
SetKeyDelay, 0 
MouseGetPos, xpos, ypos
DllCall("SetCursorPos", int, 1674, int, 187)
sleep, 10
Toggle = !Toggle
If Toggle
   Click, Down
else
   Click, Up
DllCall("SetCursorPos", int, xpos, int, ypos)
BlockInput, off 
return

Что я неправильно сделал?

2

Re: AHK: скрипт на возврат координат при отжатии ЛКМ

Romansokol, добавьте префикс скриптового языка в заголовок темы. Оформите код тегом "code".

3

Re: AHK: скрипт на возврат координат при отжатии ЛКМ

Romansokol пишет:

чтобы отжать зажатие необходимо заново нажать ЛКМ

А по коду — CapsLock.

Romansokol пишет:

при нажатии ЛКМ происходил возврат на начальные координаты

Создать подпрограмму горячей клавиши по нажатию LButton, где использовать MouseMove.

4 (изменено: Sensey777, 2020-06-21 18:35:55)

Re: AHK: скрипт на возврат координат при отжатии ЛКМ

Попробуй так:

CapsLock::
BlockInput, SendAndMouse 
BlockInput, On 
SetKeyDelay, 0 
CoordMode, Mouse, Screen ; Команда CoordMode Устанавливает режим координат для различных команд относительно активного окна или экрана
MouseGetPos, xpos, ypos
DllCall("SetCursorPos", int, 1674, int, 187)
sleep, 10
Click, Down
KeyWait, LButton ; Ждем нажатия и отжатия левой кнопки мыши
Click, Up
DllCall("SetCursorPos", int, xpos, int, ypos)
BlockInput, off 
return