팁 & 테크
오토핫키로 만들어서 참 유용하게 쓰고 있었는데, 비슷한 프로그램들이 아래 올라왔군요.
오토핫키 쓰시는 분들 참고하시라고 소스와 함께 실행파일 첨부합니다.
제껀 Ctrl+숫자키패드 조합이구요, 소스가 있으니 입맛대로 고쳐 쓰실 수 있습니다.
창간 전환과 최대화/복원 기능은 울트라몬의 핫키를 쓰고 있어서 뺐습니다.
Gutter = 4
;##################################################################################################
GetMonArea(ByRef Left, ByRef Right, ByRef Top, ByRef Bottom)
{
WinGetPos, WindowLeft, , WindowWidth, , A
WindowCenter := WindowLeft + WindowWidth/2
AreaFound = 0
SysGet, MonitorCount, MonitorCount
Loop %MonitorCount%
{
SysGet, Monitor, MonitorWorkArea, %A_Index%
if WindowCenter between %MonitorLeft% and %MonitorRight%
{
AreaFound = 1
Left := MonitorLeft
Right := MonitorRight
Top := MonitorTop
Bottom := MonitorBottom
break
}
}
if AreaFound != 1
{
SysGet, Monitor, MonitorWorkArea, 1 ; primary monitor
Left := MonitorLeft
Right := MonitorRight
Top := MonitorTop
Bottom := MonitorBottom
}
}
;##################################################################################################
; Bottom Left
^NumPad1::
GetMonArea(AreaLeft, AreaRight, AreaTop, AreaBottom)
WinGetActiveTitle, Title
WinRestore, %Title%
WinMove, %Title%, , AreaLeft-Gutter, (AreaTop+AreaBottom)/2-Gutter, (AreaRight-AreaLeft)/2+Gutter*2, (AreaBottom-AreaTop)/2+Gutter*2
return
; Bottom
^NumPad2::
GetMonArea(AreaLeft, AreaRight, AreaTop, AreaBottom)
WinGetActiveTitle, Title
WinRestore, %Title%
WinMove, %Title%, , AreaLeft-Gutter, (AreaTop+AreaBottom)/2-Gutter, AreaRight-AreaLeft+Gutter*2, (AreaBottom-AreaTop)/2+Gutter*2
return
; Bottom Right
^NumPad3::
GetMonArea(AreaLeft, AreaRight, AreaTop, AreaBottom)
WinGetActiveTitle, Title
WinRestore, %Title%
WinMove, %Title%, , (AreaRight+AreaLeft)/2-Gutter, (AreaTop+AreaBottom)/2-Gutter, (AreaRight-AreaLeft)/2+Gutter*2, (AreaBottom-AreaTop)/2+Gutter*2
return
; Left
^NumPad4::
GetMonArea(AreaLeft, AreaRight, AreaTop, AreaBottom)
WinGetActiveTitle, Title
WinRestore, %Title%
WinMove, %Title%, , AreaLeft-Gutter, AreaTop-Gutter, (AreaRight-AreaLeft)/2+Gutter*2, AreaBottom-AreaTop+Gutter*2
return
; Center
^NumPad5::
GetMonArea(AreaLeft, AreaRight, AreaTop, AreaBottom)
WinGetActiveTitle, Title
WinRestore, %Title%
WinMove, %Title%, , AreaLeft+(AreaRight-AreaLeft)/16, AreaTop+(AreaBottom-AreaTop)/16, (AreaRight-AreaLeft)-(AreaRight-AreaLeft)/8, (AreaBottom-AreaTop)-(AreaBottom-AreaTop)/8
return
; Right
^NumPad6::
GetMonArea(AreaLeft, AreaRight, AreaTop, AreaBottom)
WinGetActiveTitle, Title
WinRestore, %Title%
WinMove, %Title%, , (AreaRight+AreaLeft)/2-Gutter, AreaTop-Gutter, (AreaRight-AreaLeft)/2+Gutter*2, AreaBottom-AreaTop+Gutter*2
return
; Top Left
^NumPad7::
GetMonArea(AreaLeft, AreaRight, AreaTop, AreaBottom)
WinGetActiveTitle, Title
WinRestore, %Title%
WinMove, %Title%, , AreaLeft-Gutter, AreaTop-Gutter, (AreaRight-AreaLeft)/2+Gutter*2, (AreaBottom-AreaTop)/2+Gutter*2
return
; Top
^NumPad8::
GetMonArea(AreaLeft, AreaRight, AreaTop, AreaBottom)
WinGetActiveTitle, Title
WinRestore, %Title%
WinMove, %Title%, , AreaLeft-Gutter, AreaTop-Gutter, AreaRight-AreaLeft+Gutter*2, (AreaBottom-AreaTop)/2+Gutter*2
return
; Top Right
^NumPad9::
GetMonArea(AreaLeft, AreaRight, AreaTop, AreaBottom)
WinGetActiveTitle, Title
WinRestore, %Title%
WinMove, %Title%, , (AreaRight+AreaLeft)/2-Gutter, AreaTop-Gutter, (AreaRight-AreaLeft)/2+Gutter*2, (AreaBottom-AreaTop)/2+Gutter*2
return
* Sad Nova™에 의해 카테고리가 수정되었습니다. (2009/5/22 12:58)
오랜만입니다. ^^