Что нового

Точное оганичение мыши

Andrey_A

Продвинутый
Сообщения
327
Репутация
68
Подскажите как ограничить курсор мыши, интересует:
1) горизонтальное и вертикальное ограничение
2) точность
Цель: провести точные прямые линии в графической программе, к примеру paint

Пробовал:
1)
Код:
HotKeySet("{Esc}", "_end")
Local $nOldYpos = 600
While 1
  $pos = MouseGetPos()
  If $pos[0] > 300 Or $pos[0] < 300 Then
    MouseMove(300,$nOldYpos,0)
  Else
   $nOldYpos=$pos[1]
  EndIf
WEnd

Func _end()
 Exit
EndFunc


2)
Код:
#include <GUIConstantsEx.au3>
#include <Misc.au3>

HotKeySet("{Esc}", "_end")
HotKeySet("{SPACE}", "_trap")

While 1
  Sleep(100)
WEnd

Func _trap()
  _MouseTrap(300,0,300,600)
EndFunc

Func _end()
  _MouseTrap()
  Exit
EndFunc


Скрипты работают, но нет точности, вот результаты:
autmouse.png
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
626
не знаю как Paint, но в других графических программах зажатый shift игнорирует горизонтальные или вертикальные смещения, рисуя идеально прямые линии.
 

Z_Lenar

Продвинутый
Сообщения
209
Репутация
52
Andrey_A
Во втором примере второе смещение по Х нужно складывать с еденицей:
Код:
_MouseTrap(300,0,300+1,600)
 
Верх