AutoHotKey_Lで、Stellarisのカーソル移動による自動スクロールを防止した。

 Stellarisやってて、ウィンドウ端にカーソル移動するとスクロールする仕様がウザったいのだが、設定でOFFにできないっぽいので、力業で封じてみた。

 まあ単に、監視して、カーソルがウィンドウ端に行ったらウィンドウ非アクティブにするだけなんで、ちょっと書き換えれば他でも使える。フルスクリーンとか知らぬ。

;------------------------------------------------------------
; Stellaris
;------------------------------------------------------------
#IfWinActive Stellaris ahk_class SDL_app ahk_exe stellaris.exe

F12::  ; マウスカーソルでスクロールしないようにする
  StlrsMargin := 2
  
  StellarisHwnd := WinExist()
  VarSetCapacity(CR, 16)
  DllCall("GetClientRect", Ptr, StellarisHwnd, Ptr, &CR)
  CW := NumGet(CR, 8, "Int")
  CH := NumGet(CR, 12, "Int")
  
  WinGetPos, , , WW, WH
  BW := (WW - CW) // 2
  
  StlrsX := BW + StlrsMargin
  StlrsY := WH - CH - BW + StlrsMargin
  StlrsX2 := BW + CW - StlrsMargin
  StlrsY2 := WH - BW - StlrsMargin
  
  SetTimer, StlrsChk, 250
return

StlrsChk:
  IfWinNotExist, ahk_id %StellarisHwnd%
  {
    SetTimer, StlrsChk, Off
    return
  }
  IfWinNotActive
    WinWaitActive
  
  MouseGetPos, MX, MY
  if (StlrsX >= MX) || (StlrsY >= MY) || (StlrsX2 < MX) || (StlrsY2 < MY)
    WinActivate, Program Manager ahk_class Progman ahk_exe explorer.exe
return

 AHKってクライアント領域の取得できないんか……。


[PR]
by LordNoesis | 2018-02-21 23:32 | テクノロジ | Trackback | Comments(0)
トラックバックURL : https://poimono.exblog.jp/tb/29327394
トラックバックする(会員専用) [ヘルプ]
※このブログはトラックバック承認制を適用しています。 ブログの持ち主が承認するまでトラックバックは表示されません。
名前
URL
画像認証
削除用パスワード

※このブログはコメント承認制を適用しています。ブログの持ち主が承認するまでコメントは表示されません。

ブログトップ | ファンになる