AutoHotKeyで、MoniMoniを少し便利に。

 モニタの表示内容をウィンドウで確認できる、MoniMoniというソフトがある。例えば、セカンダリモニタの内容を表示したMoniMoniをプライマリモニタに配置しておけば、本物のセカンダリモニタを確認する必要がなくなる(その逆も可)。サブモニタの電源がOFFだったり、視認できない配置だったり、グラフィックチップはマルチモニタ対応だけどモニタがない環境などで活躍するんじゃないかなぁ。

 で。ワシの使い方だと、操作する時だけセカンダリモニタを確認できればよかったので、カーソルをセカンダリモニタに移動した時だけMoniMoniを表示するAHKスクリプト書いた。

;--------------------------------------------------------------------------------------
; MoniMoni
;--------------------------------------------------------------------------------------
#IfWinActive MoniMoni ahk_class #32770

!2::
  WinGetPos, , , WW, WH, MoniMoni ahk_class #32770
  ControlGetPos, , , CW, CH, Magnifier1, MoniMoni ahk_class #32770
  SysGet, Mnt2, Monitor, 2
  
  MoveW := Mnt2Right - Mnt2Left + WW - CW
  MoveH := Mnt2Bottom - Mnt2Top + WH - CH
  MoveX := A_ScreenWidth / 2 - MoveW / 2
  MoveY := A_ScreenHeight / 2 - MoveH / 2
  WinMove, MoniMoni ahk_class #32770, , MoveX, MoveY, MoveW, MoveH
  ControlClick, Button2, Operation ahk_class #32770
  
  SetTimer, MoniMoniActivate, 500
return

MoniMoniActivate:
  IfWinNotExist, MoniMoni ahk_class #32770
  {
    SetTimer, MoniMoniActivate, Off
    return
  }
  CoordMode, Mouse
  MouseGetPos, MX, MY
  if (0 <= MX) && (MX < A_ScreenWidth) && (0 <= MY) && (MY < A_ScreenHeight) {  ; Mnt1
    if MMASW {
      MMASW := 0
      WinMinimize
    }
  } else {
    if !MMASW {  ; Mnt2
      MMASW := 1
      WinActivate
    }
  }
return

 MoniMoniがアクティブの状態でAlt+2を押すと、セカンダリモニタの解像度に合わせてMoniMoniをリサイズし、カーソルの監視を始める。以後MoniMoniを終了するまで、セカンダリモニタに移動した時はMoniMoniをアクティブにし、プライマリモニタに移動した時はMoniMoniを最小化する。

OrangeMaker > MoniMoni


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

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

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