WinClose
지정된 창을 닫습니다.
WinClose [, WinTitle, WinText, SecondsToWait, ExcludeTitle, ExcludeText]
매개변수
- WinTitle
목표 창을 식별하는 창 제목 또는 다른 기준. WinTitle 참조.
- WinText
존재하면 목표 창 텍스트의 부문자열입니다 (Window Spy에 노출됨). 숨은 텍스트는 DetectHiddenText가 켜져 있으면(ON) 탐지됩니다.
- SecondsToWait
생략되거나 비어 있으면, 전혀 기다리지 않습니다. 0이면 500ms 동안 기다립니다. 그렇지 않으면, 지정 개수의 초 동안 창이 닫히기를 기다립니다 (소수점을 허용하고 표현식도 가능합니다). 창이 그 동안 닫히지 않더라도, 스크립트는 실행을 계속합니다. ErrorLevel은 이 명령어로 설정되지 않습니다. 그래서 창이 닫혔는지 확실하게 알 필요가 있다면 IfWinExist나 WinWaitClose를 사용하십시오. 이 명령어가 기다리는 동안, 핫키, 맞춤 메뉴 항목, 또는 타이머를 통하여 새 쓰레드를 기동할 수 있습니다.
- ExcludeTitle
제목에 이 값이 있는 창은 무시합니다.
- ExcludeText
텍스트에 이 값이 있는 창은 무시합니다.
논평
이 명령어는 창에 닫기 메시지를 전송합니다. 그 결과는 창에 따라 다릅니다 (데이터를 저장하도록 요구할 수 있습니다. 등등.)
부합하는 창이 활성화되어 있다면, 그 아래에 부합하는 어떤 창보다 우선 그 창이 닫힙니다. 일반적으로, 여러 창이 부합하면, 최상위 (가장 최근에 사용된) 창이 닫힙니다.
이 명령어는 부합하는 최상위 창에만 작동합니다. 단, WinTitle이 ahk_group GroupName일 경우는 제외합니다. 이 경우 그룹 안의 모든 창이 영향을 받습니다.
WinClose는 WM_CLOSE 메시지를 목표 창에 보냅니다. 약간 강제적인 방법으로 닫습니다. 다른 방법으로 닫으려면 다음 메시지를 보냅니다. 행위가 다를 수 있습니다. 왜냐하면. Alt-F4를 누르거나 제목 바에서 창의 닫기 버튼을 클릭한 것과 효과가 비슷하기 때문입니다:
PostMessage, 0x112, 0xF060,,, WinTitle, WinText ; 0x112 = WM_SYSCOMMAND, 0xF060 = SC_CLOSE
WinClose를 통하여 창이 닫히지 않으면, WinKill를 사용하여 강제로 닫을 수 있습니다.
창 제목과 텍스트는 대소문자에 민감합니다. 숨은 창은 DetectHiddenWindows가 켜져 있어야 탐지됩니다.
관련 항목
WinKill, WinWaitClose, Process, WinActivate, SetTitleMatchMode, DetectHiddenWindows, Last Found Window, IfWinExist, IfWinActive, WinWaitActive, WinWait, GroupActivate
예제
IfWinExist, Untitled - Notepad WinClose ; 위에서 발견한 창을 사용합니다 else WinClose, Calculator