AutoHotkey!
CoordMode, Mouse, Screen SetWinDelay, -1 SetBatchLines,-1 SetKeyDelay, -1 ; acceleration _WHEELACC=0x280000 ; max speed _WHEELMAXN=0x1800000 ; automatically activate window _WHEELAUTOFOCUS=1 return EasyWheel(d) ; if _WHEELAUTOFOCUS if set, check which window is under the mouse and gives it focus if it hasn't already ; then send scroll event to the control under the mouse ; original code from Shimanov: http://www.autohotkey.com/forum/viewtopic.php?t=6772#54821 { Global _WHEELACC, _WHEELMAXN, _WHEELAUTOFOCUS Static t, s if ( A_TickCount > 500+t) { t := A_TickCount s :=0x780000 } else if (s < _WHEELMAXN) s += _WHEELACC MouseGetPos x, y, hwnd h := DllCall("WindowFromPoint", "int", x, "int", y) if _WHEELAUTOFOCUS && (hwnd<>WinExist("A")) WinActivate, ahk_id %hwnd% SendMessage, 0x20A, d*s,(y<<16)|x,, ahk_id %h% } WheelUp:: EasyWheel(1) WheelDown:: EasyWheel(-1)
(Взято из темы, связанной в комментарии скрипта)
AHK может сделать все что угодно: 3