ÁöÁ¤µÈ âÀÇ À¯ÀÏÇÑ ID, ÇÁ·Î¼¼½º ID, ÇÁ·Î¼¼½º À̸§, ¶Ç´Â ±×ÀÇ ÄÜÆ®·Ñ ¸ñ·ÏÀ» ¿¶÷ÇÕ´Ï´Ù. ¶ÇÇÑ ÁöÁ¤µÈ ±âÁØ¿¡ ºÎÇÕÇÏ´Â ¸ðµç âÀÇ ¸ñ·ÏÀ» ¿¶÷ÇÕ´Ï´Ù.
WinGet, OutputVar [, Cmd, WinTitle, WinText, ExcludeTitle, ExcludeText]
CmdÀÇ °á°ú¸¦ ÀúÀåÇÒ º¯¼öÀÇ À̸§.
¸ñÇ¥ âÀ» ½Äº°Çϴ â Á¦¸ñ ¶Ç´Â ±âŸ ±âÁØ. WinTitle ÂüÁ¶.
Á¸ÀçÇϸé, ÀÌ ¸Å°³º¯¼ö´Â ¸ñÇ¥ â ÅؽºÆ®ÀÇ ºÎ¹®ÀÚ¿ÀÔ´Ï´Ù (Window Spy À¯Æ¿¸®Æ¼¿¡ ³ëÃâ). ¼ûÀº ÅؽºÆ®´Â DetectHiddenText°¡ ÄÑÁ® ÀÖÀ¸¸é(ON) ŽÁöµË´Ï´Ù.
Á¦¸ñ¿¡ ÀÌ °ªÀÌ Àִ âÀº Á¦¿ÜÇÕ´Ï´Ù.
ÅؽºÆ®¿¡ ÀÌ °ªÀÌ Àִ âÀº Á¦¿ÜÇÕ´Ï´Ù.
Cmd´Â ¼öÇàÇÒ ¿¬»êÀÔ´Ï´Ù. ºñ¾î ÀÖÀ¸¸é ID°¡ ±âº»°ªÀÔ´Ï´Ù. ´ÙÀ½ ´Ü¾î Áß Çϳª°¡ µÉ ¼ö ÀÖ½À´Ï´Ù:
ID: âÀÇ À¯ÀÏ ID ¹øÈ£ (HWND/ÇÚµé)À» ¿¶÷ÇÕ´Ï´Ù. ºÎÇÕÇϴ âÀÌ ¾øÀ¸¸é, OutputVar´Â ºñ¿öÁý´Ï´Ù. ÇÔ¼ö WinExist()¿Í WinActive()µµ âÀÇ ID¸¦ ¿¶÷ÇÏ´Â µ¥ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù; ¿¹¸¦ µé¾î, WinExist("A")
´Â È°¼º âÀÇ ID¸¦ ¾ò´Â °¡Àå ºü¸¥ ¹æ¹ýÀÔ´Ï´Ù. ÄÜÆ®·ÑÀÇ HWND¸¦ ¹ß°ßÇÏ·Á¸é (Post/SendMessage ¶Ç´Â DllCall¿¡ »ç¿ëÇÒ ¸ñÀûÀ¸·Î), ControlGet Hwnd ¶Ç´Â MouseGetPos¸¦ »ç¿ëÇϽʽÿÀ.
IDLast: À§¿Í µ¿ÀÏÇÏÁö¸¸ ºÎÇÕÇϴ âÀÌ ¿©·µÀÌ¸é °¡Àå ¸¶Áö¸·/ÃÖÇÏÀ§ âÀÇ ID¸¦ ¿¶÷ÇÕ´Ï´Ù. ¿ÀÁ÷ Çϳª¸¸ ÀÏÄ¡Çϸé, ID¿Í µ¿ÀÏÇÏ°Ô ¼öÇàÇÕ´Ï´Ù. ÀÌ °³³äÀº WinActivateBottomÀÌ »ç¿ëÇÏ´Â °³³ä°ú ºñ½ÁÇÕ´Ï´Ù.
PID: âÀÇ ÇÁ·Î¼¼½º ID (PID)¸¦ ¿¶÷ÇÕ´Ï´Ù.
ProcessName: âÀ» ¼ÒÀ¯ÇÑ ÇÁ·Î¼¼½ºÀÇ À̸§À» ¿¶÷ÇÕ´Ï´Ù (¿¹, notepad.exe). ºÎÇÕÇϴ âÀÌ ¾øÀ¸¸é, OutputVar´Â ºñ¿öÁý´Ï´Ù.
ProcessPath [v1.1.01+]: ProcessName°ú ºñ½ÁÇÏÁö¸¸, ´ÜÁö À̸§ÀÌ ¾Æ´Ï¶ó ÇÁ·Î¼¼½ºÀÇ Àüü °æ·Î¿Í À̸§À» ¿¶÷ÇÕ´Ï´Ù.
Count: ±âÁ¸ â¿¡¼ WinTitle, WinText, ExcludeTitle, ±×¸®°í ExcludeText (¾øÀ¸¸é 0)¿¡ ºÎÇÕÇϴ âÀÇ °³¼ö¸¦ ¿¶÷ÇÕ´Ï´Ù. ½Ã½ºÅÛÀÇ ¸ðµç âÀ» ¿¶÷ÇÏ·Á¸é, ³× °³ÀÇ ¸Å°³º¯¼ö¸¦ ¸ðµÎ »ý·«ÇϽʽÿÀ. ¼ûÀº âÀº DetectHiddenWindowsÀÌ ÄÑÁ® ÀÖÀ» °æ¿ì¿¡¸¸ Æ÷ÇԵ˴ϴÙ.
List: ±âÁ¸ â¿¡¼ ÁöÁ¤µÈ WinTitle, WinText, ExcludeTitle, ±×¸®°í ExcludeText¿¡ ºÎÇÕÇÏ´Â ±âÁ¸ÀÇ ¸ðµç âÀÇ À¯ÀÏ ID ¹øÈ£µéÀ» ¿¶÷ÇÕ´Ï´Ù. (Àüü ½Ã½ºÅÛÀÇ ¸ðµç âÀ» ¿¶÷ÇÏ·Á¸é, ³× °³ÀÇ Á¦¸ñ/ÅؽºÆ® ¸Å°³º¯¼ö¸¦ ¸ðµÎ »ý·«ÇϽʽÿÀ). °¢ ID ¹øÈ£´Â OutputVarÀÇ À̸§À¸·Î ½ÃÀÛÇÏ´Â º¯¼ö¿¡ ÀúÀåµË´Ï´Ù (ÀÇ»ç-¹è¿À» Çü¼ºÇÕ´Ï´Ù). ¹Ý¸é¿¡ OutputVar ÀÚü¿¡´Â ¿¶÷µÈ Ç׸ñÀÇ °³¼ö°¡ ¼³Á¤µË´Ï´Ù (¾øÀ¸¸é 0ÀÔ´Ï´Ù). ¿¹¸¦ µé¾î, OutputVar°¡ MyArrayÀÌ°í ºÎÇÕÇÑ Ã¢ÀÌ µÎ °³ ¹ß°ßµÇ¾ú´Ù¸é, MyArray1Àº ù ¹ø° âÀÇ ID°¡ ¼³Á¤µÇ°í, MyArray2´Â µÎ ¹ø° âÀÇ ID¿¡ ¼³Á¤µË´Ï´Ù. âÀº (¹ÙÅÁȸ鿡 ¾î¶»°Ô ½×¿© Àִ°¡¿¡ ¸ÂÃß¾î) À§¿¡¼ ¾Æ·¡·Î ¿¶÷µË´Ï´Ù. ¼ûÀº âÀº DetectHiddenWindowsÀÌ ÄÑÁ® ÀÖÀ» ¶§¸¸ ŽÁöµË´Ï´Ù. ÇÔ¼ö ¾È¿¡¼, Áö¿ªÀûÀÌ ¾Æ´Ï¶ó Àü¿ªÀû ÀÇ»ç-¹è¿À» »ý¼ºÇÏ·Á¸é, ÀÌ ¸í·É¾î¸¦ »ç¿ëÇϱâ Àü¿¡ ¸ÕÀú MyArray¸¦ Àü¿ª º¯¼ö·Î ¼±¾ðÇϽʽÿÀ (Àü¿ª-°£ÁÖ ÇÔ¼ö¿¡ ´ëÇÏ¿© ±× ¹Ý´ëµµ ¸¶Âù°¡ÁöÀÔ´Ï´Ù). ±×·¸Áö¸¸, ÈçÇÑ È¥¶õÀÇ ±Ù¿ø ¶§¹®¿¡, Á¾Á¾ °¢ º¯¼ö¸¦ ÇÔ¼ö ¾È¿¡ ¼³Á¤ÇÏ´Â °ÍÀÌ ÇʼöÀûÀÎ °æ¿ìµµ ÀÖ½À´Ï´Ù.
MinMax: â¿¡ ´ëÇÏ¿© ÃÖ¼Ò/ÃÖ´ë »óŸ¦ ¿¶÷ÇÕ´Ï´Ù. ºÎÇÕÇϴ âÀÌ ¾øÀ¸¸é OuputVar´Â ºñ¿öÁý´Ï´Ù; ±×·¸Áö ¾ÊÀ¸¸é ´ÙÀ½ ¼ýÀÚ Áß Çϳª°¡ ¼³Á¤µË´Ï´Ù:
-1: âÀÌ ÃÖ¼Ò »óÅÂÀÔ´Ï´Ù (WinRestore·Î º¹¿øÇÒ ¼ö ÀÖ½À´Ï´Ù).
1: âÀÌ ÃÖ´ë »óÅÂÀÔ´Ï´Ù (WinRestore·Î º¹¿øÇÒ ¼ö ÀÖ½À´Ï´Ù).
0: âÀÌ ÃÖ´ë »óŵµ ¾Æ´Ï°í ÃÖ¼Ò »óŵµ ¾Æ´Õ´Ï´Ù.
ControlList: â¿¡ ÀÖ´Â ¸ðµç ÄÜÆ®·ÑÀÇ À̸§À» ¿¶÷ÇÕ´Ï´Ù. ºÎÇÕÇϴ âÀÌ Á¸ÀçÇÏÁö ¾Ê°Å³ª â¿¡ ÄÜÆ®·ÑÀÌ ¾øÀ¸¸é, OutputVar´Â ºñ¿öÁý´Ï´Ù. ±×·¸Áö ¾ÊÀ¸¸é, Window Spy¿¡ º¸¿©ÁöµíÀÌ, °¢ ÄÜÆ®·Ñ À̸§Àº ±×ÀÇ Å¬·¡½º À̸§°ú ¹Ù·Î ´ÙÀ½¿¡ ¿¬¼Ó ¹øÈ£ (ClassNN)·Î ±¸¼ºµË´Ï´Ù.
¸¶Áö¸· Ç׸ñÀ» Á¦¿ÜÇÏ°í °¢ Ç׸ñÀº ¶óÀÎÇǵå·Î ³¡³³´Ï´Ù (`n). ÄÜÆ®·Ñ À̸§À» Çϳª¾¿ Á¶»çÇÏ·Á¸é, ¾Æ·¡ ¿¹Á¦ ¼½¼Ç¿¡ º¸¿©ÁÖ´Â ¹Ù¿Í °°ÀÌ È¸µ¹ÀÌ ÆĽÌÀ» »ç¿ëÇϽʽÿÀ.
ÄÜÆ®·ÑÀº Z-¼ø¼¿¡ µû¶ó Á¤·ÄµË´Ï´Ù. º¸Åë âÀÌ Áö¿øÇÑ´Ù¸é TAB Å°·Î ÃÊÁ¡À» À̵¿ÇÏ´Â ¼ø¼¿Í µ¿ÀÏÇÕ´Ï´Ù.
ÇöÀç ¸¶¿ì½º ¾Æ·¡¿¡ ÀÖ´Â ÄÜÆ®·ÑÀº MouseGetPos·Î ¿¶÷ÇÒ ¼ö ÀÖ½À´Ï´Ù.
ControlListHwnd [v1.0.43.06+]: À§¿Í °°Áö¸¸ °¢ ÄÜÆ®·ÑÀÇ ClassNNÀÌ ¾Æ´Ï¶ó â ÇÚµé (HWND)À» ¿¶÷ÇÕ´Ï´Ù.
Transparent: âÀÇ Åõ¸íµµ¸¦ ¿¶÷ÇÕ´Ï´Ù (Åõ¸íµµ¸¦ ¼³Á¤ÇÏ´Â ¹æ¹ýÀº WinSetÀ» ÂüÁ¶ÇϽʽÿÀ). ´ÙÀ½°ú °°Àº °æ¿ì OutputVarÀÌ ºñ¿öÁý´Ï´Ù:
MouseGetPos,,, MouseWin WinGet, Transparent, Transparent, ahk_id %MouseWin% ; ¸¶¿ì½º ¾Æ·¡ÀÇ Ã¢ÀÌ Åõ¸íµµ.
TransColor: â¿¡¼ Åõ¸íÀ¸·Î Ç¥½ÄÀÌ ºÙÀº »öÀ» ¿¶÷ÇÕ´Ï´Ù (TransColor¸¦ ¼³Á¤ÇÏ´Â ¹ýÀº WinSet¸¦ ÂüÁ¶ÇÕ´Ï´Ù.). OutputVar´Â ´ÙÀ½°ú °°Àº °æ¿ì ºñ¿öÁý´Ï´Ù:
MouseGetPos,,, MouseWin WinGet, TransColor, TransColor, ahk_id %MouseWin% ; ¸¶¿ì½º Ä¿¼ ¾Æ·¡¿¡ Àִ âÀÇ TransColor.
Style ¶Ç´Â ExStyle: âÀÇ ½ºÅ¸ÀÏ ¶Ç´Â È®Àå ½ºÅ¸ÀÏÀ» ³ªÅ¸³»´Â 8-ÀÚ¸® ½ÊÀ°Áø ¼ö¸¦ ¿¶÷ÇÕ´Ï´Ù. ºÎÇÕÇϴ âÀÌ ¾øÀ¸¸é, OutputVar´Â ºñ¿öÁý´Ï´Ù. ´ÙÀ½ ¿¹Á¦´Â â¿¡ WS_DISABLED ½ºÅ¸ÀÏÀÌ ÀÖ´ÂÁö ¾Ë¾Æº¾´Ï´Ù:
WinGet, Style, Style, My Window Title if (Style & 0x8000000) ; 0x8000000 is WS_DISABLED. ... âÀÌ ºñÈ°¼º »óÅÂÀÔ´Ï´Ù. ±×·¡¼ ÀûÀýÇÑ Á¶Ä¡¸¦ ¼öÇàÇÕ´Ï´Ù.
´ÙÀ½ ¿¹Á¦´Â â¿¡ WS_EX_TOPMOST ½ºÅ¸ÀÏÀÌ ÀÖ´ÂÁö ¾Ë¾Æº¾´Ï´Ù (Ç×»ó-À§¿¡):
WinGet, ExStyle, ExStyle, My Window Title if (ExStyle & 0x8) ; 0x8 is WS_EX_TOPMOST. ... âÀÌ Ç×»ó ÃÖ»óÀ§ »óÅÂÀÔ´Ï´Ù. ±×·¡¼ ÀûÀýÇÑ Á¶Ä¡¸¦ ¼öÇàÇÕ´Ï´Ù.
½ºÅ¸ÀÏ ¸ñ·ÏÀº ½ºÅ¸ÀÏ Å×À̺íÀ» ÂüÁ¶ÇϽʽÿÀ.
âÀÇ ID ¹øÈ£´Â ¿ÀÁ÷ âÀÌ »ì¾Æ ÀÖÀ» µ¿¾È¿¡¸¸ À¯È¿ÇÕ´Ï´Ù. ´Ù¸¥ ¸»·Î, ¾îÇø®ÄÉÀ̼ÇÀÌ Àç½ÃÀÛÇϸé, ±×ÀÇ ¸ðµç âÀº »õ ID ¹øÈ£¸¦ ¾ò½À´Ï´Ù.
ÀÌ ¸í·É¾î·Î ¿¶÷µÈ ID ¹øÈ£´Â ¼ýÀÚÀÌ°í (¾Õ¿¡ Á¢µÎ¾î "ahk_id"¸¦ Æ÷ÇÔÇÏÁö ¾ÊÀ½) ±×¸®°í SetFormatÀÇ ¼³Á¤¿¡ »ó°ü¾øÀÌ 16Áø Çü½ÄÀ¸·Î ÀúÀåµË´Ï´Ù.
¸¶¿ì½º Ä¿¼ ¾Æ·¡¿¡ Àִ âÀÇ ID´Â MouseGetPos·Î ¿¶÷ÇÒ ¼ö ÀÖ½À´Ï´Ù.
ID ¹øÈ£´Â ÇöÀç 32-ºñÆ® ºÎÈ£¾ø´Â Á¤¼öÀÌÁö¸¸, ¾ÕÀ¸·Î 64-ºñÆ®°¡ µÉ °¡´É¼ºÀÌ ÀÖ½À´Ï´Ù. ±×·¯¹Ç·Î, ÀÌ·± °ªµé¿¡ ´ëÇØ µ¡¼ÀÀ» ÇÏ´Â °Í°ú °°Àº ¼ýÄ¡ ¿¬»êÀ» ¼öÇàÇÏ´Â °ÍÀº ¾ÈÀüÇÏÁö ¾Ê½À´Ï´Ù. ¿Ö³ÄÇÏ¸é ±×·± ¿¬»êÀº ÀÔ·Â ¹®ÀÚ¿À» ºÎÈ£¾ø´Â Á¤¼ö°¡ ¾Æ´Ï¶ó ºÎÈ£ÀÖ´Â Á¤¼ö·Î Çؼ®ÇÒ ÇÊ¿ä°¡ Àֱ⠶§¹®ÀÔ´Ï´Ù.
â Á¦¸ñ°ú ÅؽºÆ®´Â ´ë¼Ò¹®ÀÚ¿¡ ¹Î°¨ÇÕ´Ï´Ù. ¼ûÀº âÀº DetectHiddenWindows°¡ ÄÑÁ® ÀÖÀ¸¸é ŽÁöµË´Ï´Ù.
WinGetClass, Process, WinGetTitle, MouseGetPos, ControlGet, ControlFocus, GroupAdd
; ¿¹Á¦ #1: È°¼º âÀ» ÃÖ´ëÈÇÏ°í ±×ÀÇ À¯ÀÏ ID¸¦ º¸°íÇÕ´Ï´Ù: WinGet, active_id, ID, A WinMaximize, ahk_id %active_id% MsgBox, È°¼º âÀÇ ID´Â "%active_id%"ÀÔ´Ï´Ù. ; ¿¹Á¦ #2: Àüü ½Ã½ºÅÛ¿¡¼ ¸ðµç âÀ» ¹æ¹®ÇÏ°í °¢ â¿¡ ´ëÇÏ¿© ´ÙÀ½ Á¤º¸¸¦ º¸¿©ÁÝ´Ï´Ù: WinGet, id, list,,, Program Manager Loop, %id% { this_id := id%A_Index% WinActivate, ahk_id %this_id% WinGetClass, this_class, ahk_id %this_id% WinGetTitle, this_title, ahk_id %this_id% MsgBox, 4, , Visiting All Windows`n%a_index% of %id%`nahk_id %this_id%`nahk_class %this_class%`n%this_title%`n`nContinue? IfMsgBox, NO, break } ; ¿¹Á¦ #3: ControlListÀ¸·ÎºÎÅÍ ÄÜÆ®·Ñ À̸§À» Çϳª¾¿ ÃßÃâÇÕ´Ï´Ù: WinGet, ActiveControlList, ControlList, A Loop, Parse, ActiveControlList, `n { MsgBox, 4,, Control #%a_index% is "%A_LoopField%". Continue? IfMsgBox, No break } ; ¿¹Á¦ #4: ½Ç½Ã°£À¸·Î È°¼º âÀÇ ÄÜÆ®·Ñ ¸®½ºÆ®¸¦ º¸¿©ÁÝ´Ï´Ù: #Persistent SetTimer, WatchActiveWindow, 200 return WatchActiveWindow: WinGet, ControlList, ControlList, A ToolTip, %ControlList% return