WinTitle ¸Å°³º¯¼ö & °¡Àå ¸¶Áö¸·À¸·Î ¹ß°ßµÈ â

¸¹Àº ¸í·É¾î¿Í ¸î¸î ÇÔ¼ö´Â WinTitle ¸Å°³º¯¼ö°¡ ÀÖ½À´Ï´Ù. ÀÌ ¸Å°³º¯¼ö´Â ÀÛ¾÷ÇÒ Ã¢À» ½Äº°ÇÏ´Â µ¥ »ç¿ëµË´Ï´Ù. ÀÌ ¸Å°³º¯¼ö´Â âÀÇ Á¦¸ñ ¶Ç´Â Á¦¸ñ ÀϺÎÀÏ ¼öµµ ÀÖ°í ÀÌ ÆäÀÌÁö¿¡ ±â¼úµÈ ´Ù¸¥ ±âÁØÀÏ ¼öµµ ÀÖ½À´Ï´Ù.

°£Æí ÂüÁ¶
TitleºÎÇÕ ÇàÀ§
AÈ°¼º â
ahk_classâ Ŭ·¡½º
ahk_idÀ¯ÀÏÇÑ ID/HWND
ahk_pidÇÁ·Î¼¼½º ID
ahk_exeÇÁ·Î¼¼½º À̸§/°æ·Î
ahk_groupâ ±×·ì
 ´ÙÁß ±âÁØ
(All empty)¸¶Áö¸·À¸·Î ¹ß°ßµÈ â

ºÎÇÕ ÇàÀ§

SetTitleMatchModeÀº °¢ âÀÇ Á¦¸ñ¿¡ ºÎºÐ ¶Ç´Â Àüü Á¦¸ñÀ» ¾î¶»°Ô ºñ±³ÇÒÁö Á¦¾îÇÕ´Ï´Ù. ¼³Á¤¿¡ µû¶ó, WinTitleÀº Á¤È­ÇÏ°Ô ÀÏÄ¡ÇÏ´Â Á¦¸ñÀÌ µÉ ¼öµµ ÀÖ°í, ¾Æ´Ï¸é Á¦¸ñ¿¡ ¾îµð¿¡³ª ³ªÅ¸³ª´Â ºÎ¹®ÀÚ¿­, ¶Ç´Â RegEx ÆÐÅÏÀÌ µÉ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ¼³Á¤Àº ¶Ç ahk_class¸¦ Á¤È®ÇÑ Å¬·¡½º À̸§À¸·Î ÀÌÇØÇÒÁö ¾Æ´Ï¸é RegEx ÆÐÅÏÀ¸·Î ÀÌÇØÇÒÁö Á¦¾îÇÕ´Ï´Ù.

¼ûÀº âÀº DetectHiddenWindowsÀÌ ÄÑÁ® ÀÖÀ» ¶§¸¸ ŽÁöµË´Ï´Ù. ¾ðÁ¦³ª ¼ûÀ» ÂüÀ» ŽÁöÇÏ´Â WinShow´Â Á¦¿ÜÇÕ´Ï´Ù.

¿©·¯ âÀÌ WinTitle°ú ±âŸ ±âÁØ¿¡ ºÎÇÕÇϸé, °¡Àå À§¿¡ ºÎÇÕÇÑ Ã¢ÀÌ »ç¿ëµË´Ï´Ù. È°¼º âÀÌ ±âÁØ¿¡ ºÎÇÕÇϸé, º¸Åë ´Ù¸¥ ¸ðµç ⺸´Ù À§¿¡ Àֱ⠶§¹®¿¡ ¿ì¼± ¼øÀ§¸¦ °®½À´Ï´Ù. ±×·¸Áö¸¸, Ç×»ó ÃÖ»ó´Ü âÀÌ ºÎÇÕÇϸé (±×¸®°í È°¼º âÀº ÃÖ»ó´Ü âÀÌ ¾Æ´Ï¸é), ´ë½Å¿¡ ±×°ÍÀÌ »ç¿ëµË´Ï´Ù.

È°¼º â (A)

WinTitleÀÌ ±âÈ£ AÀÌ°í ´Ù¸¥ ¼¼ °³ÀÇ Ã¢ ¸Å°³º¯¼ö°¡ ºñ¾î Àְųª »ý·«µÇ¸é, ±× È°¼º âÀÌ »ç¿ëµË´Ï´Ù (WinText, ExcludeTitle ±×¸®°í ExcludeText).

; È°¼º âÀÇ ID/HWND¸¦ ¿­¶÷ÇÕ´Ï´Ù
id := WinExist("A")
MsgBox % id

; Win+&uarrÀ» ´­·¯; È°¼º âÀ» ÃÖ´ëÈ­ÇÕ´Ï´Ù
#Up::WinMaximize, A

ahk_class â Ŭ·¡½º

â Ŭ·¡½º´Â ½Ã½ºÅÛÀÌ Ã¢À» »ý¼ºÇϱâ À§ÇÏ¿© ÁÖÇüƲ·Î »ç¿ëÇÏ´Â ¼Ó¼ºÀÇ ÁýÇÕÀÔ´Ï´Ù. ´Ù¸¥ ¸»·Î, âÀÇ Å¬·¡½º À̸§Àº ¾î¶² À¯ÇüÀÇ Ã¢ÀÎÁö ½Äº°ÇÕ´Ï´Ù. â Ŭ·¡½º¸¦ »ç¿ëÇÏ·Á¸é, Window Spy°¡ º¸¿©ÁÖ´Â °Íó·³ ahk_class ExactClassName¸¦ »ç¿ëÇϽʽÿÀ. ExactClassNameÀº WinGetClass·Î ¿­¶÷ÇÒ ¼ö ÀÖ½À´Ï´Ù.

RegEx Á¦¸ñ ºÎÇÕ ¸ðµå°¡ ÄÑÁ® ÀÖÀ¸¸é, ahk_class´Â Á¤±Ô Ç¥Çö½ÄÀ» ¹Þ½À´Ï´Ù.

; ÄÜ¼Ö Ã¢À» È°¼ºÈ­ÇÕ´Ï´Ù (¿¹, cmd.exe)
WinActivate, ahk_class ConsoleWindowClass

ahk_id Unique ID / HWND

°¢ âÀ̳ª ÄÜÆ®·Ñ¿¡ À¯ÀÏÇÑ ID°¡ ÀÖ½À´Ï´Ù. À̸¦ HWND (Handle to WiNDow)¶ó°íµµ ÇÕ´Ï´Ù. ÀÌ ID¸¦ »ç¿ëÇϸé Á¦¸ñÀÌ º¯Çصµ âÀ̳ª ÄÜÆ®·ÑÀ» ½Äº°ÇÒ ¼ö ÀÖ½À´Ï´Ù. âÀÇ ID´Â ÀüÇüÀûÀ¸·Î WinExist()³ª WinGetÀ» ÅëÇÏ¿© ¿­¶÷ÇÕ´Ï´Ù. ÄÜÆ®·ÑÀÇ ID´Â ÀüÇüÀûÀ¸·Î ControlGet Hwnd, MouseGetPos, ¶Ç´Â DllCallÀ» ÅëÇÏ¿© ¿­¶÷ÇÕ´Ï´Ù. ¶ÇÇÑ, ahk_id´Â ÄÜÆ®·ÑÀÌ º¸ÀÌÁö ¾Ê¾Æµµ ÀÛµ¿ÇÕ´Ï´Ù; Áï, DetectHiddenWindows ¼³Á¤Àº ÄÜÆ®·Ñ¿¡ ¹®Á¦°¡ µÇÁö ¾Ê½À´Ï´Ù.

WinActivate, ahk_id %VarContainingID%

ahk_pid ÇÁ·Î¼¼½º ID

ahk_pid¸¦ »ç¿ëÇϸé ƯÁ¤ ÇÁ·Î¼¼½º¿¡ ¼ÓÇÑ Ã¢À» ½Äº°ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÇÁ·Î¼¼½º ½Äº°ÀÚ (PID)´Â ÀüÇüÀûÀ¸·Î WinGet, Run ¶Ç´Â ProcessÀ¸·Î ¿­¶÷ÇÕ´Ï´Ù.

WinActivate, ahk_pid %VarContainingPID%

ahk_exe ÇÁ·Î¼¼½º À̸§/°æ·Î [v1.1.01+]

ahk_exe¸¦ »ç¿ëÇϸé ÁÖ¾îÁø °æ·Î³ª À̸§ÀÇ ÇÁ·Î¼¼½º¿¡ ¼ÓÇÑ Ã¢À» ½Äº°ÇÒ ¼ö ÀÖ½À´Ï´Ù.

ahk_pid´Â ƯÁ¤ÇÑ ÇÁ·Î¼¼½º Çϳª·Î Á¦ÇѵǴ ¹Ý¸é¿¡, ahk_exe´Â ÁÖ¾îÁø ¹®ÀÚ¿­¿¡ ºÎÇÕÇÏ´Â À̸§ ¶Ç´Â Àüü °æ·Î¸¦ °¡Áø ¸ðµç ÇÁ·Î¼¼½º¸¦ °í·ÁÇÕ´Ï´Ù. RegEx Á¦¸ñ ÀÏÄ¡ ¸ðµå°¡ ÄÑÁ® ÀÖ´Ù¸é, ahk_exe´Â Á¤±Ô Ç¥Çö½ÄÀ» ¹Þ½À´Ï´Ù. ±×·¸Áö ¾ÊÀ¸¸é, ahk_exe´Â ´ë¼Ò¹®ÀÚ¸¦ ±¸ºÐÇÏ´Â À̸§À̳ª Àüü °æ·Î¸¦ ¹Þ½À´Ï´Ù; ¿¹¸¦ µé¾î, ahk_exe notepad.exe´Â ahk_exe C:\Windows\Notepad.exe, ahk_exe C:\Windows\System32\Notepad.exe ±×¸®°í ±âŸ º¯Á¾µéÀ» Æ÷°ýÇÕ´Ï´Ù.

; ±âÁ¸ÀÇ notepad.exe âÀ» È°¼ºÈ­Çϰųª, »õ·Î ¿±´Ï´Ù
if WinExist("ahk_exe notepad.exe")
    WinActivate, ahk_exe notepad.exe
else
    Run, notepad.exe

ahk_group â ±×·ì

ahk_groupÀ» »ç¿ëÇϸé ÀÌÀü¿¡ Á¤ÀÇµÈ Ã¢ ±×·ì¿¡ Æ÷ÇÔµÈ ±ÔÄ¢¿¡ ºÎÇÕÇÏ´ÂâÀ» ½Äº°ÇÒ ¼ö ÀÖ½À´Ï´Ù.

WinMinimize, WinMaximize, WinRestore, WinHide, WinShow, WinClose, ±×¸®°í WinKill ¸í·É¾î´Â ¸ðµç ±×·ì â¿¡ ÀÛµ¿ÇÕ´Ï´Ù. ´ëÁ¶ÀûÀ¸·Î, WinActivate¿Í IfWinExist °°Àº ´Ù¸¥ â ¸í·É¾î´Â ±×·ìÀÇ ÃÖ»óÀ§ â¿¡¸¸ ÀÛµ¿ÇÕ´Ï´Ù.

; ±×·ìÀ» Á¤ÀÇÇÕ´Ï´Ù: À©µµ¿ìÁî Ž»ö±â â
GroupAdd, Explorer, ahk_class ExploreWClass ; ºñ½ºÅ¸ ÀÌÈÄ¿¡ »ç¿ë¾ÈµÊ
GroupAdd, Explorer, ahk_class CabinetWClass

; À§ÀÇ ±âÁØ¿¡ ºÎÇÕÇϴ âÀº ¸ðµÎ È°¼ºÈ­ÇÕ´Ï´Ù
WinActivate, ahk_group Explorer

´ÙÁß ±âÁØ

(°Ë»öÀ» È®´ëÇÏ´Â) ahk_group°ú ´ëÁ¶ÀûÀ¸·Î, WinTitle ¸Å°³º¯¼ö ¾È¿¡ Çϳª ÀÌ»óÀÇ ±âÁØÀ» ƯÁ¤ÇØ °Ë»öÀÇ ¹üÀ§¸¦ Á¼Èú ¼ö ÀÖ½À´Ï´Ù. ´ÙÀ½ ¿¹Á¦¿¡¼­, ½ºÅ©¸³Æ®´Â Á¦¸ñ¿¡ My File.txtÀÌ Æ÷ÇԵǾî ÀÖ°í ±×¸®°í ±×ÀÇ Å¬·¡½º°¡ NotepadÀΠâÀ» ±â´Ù¸³´Ï´Ù:

WinWait My File.txt ahk_class Notepad
WinActivate  ; ¹ß°ßµÈ âÀ» È°¼ºÈ­ÇÕ´Ï´Ù.

ÀÌ ¸ðµå¸¦ »ç¿ëÇÒ ¶§, Á¦¸ñ ÅؽºÆ®¸¦ (¿øÇÏ´Â ¼ø¼­´ë·Î) Á¦ÀÏ ¸ÕÀú ³ª¿­ÇØ¾ß ÇÏ°í, ´ÙÀ½¿¡ Çϳª ÀÌ»óÀÇ ±âÁØÀÌ µû¶ó ¿Í¾ß ÇÕ´Ï´Ù. ù ¹ø° ±âÁØ ÀÌÈķδ ¼­·Î Á¤È®ÇÏ°Ô ÇϳªÀÇ ½ºÆäÀ̽º³ª ÅÇÀ¸·Î °¥¶ó¾ß ÇÕ´Ï´Ù (´Ù¸¥ ½ºÆäÀ̽º³ª ÅÇÀº ÀÌÀü ±âÁØÀÇ ±âÈ£ ±×´ë·ÎÀÇ ºÎºÐÀ¸·Î Ãë±ÞµË´Ï´Ù).

ahk_id¸¦ ´Ù¸¥ ±âÁØ°ú Á¶ÇÕÇØ Ã¢ Á¦¸ñ, Ŭ·¡½º ¶Ç´Â ±âŸ Ư¼ºÀ» Å×½ºÆ®ÇÒ ¼ö ÀÖ½À´Ï´Ù:

MouseGetPos,,, id
if WinExist("ahk_class Notepad ahk_id " id)
    MsgBox ¸¶¿ì½º°¡ ³ëÆ®Æеå À§¿¡ ÀÖ½À´Ï´Ù.

"°¡Àå ¸¶Áö¸·À¸·Î ¹ß°ßµÈ" â

ÀÌ°ÍÀº ´ÙÀ½ÀÌ °¡Àå ¸¶Áö¸·À¸·Î ¹ß°ßÇÑ Ã¢ÀÔ´Ï´Ù: IfWin[Not]Exist, WinExist(), IfWin[Not]Active, WinActive(), WinWait[Not]Active, ¶Ç´Â WinWait.

½ºÅ©¸³Æ®¸¦ ½±°Ô ¸¸µé°í °ü¸®ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿Ö³ÄÇÏ¸é ¸ñÇ¥ âÀÇ WinTitle°ú WinText°¡ ¸Å â ¸í·É¾î¸¶´Ù ¹Ýº¹µÉ ÇÊ¿ä°¡ ¾ø±â ¶§¹®ÀÔ´Ï´Ù. °Ô´Ù°¡, ½ºÅ©¸³Æ®ÀÇ ¼öÇ༺´Éµµ ´õ ÁÁ¾ÆÁý´Ï´Ù. ¿Ö³ÄÇÏ¸é ¸ñÇ¥ âÀ» óÀ½ ¹ß°ßÇÏ¸é ±× ´ÙÀ½ºÎÅÍ´Â ¹Ýº¹Çؼ­ °Ë»öÇÒ ÇÊ¿ä°¡ ¾ø±â ¶§¹®ÀÔ´Ï´Ù.

"°¡Àå ¸¶Áö¸·¿¡ ¹ß°ßµÈ" âÀº WinWait, WinActivateBottom, ±×¸®°í GroupAdd¸¦ Á¦¿ÜÇÏ°í ´Ù¸¥ ¸ðµç â °ü·Ã ¸í·É¾î°¡ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. »ç¿ëÇÏ·Á¸é, ±×³É ³× °³ÀÇ Ã¢ ¸Å°³º¯¼ö¸¦ »ý·«ÇÏ¸é µË´Ï´Ù (WinTitle, WinText, ExcludeTitle, ±×¸®°í ExcludeText).

°¢ ¾²·¹µå¸¶´Ù ÀÚ½ÅÀÇ "¸¶Áö¸·À¸·Î ¹ß°ßµÈ" âÀÇ °ªÀ» À¯ÁöÇÕ´Ï´Ù. Áï, ÇöÀç ¾²·¹µå ¶Ç´Ù¸¥ ¾²·¹µå¿¡ ÀÇÇØ ÀÎÅÍ·´Æ® µÇ´õ¶óµµ, ¿ø·¡ ¾²·¹µå°¡ Àç°³ÇÒ ¶§ ÀÎÅÍ·´Æ®ÇÑ ¾²·¹µåÀÇ °ÍÀÌ ¾Æ´Ï¶ó ¿©ÀüÈ÷ ¿ø·¡ÀÇ "¸¶Áö¸·À¸·Î ¹ß°ßµÈ" âÀÇ °ªÀ» °¡Áø´Ù´Â ¶æÀÔ´Ï´Ù..

¸¶Áö¸·À¸·Î ¹ß°ßµÈ âÀÌ º¸ÀÌÁö ¾Ê´Â Gui âÀ̸é, DetectHiddenWindows°¡ ²¨Á® ÀÖ´õ¶óµµ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ°ÍÀº Á¾Á¾ Gui +LastFound¿Í ÇÔ²² Á¶ÇÕÇؼ­ »ç¿ëµË´Ï´Ù.

Run Notepad
WinWait Untitled - Notepad
WinActivate  ; °¡Àå ¸¶Áö¸·¿¡ ¹ß°ßµÈ âÀ» »ç¿ëÇÕ´Ï´Ù.

IfWinExist, Untitled - Notepad
{
    WinActivate  ; À§¿¡¼­ ¹ß°ßµÈ âÀ» ÀÚµ¿À¸·Î »ç¿ëÇÕ´Ï´Ù.
    WinMaximize  ; °°½À´Ï´Ù
    Send, Some text.{Enter}
    return
}

IfWinNotExist, Calculator
    return
else
{
    WinActivate  ; À§ÀÇ "IfWinNotExist"´Â ¶Ç  "°¡Àå ¸¶Áö¸· ¹ß°ß" âÀ» ¼³Á¤ÇÕ´Ï´Ù.
    WinMove, 40, 40  ; »õ À§Ä¡·Î À̵¿ÇÕ´Ï´Ù.
    return
}