2011/06/21

AutoHotkeyでフォーカスをとらずにカーソル直下のウィンドウをスクロール

いろいろ方法がありますが、私の場合、以下のコードをMouseGesture.ahkの上スクロール/下スクロールに割り当てています。
;----
CoordMode Mouse, Screen
 WheelTime  = 500
WheelDelta:= 120 << 16
WheelMax  := 2 * WheelDelta
    Critical
   If (A_ThisHotKey <> A_PriorHotKey OR A_TimeSincePriorHotkey > WheelTime)
        WCnt = %WheelDelta%
   Else If (WCnt < WheelMax)
        WCnt+=  WheelDelta
   MouseGetPos m_x, m_y
   hw_m_target := DllCall("WindowFromPoint", "int",m_x, "int",m_y)
   SendMessage 0x20A, WCnt, (m_y<<16)|m_x,,ahk_id %hw_m_target% ; WM_MOUSEWHEEL
return
;----
スクロール速度はWheelDeltaの値を適当に調整。JaneViewなどで使うと便利。

0 件のコメント:

コメントを投稿