1

Тема: AHK: замена прокрутки колесика мыши не везде работает.

Поломалось колесико. Срочно нужна замена прокрутки.


+LButton::
   Send, {WheelDown}
return

Везде работает, кроме Adobe Acrobat Reader (программы для просмотра pdf). А ведь именно для него делал.
Почему в нем не работает и как исправить подскажите пожалуйста.

2

Re: AHK: замена прокрутки колесика мыши не везде работает.

Попробуй такой вариант:


CoordMode,Mouse,Screen

+LButton::
scroll:=120<<16
gosub,scroll
return

^LButton::
scroll:=-120<<16
gosub,scroll
return

scroll:
MouseGetPos,X,Y,mwin,mctrl
WinGet,ActiveWin,id,A
WheelWinID :=DllCall("WindowFromPoint","int64",(X&0x00000000FFFFFFFF)|(Y<<32),"ptr")
WheelWinID2:=DllCall("WindowFromPoint","int64",(X&0x00000000FFFFFFFF)|((Y-20)<<32),"ptr")
ControlGetFocus,focctrl,ahk_id %mwin%
ControlGet,hfocctrl,Hwnd,,% focctrl,ahk_id %mwin%
if (WheelWinID!=hfocctrl)
  ControlFocus,,ahk_id %WheelWinID%
PoSTMessage,0x20A,Scroll,(X&0x0000FFFF)|(Y<<16),,ahk_id %WheelWinID%
If (ErrorLevel or (WheelWinID!=WheelWinID2))
  PoSTMessage,0x20A,Scroll,(X&0x0000FFFF)|(Y<<16),,ahk_id %WheelWinID2%
return
Win 10 x64
AHK v1.1.33.02
                       Справка тебе в помощь.

3

Re: AHK: замена прокрутки колесика мыши не везде работает.

Так понимаю, что проблема здесь в самом зажатом шифте, Acrobat Reader не откликается с ним на посыл колеса. У меня вот так сработало с зажатым капслоком вместо шифта:

#InstallKeybdHook
SetCapsLockState AlwaysOff
CapsLock & LButton:: Send {WheelDown}

Работает и так с Win:

#LButton:: Send {WheelDown}

Но если кликнуть два раза подряд, начинает масштабировать вместо скроллинга, по-крайней мере у меня.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder