ÀÌ ½ºÅ©¸³Æ®´Â ÈξÀ ´õ ½±°Ô âÀ» À̵¿Çϰųª Å©±â¸¦ º¯°æÇÒ ¼ö ÀÖµµ·Ï ¸¸µé¾î ÁÝ´Ï´Ù: 1) â ¾È ¾Æ¹«µ¥³ª ALT Å°¿Í LEFT-Ŭ¸¯À» ´©¸£°í âÀ» »õ À§Ä¡·Î ²ø ¼ö ÀÖ½À´Ï´Ù; 2) â ¾È ¾Æ¹« °÷À̳ª ALT¿Í RIGHT-Ŭ¸¯À¸·Î ²ø¾î¼ ½±°Ô Å©±â¸¦ º¯°æÇÒ ¼ö ÀÖ½À´Ï´Ù; 3) ALT¸¦ µÎ ¹ø, ±×·¯³ª µÎ ¹ø°¸¦ ³õ±â Àü¿¡, ¿ÞŬ¸¯ÇÏ¸é ¸¶¿ì½º Ä¿¼ ¾Æ·¡ÀÇ Ã¢À» ÃÖ¼ÒÈÇÏ°í ¿ìŬ¸¯Çϰųª ¶Ç´Â °¡¿îµ¥ Ŭ¸¯Çϸé âÀ» ´ÝÀ» ¼ö ÀÖ½À´Ï´Ù.
ÀÌ ½ºÅ©¸³Æ® ³»·Á¹Þ±â | ´Ù¸¥ »ùÇà ½ºÅ©¸³Æ® | ȨÀ¸·Î
; ÀÌ ½ºÅ©¸³Æ®´Â Æ÷·³¿¡ ÀÖ´Â ¸¹Àº ºÐµé·ÎºÎÅÍ ; ¿µ°¨À» ¾ò¾î ÀÛ¼ºµÇ¾ú½À´Ï´Ù. ÈǸ¢ÇÑ ÀÛÇ°À» °ø°³ÇØ ÁֽŠck, thinkstorm, Chris, ; ±×¸®°í aurelian¿¡°Ô °¨»çÀÇ ¸»¾¸À» ÀüÇÕ´Ï´Ù. ; º¯°æ ÀÌ·Â: ; November 07, 2006: !RButton¿¡¼ Å©±â Á¶Àý ÄÚµå ÃÖÀûÈ, bluedawn Á¦°ø. ; February 05, 2006: ´õºí-alt (~Alt ÇÖÅ°)°¡ ÃֽŠ¹öÀüÀÇ AHK¿¡¼ ÀÛµ¿Çϵµ·Ï ¼öÁ¤. ; ´õºíD-Alt ¼ö½ÄÅ°´Â ¾ËÆ® Å°¸¦ µÎ ¹ø ´©¸£¸é È°¼ºÈ µË´Ï´Ù. ; ´õºí Ŭ¸¯°ú ¸¹ÀÌ ´à¾Ò½À´Ï´Ù. ; µÎ ¹ø° ¾ËÆ® Å°´Â Ŭ¸¯ÇÒ ¶§±îÁö ´©¸£°í °è½Ê½Ã¿À. ; ; ´ÜÃàÅ°: ; Alt + Left Button : ²ø¾î âÀ» À̵¿. ; Alt + Right Button : ²ø¾î â Å©±â¸¦ º¯°æ. ; Double-Alt + Left Button : â ÃÖ¼ÒÈ. ; Double-Alt + Right Button : â ÃÖ´ëÈ/º¹±¸. ; Double-Alt + Middle Button : ⠴ݱâ. ; ; ¼±ÅÃÀûÀ¸·Î ù ¹ø° Ŭ¸¯ ´ÙÀ½¿¡ ¾ËÆ® Å°¸¦ ³õÀ» ¼ö ÀÖ½À´Ï´Ù. ; °è¼Ó ´©¸£°í ÀÖÀ» ÇÊ¿ä°¡ ¾ø½À´Ï´Ù. If (A_AhkVersion < "1.0.39.00") { MsgBox,20,,ÀÌ ½ºÅ©¸³Æ®´Â ÇöÀçÀÇ ¿ÀÅäÇÖÅ° ¹öÀü¿¡¼ Á¦´ë·Î ÀÛµ¿ÇÏÁö ¾ÊÀ» °¡´É¼ºÀÌ ÀÖ½À´Ï´Ù. °è¼ÓÇÒ±î¿ä? IfMsgBox,No ExitApp } ; ´ÙÀ½Àº ÇÊÀÚÀÇ ½Ã½ºÅÛ¿¡¼ °¡Àå ºÎµå·´°Ô ÀÛµ¿ÇÏ´Â ¼³Á¤ÀÔ´Ï´Ù ; ¿©·¯ºÐÀÇ ºñµð¿À Ä«µå¿Í ½ÃÇÇÀ¯ ¼º´É¿¡ µû¶ó ; ÀÌ °ªÀ» ¿Ã¸®°Å³ª ³»¸®¸é µË´Ï´Ù. SetWinDelay,2 CoordMode,Mouse return !LButton:: If DoubleAlt { MouseGetPos,,,KDE_id ; ÀÌ ¸Þ½ÃÁö´Â °ÅÀÇ WinMinimize¿Í µ¿µîÇÏÁö¸¸, ; PSPadÀÇ ¹ö±×¸¦ ÇÇÇÕ´Ï´Ù. PostMessage,0x112,0xf020,,,ahk_id %KDE_id% DoubleAlt := false return } ; ÃÖÃÊÀÇ ¸¶¿ì½º À§Ä¡¿Í â ¾ÆÀ̵𸦠¾ò½À´Ï´Ù. ; âÀÌ ÃÖ´ëȵǾî ÀÖ´Ù¸é Ãë¼ÒÇÕ´Ï´Ù. MouseGetPos,KDE_X1,KDE_Y1,KDE_id WinGet,KDE_Win,MinMax,ahk_id %KDE_id% If KDE_Win return ; ÃÖÃÊÀÇ Ã¢ À§Ä¡¸¦ ¾ò½À´Ï´Ù. WinGetPos,KDE_WinX1,KDE_WinY1,,,ahk_id %KDE_id% Loop { GetKeyState,KDE_Button,LButton,P ; ¹öÆ°À» ³õ¾Ò´Ù¸é ºüÁ® ³ª°©´Ï´Ù. If KDE_Button = U break MouseGetPos,KDE_X2,KDE_Y2 ; ÇöÀç ¸¶¿ì½º À§Ä¡¸¦ ¾ò½À´Ï´Ù. KDE_X2 -= KDE_X1 ; ÃÖÃÊ ¸¶¿ì½º À§Ä¡·ÎºÎÅÍ »ó´ë°Å¸®(offset)¸¦ ¾ò½À´Ï´Ù. KDE_Y2 -= KDE_Y1 KDE_WinX2 := (KDE_WinX1 + KDE_X2) ; ÀÌ »ó´ë°Å¸®¸¦ âÀ§ À§Ä¡¿¡ Àû¿ëÇÕ´Ï´Ù. KDE_WinY2 := (KDE_WinY1 + KDE_Y2) WinMove,ahk_id %KDE_id%,,%KDE_WinX2%,%KDE_WinY2% ; âÀ» »õ À§Ä¡·Î À̵¿½Ãŵ´Ï´Ù. } return !RButton:: If DoubleAlt { MouseGetPos,,,KDE_id ; ÃÖ´ëÈ »óÅÂ¿Í º¹±¸ »óÅ »çÀ̸¦ Åä±ÛÇÕ´Ï´Ù. WinGet,KDE_Win,MinMax,ahk_id %KDE_id% If KDE_Win WinRestore,ahk_id %KDE_id% Else WinMaximize,ahk_id %KDE_id% DoubleAlt := false return } ; ÃÖÃÊ ¸¶¿ì½º À§Ä¡¿Í â ¾ÆÀ̵𸦠¾ò½À´Ï´Ù. ; âÀÌ ÃÖ´ëÈ µÇ¾î ÀÖ´Ù¸é Ãë¼ÒÇÕ´Ï´Ù. MouseGetPos,KDE_X1,KDE_Y1,KDE_id WinGet,KDE_Win,MinMax,ahk_id %KDE_id% If KDE_Win return ; ÃÖÃÊ Ã¢ÀÇ À§Ä¡¿Í Å©±â¸¦ ¾ò½À´Ï´Ù. WinGetPos,KDE_WinX1,KDE_WinY1,KDE_WinW,KDE_WinH,ahk_id %KDE_id% ; ÇöÀç ¸¶¿ì½º°¡ Àִ â ±¸¿ªÀ» Á¤ÀÇÇÕ´Ï´Ù. ; ³× ±¸¿ªÀº Á»ó, ¿ì»ó, ÁÂÇÏ, ¿ìÇÏÀÔ´Ï´Ù. If (KDE_X1 < KDE_WinX1 + KDE_WinW / 2) KDE_WinLeft := 1 Else KDE_WinLeft := -1 If (KDE_Y1 < KDE_WinY1 + KDE_WinH / 2) KDE_WinUp := 1 Else KDE_WinUp := -1 Loop { GetKeyState,KDE_Button,RButton,P ; ¹öÆ°ÀÌ ´·Á ÀÖÀ¸¸é ºüÁ® ³ª°©´Ï´Ù. If KDE_Button = U break MouseGetPos,KDE_X2,KDE_Y2 ; ÇöÀç ¸¶¿ì½º À§Ä¡¸¦ ¾ò½À´Ï´Ù. ; ÇöÀç âÀÇ À§Ä¡¿Í Å©±â¸¦ ¾ò½À´Ï´Ù. WinGetPos,KDE_WinX1,KDE_WinY1,KDE_WinW,KDE_WinH,ahk_id %KDE_id% KDE_X2 -= KDE_X1 ; ÃÖÃÊ ¸¶¿ì½º À§Ä¡·ÎºÎÅÍ »ó´ë°Å¸®(offset)¸¦ ¾ò½À´Ï´Ù. KDE_Y2 -= KDE_Y1 ; ÀÌÁ¦, Á¤ÀÇµÈ ±¸¿ª¿¡ ¸Â°Ô ÇàÀ§ÇÕ´Ï´Ù. WinMove,ahk_id %KDE_id%,, KDE_WinX1 + (KDE_WinLeft+1)/2*KDE_X2 ; Å©±â º¯°æµÈ âÀÇ X , KDE_WinY1 + (KDE_WinUp+1)/2*KDE_Y2 ; Å©±â º¯°æµÈ âÀÇ Y , KDE_WinW - KDE_WinLeft *KDE_X2 ; Å©±â º¯°æµÈ âÀÇ W , KDE_WinH - KDE_WinUp *KDE_Y2 ; Å©±â º¯°æµÈ âÀÇ H KDE_X1 := (KDE_X2 + KDE_X1) ; ´ÙÀ½ ¹Ýº¹À» À§ÇØ ÃÖÃÊ À§Ä¡·Î ¸®¼ÂÇÕ´Ï´Ù. KDE_Y1 := (KDE_Y2 + KDE_Y1) } return ; "Alt + MButton"ÀÌ ´õ °£´ÜÇÒ ¼ö ÀÖÁö¸¸, ; ÇÊÀÚ´Â ´ÙÀ½°ú °°ÀÌ ¿¬»ê¿¡ ; º¸¾ÈÀ» Ãß°¡ÇÏ´Â °ÍÀ» ÁÁ¾ÆÇÕ´Ï´Ù. !MButton:: If DoubleAlt { MouseGetPos,,,KDE_id WinClose,ahk_id %KDE_id% DoubleAlt := false return } return ; ´ÙÀ½Àº ¾ËÆ® Å°ÀÇ "´õºí-Ŭ¸¯"À» ŽÁöÇÕ´Ï´Ù. ~Alt:: DoubleAlt := A_PriorHotKey = "~Alt" AND A_TimeSincePriorHotkey < 400 Sleep 0 KeyWait Alt ; ÀÌ·¸°Ô Çϸé Å°º¸µåÀÇ ÀÚµ¿ ¹Ýº¹ Ư¡ ¶§¹®¿¡ ¹æÇØ ¹ÞÁö ¾Ê½À´Ï´Ù. return