Что нового

Передвижение мышки

Ganibal95

GreenBytes
Сообщения
877
Репутация
240
Здравствуйте, нужно передвинуть мышку допустим +Y или -Y без указания координат на экране...
Т.е такая конструкция не подойдет:
Код:
MouseMove(MouseGetPos(0),MouseGetPos(1) + 10)


Нужно что -то вроде того
Код:
MouseMoveEx(0,-5)


Заранее спасибо :smile:
 

Belfigor

Модератор
Локальный модератор
Сообщения
3,608
Репутация
941
Прочитал вопрос и до сих пор не могу понять почему первая конструкция не подходит?


Добавлено:
Сообщение автоматически объединено:

Она полностью соответствует запросы "подвинуть мышь на n пикселей от текущего положения". А без указания координат на экране ты команду вроде вообще никак не отправишь. Ибо нужно знать как минимум MouseGetPos результат, чтобы от текущего положения куда-то мышь двинуть
 
Автор
Ganibal95

Ganibal95

GreenBytes
Сообщения
877
Репутация
240
Belfigor
Дело в том что в играх, например PointBlank с такой конструкции мышка летает хрен знает куда.

Но если в мышке X7 запрограммировать передвижение +/- Y все работает как надо. В любом случае команда от мышки поступает к окну получается его можно поделать и.т.д...


Добавлено:
Сообщение автоматически объединено:

Проверил еще раз в игре это MouseMove(MouseGetPos(0),MouseGetPos(1) + 10)
В игре экран перемещается черт знает куда...
 

Belfigor

Модератор
Локальный модератор
Сообщения
3,608
Репутация
941
А ты не пробовал произвести перемещение на 10 пикселей, путем отправки команды передвижения на 1 пиксель 10 раз? Тоесть первый вариант но не +10 а +1 10 раз в цикле
 
Автор
Ganibal95

Ganibal95

GreenBytes
Сообщения
877
Репутация
240
Belfigor
Пробовал, мышка гуляет как захочет...
 

Belfigor

Модератор
Локальный модератор
Сообщения
3,608
Репутация
941
Оу, тогда стандартными средствами проблему не решишь, это тебе в драйвера надо впиваться или писать свои
 
Автор
Ganibal95

Ganibal95

GreenBytes
Сообщения
877
Репутация
240
Belfigor
Ну не думаю что настоль глубоко...
Все-же может кто -нибудь идеи предложит...


Добавлено:
Сообщение автоматически объединено:

Код:
DllCall('User32.dll','bool', 'SetCursorPos', 'int', MouseGetPos(0)+1,'int',MouseGetPos(1))

На это игра вообше не реагирует


Добавлено:
Сообщение автоматически объединено:

Belfigor
УУу нашел :laugh:

Код:
_WinAPI_Mouse_Event($MOUSEEVENTF_MOVE, 1, 0)
 

InnI

AutoIT Гуру
Сообщения
4,922
Репутация
1,432
Ganibal95
А если в MouseMove() последним параметром указать ноль?
 
Автор
Ganibal95

Ganibal95

GreenBytes
Сообщения
877
Репутация
240
InnI
пробовал, не работает. Но решение я уже нашел :smile:
 
Верх