ControlGetFocus

목표 창에서 초점이 있는 콘트롤을 열람합니다.

ControlGetFocus, OutputVar , WinTitle, WinText, ExcludeTitle, ExcludeText

매개변수

OutputVar

The name of the output variable in which to store the identifier of the control, which consists of its classname followed by its sequence number within its parent window, e.g. Button12.

WinTitle

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

WinText

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

ExcludeTitle

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

ExcludeText

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

에러 처리

[v1.1.04+]: 이 명령어는 실패하면 예외를 던질 수 있습니다. 더 자세한 정보는 실행시간 에러를 참조하십시오.

ErrorLevel은 입력 초점이 있는 콘트롤을 성공적으로 열람하면 0이 설정됩니다. 그렇지 않으면 (예, 목표 창이 존재하지 않거나 입력 초점이 있는 콘트롤이 없는 경우) 1로 설정됩니다.

논평

이 명령어로 열람한 콘트롤은 키보드 초점이 있습니다. 다시 말해, 사용자가 타자를 하면 키눌림을 받아들입니다.

목표 창이 초점이 있는 콘트롤을 가지려면 활성화되어 있어야 합니다. 창이 활성화되어 있지 않으면, OutputVar는 비워집니다.

[v1.1.19.03]이전에서, ControlGetFocus를 높은 빈도로 (즉, 500 ms 보다 빠르게) 반복적으로 실행하면, 보통 사용자의 더블-클릭을 방해했습니다. 이 문제는 이제 해결되었습니다.

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

ControlFocus, ControlMove, ControlClick, ControlGetText, ControlSetText, ControlSend

예제

Reports the ClassNN of the control which has the input focus in Notepad.

ControlGetFocus, OutputVar, Untitled - Notepad
if ErrorLevel
    MsgBox, The target window doesn't exist or none of its controls has input focus.
else
    MsgBox, Control with focus = %OutputVar%