2012-03-22 12 views
11

AutoHotkeyを使用すると、ホットキーをバインドして、複数のモニタ間でウィンドウをストレッチ/最大化/スパンして両方のディスプレイをカバーするにはどうしたらいいですか?複数のモニタ間でウィンドウを最大化するにはどうすればよいですか?

今、マウスでウィンドウを手動で伸ばして、これを行う必要があります。私はこれを行う専用のツールがあることを知っていますが、私はすでにAutoHotkeyスクリプトを実行しており、実行しているツールの数を制限しています。

答えて

17

これはどのようにして、すべてのディスプレイでウィンドウを最大化するようにShift + Windows + Upの組み合わせをマッピングしたかです。これは、Windows 7のWindows + Upホットキーを補完し、選択したウィンドウを最大化します。

+#Up:: 
    WinGetActiveTitle, Title 
    WinRestore, %Title% 
    SysGet, X1, 76 
    SysGet, Y1, 77 
    SysGet, Width, 78 
    SysGet, Height, 79 
    WinMove, %Title%,, X1, Y1, Width, Height 
return 
+1

これらの魔法は何ですか?76,77,78,79の値は? – kevinf

+0

これをWindowsのVNCクライアントで使用するには、[設定] - > [入力]を選択し、[特殊キーを直接VNCサーバーに渡す] – stevesliva

5

私はこのスレッドは少し古いですけど、これははるかに私が見つけることができました、複数のモニタにまたがっ最大限にまたがるための最良の「自由な」方法です。私は今、両方のWindows 8と7の64ビットシステムでこのマクロを使用し、このマクロはおそらく私のデフォルトのツールキットの一部になります:)おかげさまでヒープ。

私が掲示している理由は、一度UPマクロが実行されると、ウィンドウを単一のサブに戻すように手動で戻す必要があるため、ウィンドウを単一のモニターサイズに戻すために少し修正しました。必要に応じて、モニタサイズ。私はshift + windows + downのコンボを追加しました。おそらくWindowsの古いポジションを思い出すことができますが、私はオートホッケーの専門家ではありません。これは私の目的のために働きます...(さらに、A_ScreenWidth、A_ScreenHeightを変更して、画面を中央に合わせて0,0を微調整して、たとえば300,200)

autohotkey exeコンパイラを使用すると、別のPCで使用するための移植可能なexeファイルがあります。 (つまり、私のオフィスのコンピュータは、exeファイルの罰金を実行しますが、私は完全なプログラムをインストールするために管理者アカウントを必要としていると思います:D)

+#Up:: 
    WinGetActiveTitle, Title 
    WinRestore, %Title% 
    SysGet, X1, 76 
    SysGet, Y1, 77 
    SysGet, Width, 78 
    SysGet, Height, 79 
    WinMove, %Title%,, X1, Y1, Width, Height 
return 

+#Down:: 
    WinGetActiveTitle, Title 
    WinRestore, %Title% 
    WinMove, %Title%,, 0, 0, A_ScreenWidth, A_ScreenHeight 
return 
3

私は私のタスクバーで、職場で、家庭で2台のモニタを持っているが私はそれがウィンドウを正しく移動させるためにこのスクリプトを微調整する必要がありました。

+#Up:: 
    WinGetActiveTitle, Title 
    WinRestore, %Title% 
    SysGet, Mon1, MonitorWorkArea, 1 
    SysGet, Mon2, MonitorWorkArea, 2 
    Monitor1Width := Mon1Right - Mon1Left 
    Monitor2Width := Mon2Right - Mon2Left 
    MonitorsWidth := Monitor1Width + Monitor2Width 
    SysGet, Height, 79 
    WinMove, %Title%,, %Mon1Left%, %Mon1Top%, %MonitorsWidth%, %Mon2Bottom% 
return 

+#Down:: 
    WinGetActiveTitle, Title 
    WinRestore, %Title% 
    SysGet, Mon2, MonitorWorkArea, 1 
    Monitor1Width := Mon2Right - Mon2Left 
    WinMove, %Title%,, %Mon2Left%, %Mon2Top%, %Monitor1Width%, %Mon2Bottom% 
return 
関連する問題