マウス下のウインドウをスクロールする

Ver. 0.5.4.153より、Script\settings\setup\ScrollHotkeys.giraffeとScript\Scroller.giraffeを追加しました。
設定ダイアログ(F5キーで表示)のSettings::setupにあるScrollHotkeysを有効にすると、Win+UpやWin+PageDownでフォーカスに関係なく、マウスカーソル下にあるウインドウをスクロールできるようになります。
ホットキーの定義ですが、まとめてOn/OffしたかったのでSetupのほうに置きました。

無効なウインドウ

マウスカーソル下にあるウインドウに直接WM_VSCROLL等を送っていますが、それではスクロールしてくれないウインドウもあります。
そういうものに対して、WM_MOUSEWHEELを送ることもできます。デフォルトでthunderbird.exeのウインドウにそうするようになっています。
Scroller.is_wheelがtrueを返すものにWM_MOUSEWHEELを送りますので、ほかのウインドウにもWM_MOUSEWHEELを送りたい場合はScroller.is_wheelを拡張することになります。siteinit.giraffeに下記を追加すると、firefox.exeのウインドウに対応します。

Scroller.is_wheel$$.=& `hwnd direction[
  Window.GetModule(hwnd).=~ r/firefox\.exe$/i.? [true.return]
]

WM_MOUSEWHEELを使う場合、横スクロールは出来ません。