WinClose

지정된 창을 닫습니다.

WinClose , WinTitle, WinText, SecondsToWait, ExcludeTitle, ExcludeText

매개변수

WinTitle

목표 창을 식별하는 창 제목 또는 다른 기준. WinTitle 참조.

WinText

존재하면, 이 매개변수는 목표 창 텍스트의 부문자열입니다 (동봉된 Window Spy 유틸리티에 노출됨). 숨은 텍스트는 DetectHiddenText가 켜져 있어야 탐지됩니다.

SecondsToWait

생략되거나 비어 있으면, 전혀 기다리지 않습니다. 0이면 500ms 동안 기다립니다. 그렇지 않으면, 지정 개수의 초 동안 창이 닫히기를 기다립니다 (소수점을 허용하고 표현식도 가능합니다). 창이 그 동안 닫히지 않더라도, 스크립트는 실행을 계속합니다. ErrorLevel is not set by this command, so use WinExist(), IfWinExist or WinWaitClose if you need to determine for certain that a window is closed. 이 명령어가 대기 상태에 있는 동안에, 핫키, 맞춤 메뉴 항목, 또는 타이머를 통하여 새 쓰레드가 기동할 수 있습니다.

ExcludeTitle

제목에 이 값이 있는 창은 무시합니다.

ExcludeText

텍스트에 이 값이 있는 창은 무시합니다.

논평

이 명령어는 창에 닫기 메시지를 전송합니다. 그 결과는 창에 따라 다릅니다 (데이터를 저장하도록 요구할 수 있습니다. 등등.)

If a matching window is active, that window will be closed in preference to any other matching window. 일반적으로, 여러 창이 부합하면, 최상위 (가장 최근에 사용된) 창이 닫힙니다.

This command operates only upon a single window except when WinTitle is ahk_group GroupName (with no other criteria specified), in which case all windows in the group are affected.

WinClose는 WM_CLOSE 메시지를 목표 창에 보냅니다. 약간 강제적인 방법으로 닫습니다. 다른 방법으로 닫으려면 다음 메시지를 보냅니다. 행위가 다를 수 있습니다. 왜냐하면. Alt+F4를 누르거나 제목 바에서 창의 닫기 버튼을 클릭한 것과 효과가 비슷하기 때문입니다:

PostMessage, 0x0112, 0xF060,,, WinTitle, WinText  ; 0x0112 = WM_SYSCOMMAND, 0xF060 = SC_CLOSE

WinClose를 통하여 창이 닫히지 않으면, WinKill를 사용하여 강제로 닫을 수 있습니다.

창 제목과 텍스트는 대소문자를 구분합니다. 숨은 창은 DetectHiddenWindows가 켜져 있어야 탐지됩니다.

WinKill, WinWaitClose, Process, WinActivate, SetTitleMatchMode, DetectHiddenWindows, 마지막 발견 창, WinExist(), WinActive(), WinWaitActive, WinWait, GroupActivate

예제

If Notepad does exist, close it, otherwise close the calculator.

if WinExist("Untitled - Notepad")
    WinClose ; Use the window found by WinExist.
else
    WinClose, Calculator