âÀ» ½±°Ô ²ô´Â ¹æ¹ý (XP/2k/NT ÀÌ»ó)

º¸Åë, âÀº Á¦¸ñ ¹Ù¸¦ Ŭ¸¯Çؼ­ ²ø ¼ö ÀÖ½À´Ï´Ù. ÀÌ ½ºÅ©¸³Æ®´Â â ¾ÈÀÇ ¾î´À ÁöÁ¡¿¡¼­µç ²ø ¼ö ÀÖµµ·Ï È®ÀåÇÕ´Ï´Ù. ÀÌ ¸ðµå¸¦ È°¼ºÈ­ÇÏ·Á¸é, CapsLock ¶Ç´Â °¡¿îµ¥ ¹öÆ°À» ´©¸£¸é¼­ Ŭ¸¯Çϸé, âÀ» »õ À§Ä¡±îÁö ²ø ¼ö ÀÖ½À´Ï´Ù.

ÀÌ ½ºÅ©¸³Æ® ³»·Á ¹Þ±â  |  ´Ù¸¥ »ùÇà ½ºÅ©¸³Æ®  |  È¨À¸·Î

; ÁÖÀÇ: ¼±ÅÃÀûÀ¸·Î °è¼Ó ´©¸£°í ÀÖÀ» ÇÊ¿ä ¾øÀÌ 
; ¸¶¿ì½º ¹öÆ°À» ´©¸¥ ´ÙÀ½¿¡ Capslock ¶Ç´Â °¡¿îµ¥ ¹öÆ°À» ¶¼µµ µË´Ï´Ù
; ÀÌ ½ºÅ©¸³Æ®´Â v1.0.25+¸¦ ¿ä±¸ÇÕ´Ï´Ù..

~MButton & LButton::
CapsLock & LButton::
CoordMode, Mouse  ; È­¸é/Àý´ë ÁÂÇ¥¸¦ º¯È¯ÇÕ´Ï´Ù.
MouseGetPos, EWD_MouseStartX, EWD_MouseStartY, EWD_MouseWin
WinGetPos, EWD_OriginalPosX, EWD_OriginalPosY,,, ahk_id %EWD_MouseWin%
WinGet, EWD_WinState, MinMax, ahk_id %EWD_MouseWin% 
if EWD_WinState = 0  ; âÀÌ ÃÖ´ëÈ­ µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì¿¡¸¸,
    SetTimer, EWD_WatchMouse, 10 ; »ç¿ëÀÚ°¡ ¸¶¿ì½º¸¦ ²ô´Â °ÍÀ» ÃßÀûÇÕ´Ï´Ù.
return

EWD_WatchMouse:
GetKeyState, EWD_LButtonState, LButton, P
if EWD_LButtonState = U  ; ¹öÆ°ÀÌ ¶¼¾îÁ³½À´Ï´Ù. ±×·¡¼­ ²ø±â°¡ ¿Ï·á µÇ¾ú½À´Ï´Ù.
{
    SetTimer, EWD_WatchMouse, off
    return
}
GetKeyState, EWD_EscapeState, Escape, P
if EWD_EscapeState = D  ; EscapeÀÌ ´­·È½À´Ï´Ù. ±×·¡¼­ ²ø±â°¡ Ãë¼Ò µÇ¾ú½À´Ï´Ù.
{
    SetTimer, EWD_WatchMouse, off
    WinMove, ahk_id %EWD_MouseWin%,, %EWD_OriginalPosX%, %EWD_OriginalPosY%
    return
}
; ±×·¸Áö ¾ÊÀ¸¸é, âÀ» ´Ù½Ã ¹èÄ¡ÇØ
; »ç¿ëÀÚ°¡ ¸¶¿ì½º¸¦ ²ø¾î º¯°æµÈ ¸¶¿ì½º ÁÂÇ¥¸¦ ¹Ý¿µÇÕ´Ï´Ù:
CoordMode, Mouse
MouseGetPos, EWD_MouseX, EWD_MouseY
WinGetPos, EWD_WinX, EWD_WinY,,, ahk_id %EWD_MouseWin%
SetWinDelay, -1   ; ¾Æ·¡¸¦ ´õ ºÎµå·´°Ô ´õ ºü¸£°Ô À̵¿½Ãŵ´Ï´Ù.
WinMove, ahk_id %EWD_MouseWin%,, EWD_WinX + EWD_MouseX - EWD_MouseStartX, EWD_WinY + EWD_MouseY - EWD_MouseStartY
EWD_MouseStartX := EWD_MouseX  ; ÀÌ ¼­ºê·çƾ¿¡ ´ëÇÑ ´ÙÀ½ ŸÀÌ¸Ó È£ÃâÀ» ¾÷µ¥ÀÌÆ® ÇÕ´Ï´Ù.
EWD_MouseStartY := EWD_MouseY
return