Вот так, но не факт, что в играх будет работать:
SetBatchLines, -1
SetMouseDelay, -1
CoordMode, Mouse
OnExit, Exit
hHookMouse := DllCall("SetWindowsHookEx" . (A_IsUnicode ? "W" : "A")
, Int, WH_MOUSE_LL := 14
, Ptr, RegisterCallback("LowLevelMouseProc", "Fast")
, Ptr, DllCall("GetModuleHandle", UInt, 0, Ptr)
, UInt, 0, Ptr)
Return
Exit:
DllCall("UnhookWindowsHookEx", Ptr, hHookMouse)
ExitApp
Esc:: ExitApp
LowLevelMouseProc(nCode, wParam, lParam)
{
static y_prev
if (nCode < 0 || wParam != 0x200) ; WM_MOUSEMOVE = 0x200
Return DllCall("CallNextHookEx", Ptr, 0, Int, nCode, UInt, wParam, UInt, lParam)
x := NumGet(lParam+0, "UInt"), y := NumGet(lParam+0, 4, "UInt")
y_prev := y_prev = "" ? y : y_prev
if (y > y_prev || y < y_prev)
{
t := y_prev - (y - y_prev)*2
MouseMove, x, y_prev := t < 2 ? 2 : t > A_ScreenHeight ? A_ScreenHeight : t, 0
}
Else
MouseMove, x, y_prev := y, 0
Return 1
}
Разработка AHK-скриптов:
e-mail
dfiveg@mail.ruTelegram
jollycoder