#IfWinActive / #IfWinExist

¹®¸Æ-°¨Áö ÇÖÅ°¿Í ÇÖ½ºÆ®¸µÀ» ¸¸µì´Ï´Ù. ±×·± ÇÖÅ°´Â È°¼ºÈ­ µÈ ¶Ç´Â Á¸ÀçÇϴ âÀÇ Á¾·ù¿¡ µû¶ó ´Ù¸¥ Á¶Ä¡¸¦ ¼öÇàÇÕ´Ï´Ù (¶Ç´Â ¾Æ¹«Àϵµ ÇÏÁö ¾Ê½À´Ï´Ù).

#IfWinActive [, WinTitle, WinText]
#IfWinExist [, WinTitle, WinText]
#IfWinNotActive [, WinTitle, WinText]
#IfWinNotExist [, WinTitle, WinText]
#If [, Expression]

¸Å°³º¯¼ö

WinTitle

¸ñÇ¥ âÀ» ½Äº°Çϴ â Á¦¸ñ ¶Ç´Â ´Ù¸¥ ±âÁØ. WinTitle ÂüÁ¶.

ºÎÇÕÇÏ´Â ÇàÀ§´Â ÀÚµ¿-½ÇÇà ¼½¼Ç¿¡ ¼³Á¤µÈ ´ë·ÎSetTitleMatchMode°¡ °áÁ¤ÇÕ´Ï´Ù.

´ëºÎºÐÀÇ ´Ù¸¥ Áö½Ã¾îó·³, º¯¼ö´Â Áö¿øÇÏÁö ¾Ê½À´Ï´Ù. ahk_pid¿Í ahk_id¸¦ Çϵå-ÄÚµåµÈ ÇÁ·Î¼¼½º³ª â ID¿Í ÇÔ²² »ç¿ëÇÒ ¼ö´Â ÀÖÁö¸¸, ´õ ÀϹÝÀûÀÎ °ÍÀº #IfWinÀÌ °£Á¢ÀûÀ¸·Î GroupAdd³ª Hotkey IfWinÀ» ÅëÇÏ¿© »ç¿ëÇÏ´Â °ÍÀÔ´Ï´Ù.

WinText

Á¸ÀçÇϸé, ÀÌ ¸Å°³º¯¼ö´Â ¸ñÇ¥ â ÅؽºÆ®ÀÇ ºÎ¹®ÀÚ¿­ÀÔ´Ï´Ù (µ¿ºÀµÈ Window Spy À¯Æ¿¸®Æ¼¿¡ ³ëÃâµÊ). ¼ûÀº ÅؽºÆ®´Â DetectHiddenTextÀÌ ÀÚµ¿-½ÇÇà ¼½¼Ç (½ºÅ©¸³Æ®ÀÌ ÃÖ»ó´Ü)¿¡ ÄÑÁ® ÀÖÀ¸¸é ŽÁöµË´Ï´Ù.

ExcludeTitle
ExcludeText

À̰͵éÀº Áö¿øµÇÁö ¾ÊÁö¸¸, WinTitle´ëÇÏ¿© ahk_group MyGroup¸¦ ÁöÁ¤ÇÏ¸é °£Á¢ÀûÀ¸·Î »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù (¿©±â¿¡¼­ MyGroupÀº GroupAdd¸¦ ÅëÇÏ¿© »ý¼ºµÈ ±×·ìÀ̸ç, ÀÌ ±×·ìÀº ExcludeTitle/Text¸¦ Áö¿øÇÕ´Ï´Ù).

±âº» ¿¬»ê

#IfWin Áö½Ã¾î·Î ¹®¸Æ °¨Áö ÇÖÅ°¿Í ÇÖ½ºÆ®¸µÀ» ½±°Ô ¸¸µé ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î:

#IfWinActive ahk_class Notepad
#space::MsgBox ³ëÆ®ÆÐµå ¾È¿¡¼­ Win+Spacebar¸¦ ´­·¶½À´Ï´Ù.

#IfWin Áö½Ã¾î´Â À§Ä¡¿¡ ¹Î°¨ÇÕ´Ï´Ù: ½ºÅ©¸³Æ®¿¡¼­ ¹°¸®ÀûÀ¸·Î ¾Æ·¡¿¡ ÀÖ´Â ¸ðµç ÇÖÅ°¿Í ÇÖ½ºÆ®¸µ¿¡ ¿µÇâÀ» ¹ÌĨ´Ï´Ù. ÀÌ µÑÀº ¶Ç »óÈ£ ¹èŸÀûÀÔ´Ï´Ù; Áï, °¡Àå ÃÖ½ÅÀÇ °Í¸¸ È¿°ú°¡ ÀÖ½À´Ï´Ù.

¹®¸Æ °¨Áö¸¦ ²ô·Á¸é, ¸Å°³º¯¼ö ¾øÀÌ #IfWin Áö½Ã¾î¸¦ ÁöÁ¤ÇϽʽÿÀ. ¿¹¸¦ µé¾î:

#IfWinActive

#IfWinÀÌ ²¨Á® ÀÖÀ» ¶§ (¶Ç´Â ½ºÅ©¸³Æ®¿¡ ÀüÇô »ç¿ëµÇÁö ¾ÊÀ¸¸ç), ¸ðµç ÇÖÅ°¿Í ÇÖ½ºÆ®¸µÀÌ ¸ðµç â¿¡ ´ëÇÏ¿© È°¼ºÈ­ µË´Ï´Ù (Suspend³ª Hotkey ¸í·É¾î¸¦ ÅëÇÏ¿© ²ø ¼ö ÀÖ½À´Ï´Ù).

¸¶¿ì½º³ª Å°º¸µå ÇÖÅ°°¡ #IfWin¸¦ ÅëÇÏ¿© ²¨Á® ÀÖÀ» ¶§, °íÀ¯ÀÇ ±â´ÉÀ» ¼öÇàÇÕ´Ï´Ù; Áï, ¸¶Ä¡ ±×·± ÇÖÅ°°¡ ÀüÇô ¾ø´Â °Íó·³ È°¼º â¿¡ °Ç³×Áý´Ï´Ù. ÇÑ °¡Áö ¿¹¿Ü°¡ ÀÖ½À´Ï´Ù: Á¶À̽ºÆ½ ÇÖÅ°´Â: #IfWinÀÌ ÀÛµ¿ÇÏ´õ¶óµµ, ´Ù¸¥ ÇÁ·Î±×·¥ÀÌ ¹öÆ° ´©¸§À» º¸´Â °ÍÀ» ¸·Áö ¾Ê½À´Ï´Ù.

#IfWin´Â ¶Ç Á¤»ó Å°ÀÇ ÇàÀ§¸¦ ¸¶Ä¡ ¿£ÅÍÅ°³ª ½ºÆäÀ̽º Űó·³ ¹Ù²Ù´Â µ¥¿¡µµ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. À̴ ƯÁ¤ âÀÌ ±× Å°¸¦ ¹«½ÃÇϰųª ¸¶À½¿¡ ¾Èµå´Â ÇàÀ§¸¦ ¼öÇàÇÒ °æ¿ì À¯¿ëÇÕ´Ï´Ù. ¿¹¸¦ µé¾î:

#IfWinActive Reminders ahk_class #32770  ; ¾Æ¿ô·èÀÇ "¾Ë¸®¹Ì" â.
Enter::Send !o  ; "Enter" Å°´­¸²Àº ¼±ÅÃµÈ ¾Ë¸®¹Ì¸¦ Àç¿ì´Â°Ô ¾Æ´Ï¶ó ¿­¸®µµ·Ï ¸¸µì´Ï´Ù.
#IfWinActive

º¯Á¾ (Áߺ¹) ÇÖÅ°

ƯÁ¤ ÇÖÅ°³ª ÇÖ½ºÆ®¸µÀº °¢ Á¤ÀǸ¶´Ù #IfWin ±âÁØÀÌ ´Ù¸£´Ù¸é ½ºÅ©¸³Æ®¿¡ ÇÑ ¹ø ÀÌ»ó Á¤ÀÇÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ°ÍÀ» ÇÖÅ° º¯Á¾À̶ó°í ÇÕ´Ï´Ù. ¿¹¸¦ µé¾î:

#IfWinActive ahk_class Notepad
^!c::MsgBox ³ëÆ®Æе忡¼­ Control+Alt+C¸¦ ´­·¶½À´Ï´Ù.
#IfWinActive ahk_class WordPadClass
^!c::MsgBox ¿öµåÆе忡¼­ Control+Alt+C¸¦ ´­·¶½À´Ï´Ù.
#IfWinActive
^!c::MsgBox ³ëÆ®Æеå/¿öµåÆе尡 ¾Æ´Ñ â¿¡¼­ Control+Alt+C¸¦ ´­·¶½À´Ï´Ù.

¿©·¯ º¯Á¾ÀÌ ÃË¹ßµÉ ¼ö ÀÖ´Ù¸é, ½ºÅ©¸³Æ®¿¡¼­ Á¦ÀÏ À§ÂÊ¿¡ ÀÖ´Â º¯Á¾¸¸ Ã˹ߵ˴ϴÙ. ¿¹¿Ü°¡ ÀÖ´Ù¸é Àü¿ª º¯Á¾ÀÔ´Ï´Ù (#IfWin ±âÁØÀÌ ÀüÇô ¾ø´Ù¸é): ¾ðÁ¦³ª °¡Àå ¿ì¼± ¼øÀ§°¡ ³·½À´Ï´Ù. ±×·¯¹Ç·Î, °æÀï »ó´ë·Î ´Ù¸¥ º¯Á¾ÀÌ ÀüÇô ¾øÀ» °æ¿ì¿¡¸¸ Ã˹ߵ˴ϴ٠(ÀÌ ¿¹¿Ü´Â ÇÖ½ºÆ®¸µ¿¡ Àû¿ëµÇÁö ¾Ê½À´Ï´Ù).

Áߺ¹ ÇÖÅ°¸¦ ¸¸µé ¶§, ^!+#¿Í °°Àº ¼ö½Ä ½Éº¼ÀÇ ¼ø¼­´Â ¹®Á¦°¡ µÇÁö ¾Ê½À´Ï´Ù. ¿¹¸¦ µé¾î, ^!c´Â !^c¿Í µ¿ÀÏÇÕ´Ï´Ù. ±×·¸Áö¸¸, Å°´Â ÀÏ°ü¼ºÀÌ ÀÖ°Ô Ã¶ÀÚ°¡ µÇ¾î¾ß ÇÕ´Ï´Ù. ¿¹¸¦ µé¾î, ÀÌ·± ¸ñÀûÀ¸·Î Esc´Â Escape¿Í °°Áö ¾Ê½À´Ï´Ù (±×·¸Áö¸¸ ´ë¼Ò¹®ÀÚ´Â ¹®Á¦°¡ µÇÁö ¾Ê½À´Ï´Ù). ¶Ç, ¿ÍÀϵåÄ«µå Á¢µÎ ½Éº¼(*)ÀÌ ÀÖ´Â ÇÖÅ°´Â ¿ÏÀüÈ÷ ºñ-¿ÍÀϵåÄ«µå ÇÖÅ°¿Í ±¸ºÐµË´Ï´Ù; ¿¹¸¦ µé¾î, *F1¿Í F1´Â °¢ÀÚ ÀڽŸ¸ÀÇ º¯Á¾ ÁýÇÕÀÌ ÀÖ½À´Ï´Ù.

°°Àº ÇÖÅ° ¼­ºê·çƾÀ» ¿©·¯ º¯Á¾ÀÌ ½ÇÇàÇϵµ·Ï ¸¸µé·Á¸é, °¡Àå ½¬¿î ¹æ¹ýÀº µ¿ÀÏÇÑ ÇÖÅ°¸¦ ÁÖ¿í ´Ã¾î³õ°í, °¢°¢ #IfWin Áö½Ã¾î¸¦ ´Ù¸£°Ô ¸¸µå´Â °ÍÀÔ´Ï´Ù. ¿¹¸¦ µé¾î:

#IfWinActive ahk_class Notepad
#z::
#IfWinActive ahk_class WordPadClass
#z::
MsgBox ³ëÆ®ÆÐµå ¶Ç´Â ¿öµåÆе忡¼­ Win+Z¸¦ ´­·¶½À´Ï´Ù.
return

´ë¾ÈÀ¸·Î, #IfWinActive ahk_group MyGroupÀ» ÅëÇÏ¿© â ±×·ìÀ» »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.

ÇÖÅ° º¯Á¾À» (½ºÅ©¸³Æ®°¡ ½ÇÇàÁßÀÎ µ¿¾È¿¡) µ¿ÀûÀ¸·Î »ý¼ºÇÏ·Á¸é, "Hotkey IfWin"¸¦ ÂüÁ¶ÇϽʽÿÀ.

ÃÑÆò

#IfWin´Â ¶Ç ÀûÀýÇÒ ¶§ Á¢µÎ Å°¸¦ ÀÚ½ÅÀÇ °íÀ¯ ±â´ÉÀ¸·Î º¹±¸ÇÕ´Ï´Ù (Á¢µÎ Å°´Â "a & b"¿Í °°ÀÌ ÇÖÅ° ¾È¿¡ ÀÖ´Â "a" Å°ÀÔ´Ï´Ù). ÁÖ¾îÁø Á¢µÎ ½Éº¼¿¡ ´ëÇÏ¿© È°¼ºÈ­µÈ ÇÖÅ°°¡ ÀüÇô ¾øÀ» ¶§¸¶´Ù ÀÌ·± ÀÏÀÌ ÀϾ´Ï´Ù.

Gosub³ª Goto¸¦ »ç¿ëÇÏ¿© ÇÖÅ°³ª ÇÖ½ºÆ®¸µ ¶óº§¿¡ Á¡ÇÁÇÒ ¶§, ½ºÅ©¸³Æ® »ó´Ü¿¡ °¡±î¿î º¯Á¾À¸·Î Á¡ÇÁÇÕ´Ï´Ù.

ÇÖÅ°°¡ ÇöÀç #IfWinÀ» ÅëÇÏ¿© ²¨Á® ÀÖÀ¸¸é, ±×ÀÇ Å°³ª ¸¶¿ì½º ¹öÆ°Àº "#" ¹®ÀÚ¿Í ÇÔ²² KeyHistoryÀÇ "Type" Ä÷³¿¡ ³ªÅ¸³³´Ï´Ù. ÀÌ´Â ½ºÅ©¸³Æ® µð¹ö±ë¿¡ µµ¿òÀÌ µË´Ï´Ù.

%Var%¿Í °°Àº º¯¼ö ÂüÁ¶´Â ÇöÀç Áö¿øÇÏÁö ¾Ê½À´Ï´Ù. ±×·¯¹Ç·Î, ÆÛ¼¾Æ® »çÀÎÀº `%¸¦ ÅëÇÏ¿© ÇǽŽÃÄÑ¾ß ÇÕ´Ï´Ù. ¾ÕÀ¸·Î´Â Áö¿øÇÒ °¡´É¼ºÀÌ ÀÖ½À´Ï´Ù. ºñ½ÁÇÏ°Ô, (`,¸¦ ÅëÇÏ¿©) ±ÛÀÚ ±×´ë·ÎÀÇ ½°Ç¥µµ ÇǽŽÃÄÑ¾ß ÇÕ´Ï´Ù. Ãß°¡ ¸Å°³º¯¼ö°¡ ¹Ì·¡¿¡ Ãß°¡µÉ °¡´É¼ºÀÌ ÀÖ½À´Ï´Ù. ÀÌ ÇѰ踦 ¿ìȸÇÒ ÇÊ¿ä°¡ ÀÖ´Ù¸é, GroupAdd¿Í ahk_group¸¦ »ç¿ëÇϽʽÿÀ.

Hotkey ¸í·É¾î°¡ ÇÖÅ°¿¡ ÇÒ´çÇÑ ¶óº§Àº #IfWin¿¡ Á÷Á¢ÀûÀ¸·Î ¿µÇâÀ» ¹ÞÁö´Â ¾Ê½À´Ï´Ù. ´ë½Å¿¡, #IfWin¸¦ ½ºÅ©¸³Æ® »ó´Ü¿¡ °¡±õ°Ô »ç¿ëÇϸé Hotkey ¸í·É¾î°¡ »ý¼ºÇÑ ¸ðµç ÇÖÅ°¿¡ ¿µÇâÀ» ÁÝ´Ï´Ù (´Ü "Hotkey IfWin"°¡ »ç¿ëµÇ¾î ±×°ÍÀ» ¹Ù²ÙÁö ¾Ê¾Ò¾î¾ß ÇÕ´Ï´Ù).

¾ËÆ®-ÅÇ ÇÖÅ°´Â #IfWin¿¡ ¿µÇâÀ» ¹ÞÁö ¾Ê½À´Ï´Ù: ¿ÀÈ÷·Á ¸ðµç â¿¡ È¿°ú°¡ ÀÖ½À´Ï´Ù.

¸¶Áö¸· ¹ß°ß âÀºÀÌ #IfWinActive/ExistÀÌ ¼³Á¤ÇÕ´Ï´Ù (±×·¸Áö¸¸ #IfWinNotActive/NotExist·Î´Â ¼³Á¤µÇÁö ¾Ê½À´Ï´Ù). ¿¹¸¦ µé¾î:

#IfWinExist ahk_class Notepad
#n::WinActivate  ; #IfWinÀÌ ¹ß°ßÇÑ Ã¢À» È°¼ºÈ­ÇÕ´Ï´Ù.

#IfWinÀÇ ¸Å°³º¯¼ö Áß Çϳª¿¡ ¼±µÎ ¶Ç´Â ÈĹÌÀÇ ½ºÆäÀ̽º/ÅÇÀÌ ÇÊ¿äÇϸé, ÇǽŠ¿¬¼Ó¿­ `s¿Í `t¸¦ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.

¼öÇ༺´ÉÀÇ ÀÌÀ¯·Î, #IfWin´Â ÁöÁ¤µÈ âÀÇ Á¸À糪 È°¼ºÈ­¸¦ Ç×»ó °üÁ¦ÇÏÁö´Â ¾Ê½À´Ï´Ù. ´ë½Å¿¡, ÇÖÅ°³ª ÇÖ½ºÆ®¸µÀ» ŸÀÚÇÒ ¶§¸¸ ºÎÇÕÇϴ âÀÌ ÀÖ´ÂÁö Á¡°ËÇÕ´Ï´Ù. ºÎÇÕÇϴ âÀÌ Á¸ÀçÇÏÁö ¾ÊÀ¸¸é, Å°´­¸²À̳ª ¸¶¿ì½º Ŭ¸¯Àº È°¼º â ¾ÈÀ¸·Î ±×´ë·Î Åë°ú½Ãŵ´Ï´Ù.

â Á¦¸ñ°ú ÅؽºÆ®´Â ´ë¼Ò¹®ÀÚ¸¦ ±¸ºÐÇÕ´Ï´Ù. ¼ûÀº âÀº DetectHiddenWindowsÀÌ (½ºÅ©¸³Æ® »ó´Ü) ÀÚµ¿ ½ÇÇà ¼½¼Ç¿¡¼­ ÄÑÁ³´Ù¸é ŽÁöµË´Ï´Ù .

°ü·Ã Ç׸ñ

#If Ç¥Çö½Ä, Hotkey ¸í·É¾î, Hotkeys, Hotstrings, Suspend, IfWinActive, IfWinExist, SetTitleMatchMode, DetectHiddenWindows

¿¹Á¦

#IfWinActive ahk_class Notepad
^!a::MsgBox ³ëÆ®Æе尡 È°¼ºÈ­µÇ¾î ÀÖ´Â µ¿¾È Ctrl-Alt-A¸¦ ´­·¶½À´Ï´Ù.  ; ÀÌ ÇÖÅ°´Â ´Ù¸¥ â¿¡ ´­·ÁºÁ¾ß ¾Æ¹« È¿°úµµ ¾ø½À´Ï´Ù (±×´ë·Î "Åë°ú ½Ãŵ´Ï´Ù").
#c::MsgBox ³ëÆ®Æе尡 È°¼ºÈ­µÇ¾î ÀÖ´Â µ¿¾È Win-C¸¦ ´­·¶½À´Ï´Ù.
::btw:³ëÆ®Æе忡 ÀÖ´Â µ¿¾È¿¡¸¸ :"btw"¿¡ ´ëÇÏ¿© ÀÌ ÅؽºÆ®·Î ±³Ã¼µË´Ï´Ù.
#IfWinActive
#c::MsgBox ³ëÆ®Æе尡 ¾Æ´Ñ â¿¡¼­ Win-C¸¦ ´­·¶½À´Ï´Ù.