使用AutoHotkey,我如何綁定一個熱鍵來跨多個顯示器拉伸/最大化/跨越一個窗口,以便它覆蓋兩個顯示器?如何最大化多個顯示器的窗口?
現在,我必須通過用鼠標手動拉伸窗戶來做到這一點。我知道有這樣的專用工具,但我已經運行了一個AutoHotkey腳本,並且會限制我繼續運行的工具的數量。
使用AutoHotkey,我如何綁定一個熱鍵來跨多個顯示器拉伸/最大化/跨越一個窗口,以便它覆蓋兩個顯示器?如何最大化多個顯示器的窗口?
現在,我必須通過用鼠標手動拉伸窗戶來做到這一點。我知道有這樣的專用工具,但我已經運行了一個AutoHotkey腳本,並且會限制我繼續運行的工具的數量。
下面是我如何做到的,將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
我知道這個線程是有點老了,但是這是迄今爲止最好的「免費」的方式來跨越多個顯示器我已經能夠找到最大化。我現在在Windows 8和7 64位系統上使用它,這個宏可能會成爲我的默認工具箱的一部分:)謝謝堆。
而我發佈的原因是,我稍微修改了它以將窗口恢復爲單個顯示器大小,因爲一旦UP宏運行,您將不得不手動將窗口拖回單個子窗口 - 如果需要,監視器大小。我已經在shift + windows + down組合框中添加了這個功能。它可能會更好地記住Windows的舊位置,但我不是一個autohotkey專家,並且這適用於我的目的......(您也可以將「A_ScreenWidth,A_ScreenHeight」更改爲800,600來表示更小的工作與,並調整0,0中心屏幕,說300,200)
使用autohotkey EXE編譯器,你有一個可移植的EXE在另一臺PC上使用。 (即我的辦公室的電腦將運行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
我有兩個顯示器在工作和家庭上的我的任務欄所以我需要調整這個腳本以確保它正確地移動了窗口。
+#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
這些神奇的76,77,78,79值是什麼? – kevinf 2017-09-01 17:28:47
要使用Windows VNC客戶端進行此操作,請設置 - >輸入並取消選中「將特殊鍵直接傳遞給VNC服務器」 – stevesliva 2017-09-18 15:34:03