Skrypt przenoszący program na 2 monitor w pracy w trybie wielomonitorowym (Extend) za pomocą skrótu klawiszowego

Posted: 14 stycznia 2010 in Computers and Internet

Praca na wielu monitorach – niby banalne bo wystarczy ustawić monitor obok (lub nawet nad/pod), podłączyć i włączyć tryb Extend. Działa!

Ale czy naprawdę efektywnie i czy nie da się tego usprawnić. Pierwszy problem, który się pojawia to jak przenieść szybko aplikacje na 2 ekran? W Windows 7 można to zrobić skrótem klawiszowym Windows+Strzałki. Choć jak pokaże poniżej można to zrobić także w starszych systemach oraz szybciej!

Z pomocą przyjdzie skrypt, który w komentarzach do jednego wpisu na stronie Jon Aquino’s Mental Garden. Zmieniłem w nim skrót klawiszowy na Windows+k dlatego że był ustawiony na Windows+1, a jak wiadomo jest to jeden z użyteczniejszych skrótów Windows 7 🙂

; Przełącz Monitor (Windows+k) #k::
WinGetActiveStats, Title, Width, Height, X, Y

SysGet, MonCount, MonitorCount
SysGet, Mon1, Monitor

IfGreater, MonCount, 1
SysGet, Mon2, Monitor, 2
Else
SysGet, Mon2, Monitor

WinGet, Max, MinMax, %Title%
if(Max)
WinRestore, %Title%

MiddleX := (X + (Width/2))
MiddleY := (Y + (Height/2))

Transform, MidX, Round, MiddleX
Transform, MidY, Round, MiddleY

if(((MidX >= Mon2Left) and (MidX <= Mon2Right)) and ((MidY >= Mon2Top) and (MidY <= Mon2Bottom)))
{
; MsgBox Mon2
; Active window is inside monitor 2
RelX := X – Mon2Left
RelY := Y – Mon2Top
EndX := Mon1Left + RelX
EndY := Mon1Top + RelY
}
else
{
; MsgBox Mon1
; Active window is inside monitor 1
RelX := X – Mon1Left
RelY := Y – Mon1Top
EndX := Mon2Left + RelX
EndY := Mon2Top + RelY
}

WinMove, %Title%, ,%EndX%, %EndY%

IfGreater, Max, 0)
{
WinMaximize, %Title%
}
IfLess, Max, 0
{
WinMinimize, %Title%
}

Wszystko co należy zrobić:

Jeśli ktoś nie chce instalować AutoHotKey to poniżej link do wersji skompilowanej. Wystarczy pobrać i uruchomić EXE:

Move program to next monitor.exe 

Miłego przełączania. Niebawem kolejne Tips and Tricks dotyczące pracy na 2 ekranach. Jeśli macie jakieś best practice w temacie dual monitor to podzielcie się w komentarzach.

ENG: Script: move program to 2 monitor in dual monitor mode

Reklamy
Komentarze
  1. Rafał pisze:

    Świetne! Tego mi było potrzeba na XP! Czekam na kolejne "kąski".

  2. Robert pisze:

    Niestety za duzo nie ma "kaskow" nawet w windows 7. W weekend opisze program ktory jest naprawde sporym kaskiem 🙂

  3. Krystian pisze:

    Możesz jeszcze raz wrzucić "exe"? Niestety otrzymuję "404 — Nie odnaleziono pliku lub katalogu." 😉

Skomentuj

Wprowadź swoje dane lub kliknij jedną z tych ikon, aby się zalogować:

Logo WordPress.com

Komentujesz korzystając z konta WordPress.com. Wyloguj / Zmień )

Zdjęcie z Twittera

Komentujesz korzystając z konta Twitter. Wyloguj / Zmień )

Zdjęcie na Facebooku

Komentujesz korzystając z konta Facebook. Wyloguj / Zmień )

Zdjęcie na Google+

Komentujesz korzystając z konta Google+. Wyloguj / Zmień )

Connecting to %s