見よう見まねで、やっとできた。
普通にアクションに入れるだけでいい。
マルチモニタといっても、デュアル限定。
ジェスチャーの認識終了後に実行 は気分的なもので、なくてもいいかもしれない。
;モニタ移動
;ジェスチャーの認識終了後に実行
if (MG_Defer()) {
;アクティブウィンドウをターゲットにする
MG_SetActiveAsTarget()
;モニタ数確認
sysget, cnt, MonitorCount
if cnt > 1
{
sysget, Pr, Monitor,1 ;座標取得
sysget, Se, Monitor,2
if (PrLeft > 0) ;左モニタを基準にする
{
sysget, Pr, Monitor,2
sysget, Se, Monitor,1
}
;最大化時は一旦戻す
WinGet,MinMax,MinMax,A
Winget,Tgt,ID,A
If MinMax
WinRestore,ahk_id %tgt%
;ウィンドウ座標取得
WingetPos,Win_x,Win_y,,,
;数字 Integer にするには、"=%"。対象は%%で括らない。
if (Win_x < PrRight and PrTop <= Win_y and Win_y < PrBottom)
{
Go_X =% SeLeft + 80
Go_Y =% SeTop + 50
}
else
{
Go_X =% PrLeft + 80
Go_Y =% PrTop + 50
}
WinMove,Ahk_id %tgt%,,Go_X,Go_Y
;再最大化
If MinMax
WinMaximize,Ahk_id %tgt%
}
}
参考サイト
http://blog.livedoor.jp/irvcidre/archives/1146866.html
0 件のコメント:
コメントを投稿