Я пытаюсь получить конечную точку перетягивания (правая кнопка) с AutoHotKey:Получить реальное смещение мыши при перетаскивании
~RButton::
CoordMode, Mouse, Screen
MouseGetPos, x0, y0
while GetKeyState("RButton")
{
MouseGetPos, x1, y1
Sleep, 10
}
MsgBox X: %x1% Y: %y1%
return
Что она делает это ждать RightButton мыши должна быть нажата, собрать x0 и y0 (внутренние координаты), и пока кнопка все еще нажата, она снова получает положение мыши (каждые 10 миллисекунд).
После этого он отображает конечные координаты.
Он хорошо работает в обычной среде, но в этом конкретном случае этот сценарий должен выполняться в приложении, которое управляет мышью при нажатии правой кнопки. То, что делает эта конкретная программа, - это привести указатель мыши к центру экрана, и когда кнопка будет реализована, она покинет ее в исходном положении. (x1, y1 всегда являются центром моего экрана, в пикселях).
Я считаю, что внутренне эта программа собирает перемещение мыши (при перетаскивании) и использует ее для взаимодействия с пользователем.
Мой вопрос: есть ли способ получить реальный ввод мыши, а не смотреть на экран и искать указатель мыши (~ MouseGetPos)? Достижимо ли это с помощью AutoHotKey?
Я не понимаю вопроса. 'MouseGetPos' должен дать вам текущую позицию мыши. Чтобы увидеть, сколько движется мышь, просто получите абсолютное значение x0-x1 и y0-y1 – Person93
Вы явно пропустили 90% сообщения. – Sturm
Интересная проблема. Я не думаю, что это можно сделать как таковое, поскольку в AHK позиция мыши всегда одинакова; нет ничего, чтобы отличить и ничего не измерить. С какой программой вы работаете? Первое, что приходило в голову, было эго-шутером, во-вторых, это было какое-то программное обеспечение для моделирования/САПР. Можете ли вы рассказать о том, чего вы пытаетесь достичь? – MCL