2012-03-22 15 views
11

Utilizzando AutoHotkey, Come posso associare un tasto di scelta rapida per estendere/ingrandire/estendere una finestra su più monitor in modo che copra entrambi i display?Come posso ingrandire una finestra su più monitor?

In questo momento, devo farlo allungando manualmente le finestre con il mouse. So che ci sono strumenti dedicati che fanno questo, ma sto già eseguendo uno script AutoHotkey e preferisco limitare il numero di strumenti che continuo a girare.

risposta

17

Ecco come l'ho fatto, mappando la combinazione Shift + Windows + Up per massimizzare una finestra su tutti i display. Questo complimenta il tasto rapido Windows + Up di Windows 7, che massimizza la finestra selezionata.

+#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

quali sono questi valori di magia 76,77,78,79? – kevinf

+0

Per farlo funzionare con il client VNC di Windows, Impostazioni-> Inserisci e deseleziona "Passa i tasti speciali direttamente a VNC Server" – stevesliva

5

So che questo thread è un po 'vecchio, ma questo è di gran lunga il modo migliore "libero" per estendersi massimizzare su più monitor sono stato in grado di trovare. L'ho usato ora su entrambi i sistemi Windows 8 e 7 a 64 bit e questa macro diventerà probabilmente parte del mio toolkit predefinito :) Grazie mille.

E il motivo per cui sto postando, è che ho modificato leggermente per ripristinare la finestra su una singola dimensione del monitor, poiché una volta che la macro UP è in esecuzione, sarà necessario trascinare manualmente la finestra su singolo sub -Dimensioni del monitor, se lo si desidera. Ho aggiunto in una combinazione shift + windows + down per fare questo. Probabilmente si potrebbe fare meglio a ricordare la vecchia posizione di Windows, ma io non sono un esperto di autohotkey, e questo funziona per i miei scopi ... (potresti anche cambiare "A_ScreenWidth, A_ScreenHeight" per dire 800, 600 per qualcosa di più piccolo da lavorare con, e modificare lo 0,0 per centrare lo schermo, diciamo 300,200)

Utilizzare il compilatore exe autohotkey e si dispone di un exe portatile da utilizzare su un altro pc. (Vale a dire il mio computer in ufficio eseguirà la multa exe, ma avrei bisogno l'account admin per installare il programma completo: 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

Ho due monitor al lavoro che a casa con la mia barra delle applicazioni sul lasciato così ho bisogno di modificare questo script per assicurarsi che abbia spostato correttamente la finestra.

+#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 
Problemi correlati