½ºÅ©¸³Æ®°¡ Á¾·áÇÒ ¶§ ÀÚµ¿À¸·Î ½ÇÇàÇÒ ¼ºê·çƾ ¶Ç´Â ÇÔ¼ö¸¦ ÁöÁ¤ÇÕ´Ï´Ù.
OnExit [, Label]
OnExit(Func [, AddRemove]) ; Requires [v1.1.20+]
»ý·«Çϸé, ÀÌÀü¿¡ µî·ÏµÈ ¶óº§ÀÌ µî·Ï ÇØÁ¦µË´Ï´Ù. ±×·¸Áö ¾ÊÀ¸¸é ½ºÅ©¸³Æ®°¡ ¾î¶² ¹æ½ÄÀ¸·Îµç Á¾·áÇÒ ¶§ ±×ÀÇ ³»¿ëÀÌ (»õ ¾²·¹µå·Î) ½ÇÇàµÉ ¶óº§ÀÇ À̸§À» ÁöÁ¤ÇϽʽÿÀ.
½ºÅ©¸³Æ®°¡ Á¾·áÇÒ ¶§ È£ÃâÇÒ ÇÔ¼ö À̸§ ¶Ç´Â ÇÔ¼ö °´Ã¼. ÀÌ ÇÔ¼ö´Â ¼±ÅÃÀûÀ¸·Î ¾Æ·¡¿Í °°ÀÌ ¸Å°³º¯¼ö¸¦ Á¤ÀÇÇÒ ¼ö ÀÖ½À´Ï´Ù. OnExit ÇÔ¼ö°¡ 0 ¾Æ´Ñ Á¤¼ö °ªÀ» µ¹·Á ÁÖ¸é, ½ºÅ©¸³Æ®´Â Á¾·áÇÏÁö ¾Ê½À´Ï´Ù. ±×·¸Áö ¾ÊÀ¸¸é, ½ºÅ©¸³Æ®´Â ¸ðµç µî·ÏµÈ ÇÔ¼ö¸¦ È£ÃâÇÑ ÈÄ¿¡ Á¾·áÇÕ´Ï´Ù.
ExitFunc(ExitReason, ExitCode)
´ÙÀ½ °ª Áß Çϳª:
1 (±âº»°ª): ÀÌÀü¿¡ µî·ÏµÈ ÇÔ¼öµé ´ÙÀ½¿¡ ÀÌ ÇÔ¼ö¸¦ È£ÃâÇÕ´Ï´Ù.
-1: ÀÌÀü¿¡ µî·ÏµÈ ÇÔ¼öº¸´Ù ¸ÕÀú ÀÌ ÇÔ¼ö¸¦ È£ÃâÇÕ´Ï´Ù.
0: ÇÔ¼ö¸¦ È£ÃâÇÏÁö ¾Ê½À´Ï´Ù.
¶óº§(¼ºê·çƾ)ÀÌ µî·ÏµÇ¾î ÀÖÀ¸¸é, ±×°ÍÀÌ ¾ðÁ¦³ª ¸ÕÀú È£ÃâµË´Ï´Ù.
Áß¿ä: ½ºÅ©¸³Æ®¸¦ Á¾·áÇÏ´Â ´ë½Å¿¡ ÁöÁ¤µÈ ¼ºê·çƾÀÌ È£ÃâµÇ±â ¶§¹®¿¡, ±× ¼ºê·çƾÀº Á¾·á°¡ ÇÊ¿äÇÏ¸é ¹Ýµå½Ã ExitApp ¸í·É¾î¸¦ »ç¿ëÇØ¾ß ÇÕ´Ï´Ù. [v1.1.20+]: »õ ½ºÅ©¸³Æ®´Â ¼ºê·çƾ ´ë½Å¿¡ ÇÔ¼ö¸¦ »ç¿ëÇØ¾ß ÇÕ´Ï´Ù -- ÀÌ·¸°Ô ÇÏ¸é ¿ì¹ßÀûÀ¸·Î Á¾·á°¡ ºÒ°¡´ÉÇÑ ½ºÅ©¸³Æ®¸¦ ¸¸µé¾î ³¾ À§ÇèÀ» ÁÙ¿© ÁÝ´Ï´Ù. ±×¸®°í Exit ¶Ç´Â ExitApp¿¡ °Ç³Ù Á¾·á Äڵ尡 º¸Á¸µÈ´Ù´Â È®½ÅÀ» ÇÒ ¼ö ÀÖ½À´Ï´Ù.
[v1.1.20+]: ¾ó¸¶µçÁö OnExit ÇÔ¼ö¸¦ µî·ÏÇÒ ¼ö ÀÖ½À´Ï´Ù. ¶óº§ (¼ºê·çƾ)µµ µî·ÏµÇ¾î ÀÖ´Ù¸é, ÇÔ¼ö´Â ¼ºê·çƾÀÌ ExitApp¸¦ È£ÃâÇÑ µÚ¿¡ È£ÃâµË´Ï´Ù. OnExit ÇÔ¼ö´Â º¸Åë ExitApp¸¦ È£ÃâÇÏ¸é ¾È µË´Ï´Ù; ±×·² °æ¿ì, ½ºÅ©¸³Æ®´Â Áï½Ã Á¾·áÇÕ´Ï´Ù.
¾î¶² ¼ö´ÜÀ¸·Îµç ½ºÅ©¸³Æ®°¡ Á¾·áÇÒ ¶§ OnExit ¼ºê·çƾÀÌ È£ÃâµË´Ï´Ù (´Ü, "End Task"¿Í °°Àº °ÍÀ¸·Î Á¾·áµÇ´Â °æ¿ì´Â ¿¹¿ÜÀÔ´Ï´Ù). ¶ÇÇÑ #SingleInstance ±×¸®°í Reload ¸í·É¾î°¡ ÀÌÀüÀÌ ½Çü¸¦ Á¾·áÇϵµ·Ï ¿ä±¸ÇÒ ¶§¸¶´Ù È£ÃâµË´Ï´Ù.
½ºÅ©¸³Æ®´Â OnMessage(0x11, "WM_QUERYENDSESSION")
¸¦ ÅëÇÏ¿© ½Ã½ºÅÛ ¼Ë´Ù¿îÀ̳ª ·Î±×¿ÀÇÁ¸¦ ŽÁöÇÒ ¼ö ÀÖ°í ¼±ÅÃÀûÀ¸·Î Ãë¼ÒÇÒ ¼öµµ ÀÖ½À´Ï´Ù.
OnExit ¾²·¹µå´Â #MaxThreads¸¦ ÁؼöÇÏÁö ¾Ê½À´Ï´Ù. (ÇÊ¿äÇÏ¸é ¾ðÁ¦µçÁö ±âµ¿ÇÕ´Ï´Ù). °Ô´Ù°¡, ½ÇÇà ÁßÀÎ µ¿¾È, ´Ù¸¥ ¾²·¹µå·Î ÀÎÅÍ·´Æ® ÇÒ ¼ö ¾ø½À´Ï´Ù. ¿©±â¿¡´Â ÇÖÅ°, ¸ÂÃã ¸Þ´º Ç׸ñ, ±×¸®°í ŸÀÌ¸Ó ¼ºê·çƾÀÌ Æ÷ÇԵ˴ϴÙ. ±×·¸Áö¸¸, »ç¿ëÀÚ°¡ ¸ÞÀÎ ¸Þ´º³ª Æ®·¹ÀÌ ¸Þ´º·ÎºÎÅÍ ExitÀ» ¼±ÅÃÇß´Ù¸é ÀÎÅÍ·´Æ® µË´Ï´Ù (±×¸®°í ½ºÅ©¸³Æ®´Â Á¾·áÇÕ´Ï´Ù). ±×·¸Áö ¾ÊÀ¸¸é ½ºÅ©¸³Æ®¿¡ Reload ¶Ç´Â #SingleInstance °á°ú·Î Á¾·áÇϵµ·Ï ¿ä±¸ÇÕ´Ï´Ù. ÀÌ ¶§¹®¿¡ OnExit ¼ºê·çƾÀº »¡¸® ³¡³ªµµ·Ï ¼³°èÇØ¾ß ÇÕ´Ï´Ù. ´Ü, »ç¿ëÀÚ°¡ ¹«½¼ ÀÏÀÌ ÁøÇàµÇ´ÂÁö ¾Ë°í ÀÖ´Â °æ¿ì´Â ¿¹¿ÜÀÔ´Ï´Ù.
OnExit ¾²·¹µå°¡ ½ÇÇà½Ã°£ ¿¡·¯ °°Àº ½ÇÆÐ Á¶°ÇÀ» ¸¸³ª¸é, ½ºÅ©¸³Æ®´Â Á¾·áÇÕ´Ï´Ù. ÀÌ ¶§¹®¿¡ °áÇÔÀÌ ÀÖ´Â OnExit ¼ºê·çƾÀº ½ºÅ©¸³Æ®¸¦ Á¾·áÇÏÁö ¸øÇÏ°Ô ¸·À» ¼ö ¾ø½À´Ï´Ù.
Exit ¶Ç´Â ExitApp ¸í·É¾î ¶§¹®¿¡, Á¾·á Äڵ带 ÁöÁ¤ÇÑ OnExit ¼ºê·çƾÀÌ ±âµ¿µÇ¸é, v1.1.19 ÀÌÀü¿¡¼ ±× ÄÚµå´Â ¹«½ÃµÇ°í ´õ ÀÌ»ó »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù. [v1.1.20+]¿¡¼ ÃÖÃÊÀÇ Á¾·á Äڵ尡 »ç¿ëµË´Ï´Ù. ´Ü, ExitApp È£ÃâÇÏ¿© »õ Á¾·á ÄÚµå·Î ¿À¹ö¶óÀ̵åÇÑ °æ¿ì´Â ¿¹¿ÜÀÔ´Ï´Ù.
OnExit ¼ºê·çƾÀÌ Á¾·á ½Ãµµ·Î È£ÃâµÉ ¶§¸¶´Ù, SendMode¿Í °°Àº ¼³Á¤¿¡ ´ëÇÑ ±âº» °ªµéÀ» °¡Áö°í »õ·Ó°Ô ½ÃÀÛÇÕ´Ï´Ù. ÀÌ·± ±âº»°ªµéÀº ÀÚµ¿-½ÇÇà ¼½¼Ç¿¡¼ ¹Ù²Ü ¼ö ÀÖ½À´Ï´Ù.
³»Àå ÇÔ¼ö A_ExitReason´Â ºñ¾î ÀÖ½À´Ï´Ù. ´Ü, OnExit ¼ºê·çƾÀÌ ÇöÀç ½ÇÇà ÁßÀ̰ųª ÀÌÀüÀÌ Á¾·á ½Ãµµ·Î ÀÎÇØ Àû¾îµµ ÇÑ ¹ø È£ÃâµÈ °æ¿ì´Â ¿¹¿ÜÀÔ´Ï´Ù. ºñ¾î ÀÖÁö ¾ÊÀ¸¸é, ´ÙÀ½ ´Ü¾î Áß ÇϳªÀÔ´Ï´Ù:
Logoff | »ç¿ëÀÚ°¡ ·Î±×¿ÀÇÁ ÁßÀÔ´Ï´Ù. |
Shutdown | ¿¹¸¦ µé¾î Shutdown ¸í·É¾î·Î ½Ã½ºÅÛÀÌ ´ÝÈ÷°í ÀÖ´Â ÁßÀ̰ųª Àç½ÃÀÛ ÁßÀÔ´Ï´Ù. |
Close | ½ºÅ©¸³Æ®¿¡ WM_CLOSE ¶Ç´Â WM_QUIT ¸Þ½ÃÁö°¡ Àü¼ÛµÇ¾ú½À´Ï´Ù. ½ºÅ©¸³Æ®¿¡ ½É°¢ÇÑ ¿¡·¯°¡ ÀÖ½À´Ï´Ù. ¶Ç´Â ´Ù¸¥ ¾î¶² ¹æ¹ýÀ¸·Î ´ÝÇû½À´Ï´Ù. ÀÌ ¸ðµç °ÍÀÌ ºñÁ¤»óÀûÀÌÁö¸¸, WM_CLOSE´Â ½ºÅ©¸³Æ®ÀÇ ¸ÞÀΠâ¿¡ »ç¿ëµÈ WinClose¿¡ ÀÇÇØ ¾ß±âµÉ ¼öµµ ÀÖ½À´Ï´Ù. À̸¦ ¹æÁöÇÏ·Á¸é, ¸ÞÀΠâÀ» Send, !{F4} ·Î Ãë¼ÒÇϽʽÿÀ. |
Error | ½ÇÇà½Ã°£ ¿¡·¯°¡ ÇÖÅ°°¡ ¾ø°í ¿µ¼ÓÀûÀÌ ¾Æ´Ñ ½ºÅ©¸³Æ®¿¡ ÀϾ½À´Ï´Ù. ½ÇÇà½Ã°£ ¿¡·¯ÀÇ ¿¹´Â Run/RunWait°¡ ÁöÁ¤µÈ ÇÁ·Î±×·¥À̳ª ¹®¼¸¦ ±âµ¿½ÃÅ°Áö ¸øÇÏ´Â °æ¿ìÀÔ´Ï´Ù. |
Menu | »ç¿ëÀÚ°¡ ¸ÞÀΠâÀÇ ¸Þ´º ¶Ç´Â Ç¥ÁØ Æ®·¹ÀÌ ¸Þ´º·ÎºÎÅÍ ·ÎºÎÅÍ Exit¸¦ ¼±ÅÃÇß½À´Ï´Ù. |
Exit | Exit ¶Ç´Â ExitApp ¸í·É¾î°¡ »ç¿ëµÇ¾ú½À´Ï´Ù (¸ÂÃã ¸Þ´º Ç׸ñ Æ÷ÇÔ). |
Reload | ½ºÅ©¸³Æ®°¡Reload ¸í·É¾î³ª ¸Þ´º Ç׸ñÀ» ÅëÇÏ¿© ÀçÀûÀç ÁßÀÔ´Ï´Ù. |
Single | #SingleInstanceÀÇ °á°ú·Î ½ºÅ©¸³Æ®°¡ ÀÚ½ÅÀÇ »õ ½Çü·Î ±³Ã¼ ÁßÀÔ´Ï´Ù. |
OnMessage(), RegisterCallback(), OnClipboardChange, ExitApp, Shutdown, #Persistent, Threads, Gosub, Return, Menu
´ÙÀ½ ¿¹Á¦´Â #Persistent¸¦ »ç¿ëÇÏ¿© ½ºÅ©¸³Æ®°¡ ÀÚµ¿À¸·Î Á¾·áÇÏ´Â °ÍÀ» ¸·½À´Ï´Ù. ½ºÅ©¸³Æ®¸¦ ½ÇÇàÇÑ ÈÄ¿¡, Æ®·¹ÀÌ ¾ÆÀÌÄÜÀ» ¿ìŬ¸¯ÇÏ°í ExitÀ» Ŭ¸¯ÇØ º¸¸é OnExit ¶Ç´Â ÇÔ¼ö°¡ ÀÛµ¿ÇÏ´ÂÁö °ËÁõÇØ º¼ ¼ö ÀÖ½À´Ï´Ù. ±× ´ÙÀ½ "Yes"¸¦ Ŭ¸¯ÇÏ¸é ½ºÅ©¸³Æ®°¡ Á¾·áÇÏ°í "No"¸¦ Ŭ¸¯ÇÏ¸é ½ÇÇàÀ» ±×´ë·Î À¯ÁöÇÕ´Ï´Ù.
#Persistent OnExit, ExitSub return ExitSub: if A_ExitReason not in Logoff,Shutdown ; ÀÌ ÁÙ¿¡¼ ½°Ç¥ µÑ·¹¿¡ ½ºÆäÀ̽º¸¦ ÇÇÇϽʽÿÀ. { MsgBox, 4, , Á¾·áÇÏ°í ½Í½À´Ï±î? IfMsgBox, No return } ExitApp ; OnExit ¼ºê·çƾÀÌ ÀÖ´Â ½ºÅ©¸³Æ®´Â Á¾·áÇÏÁö ¾Ê½À´Ï´Ù. ´Ü, ¼ºê·çƾÀÌ ExitApp¸¦ »ç¿ëÇÏ´Â °æ¿ì´Â ¿¹¿ÜÀÔ´Ï´Ù.
#Persistent ; Á¾·á½Ã¿¡ È£ÃâµÉ ÇÔ¼ö¸¦ µî·ÏÇÕ´Ï´Ù: OnExit("ExitFunc") ; Á¾·á½Ã¿¡ È£Ãâµ¹ °´Ã¼¸¦ µî·ÏÇÕ´Ï´Ù: OnExit(ObjBindMethod(MyObject, "Exiting")) ExitFunc(ExitReason, ExitCode) { if ExitReason not in Logoff,Shutdown { MsgBox, 4, , ³¡³»°í ½Í½À´Ï±î? IfMsgBox, No return 1 ; OnExit ÇÔ¼ö´Â Á¾·á¸¦ ¸·±â À§ÇØ ¹Ýµå½Ã 0 ¾Æ´Ñ °ªÀ» µ¹·ÁÁÖ¾î¾ß ÇÕ´Ï´Ù. } ; ExitApp¸¦ È£ÃâÇÏÁö ¸¶½Ê½Ã¿À -- ±×·¯¸é ´Ù¸¥ OnExit ÇÔ¼ö°¡ È£ÃâµÇÁö ¸øÇÕ´Ï´Ù. } class MyObject { Exiting() { MsgBox, Á¾·áÇϱâ Àü¿¡ MyObject°¡ û¼Ò ÁßÀÔ´Ï´Ù... /* this.SayGoodbye() this.CloseNetworkConnections() */ } }