ControlGetText

콘트롤로부터 텍스트를 열람합니다.

ControlGetText, OutputVar [, Control, WinTitle, WinText, ExcludeTitle, ExcludeText]
선택

매개변수

OutputVar

열람된 텍스트를 저장할 변수의 이름.

Control

ClassNN (콘트롤의 클래스이름과 실체 번호) 또는 콘트롤의 텍스트일 수 있습니다. 둘 다 Window Spy를 통하여 알아낼 수 있습니다. 텍스트를 사용할 때, 부합 행위는 SetTitleMatchMode로 결정됩니다. 이 매개변수가 비어 있거나 생략되면, 목표 창의 최상위 콘트롤이 사용됩니다.

콘트롤의 HWND (창 핸들)에 작동시키려면, Control 매개변수를 비워두고 ahk_id %ControlHwnd%WinTitle 매개변수에 지정하십시오 (이것은 숨은 콘트롤에도 작동합니다. DetectHiddenWindows가 꺼져 있어도 상관없습니다). 콘트롤의 HWND는 전형적으로 ControlGet Hwnd, MouseGetPos, 또는 DllCall을 통하여 열람합니다.

WinTitle

목표 창을 식별하는 창 제목이나 기타 기준. WinTitle 참조.

WinText

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

ExcludeTitle

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

ExcludeText

텍스트에 이 값이 있는 창은 제외합니다.

ErrorLevel

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

ErrorLevel은 문제가 있으면 1이 설정되고 그렇지 않으면 0이 설정됩니다.

논평

주의: 텍스트를 ListView, ListBox, 또는 ComboBox으로부터 열람하려면, 대신에 ControlGet List를 사용하십시오.

열람된 텍스트가 잘려 나간 것 같으면 (불완전하면), ControlGetText 말고 VarSetCapacity(OutputVar, 55)를 사용해 보십시오 [55를 잘려나간 텍스트보다 상당히 더 긴 크기로 교체하십시오]. 어플리케이션이 WM_GETTEXTLENGTH 메시지에 제대로 응답하지 않는 경우, AutoHotkey가 출력 변수를 너무 작게 만들어 모든 텍스트를 담지 못하기 때문입니다.

열람된 텍스트의 양은 변수의 최대 가용 능력으로 제한됩니다 (이는 #MaxMem 지시어를 통하여 변경할 수 있습니다). 결과적으로, 목표 콘트롤에 방대한 양의 텍스트가 담겨 있으면 (예를 들어, 편집기에 방대한 문서가 열려 있는 경우) 이 명령어는 방대한 양의 램을 사용할 가능성이 있습니다. 그렇지만, 변수의 메모리는 아무것도 지정하지 않으면 손쉽게 해제할 수 있습니다. 즉, OutputVar =.

대부분의 콘트롤 유형으로부터 열람된 텍스트는 각 줄의 끝을 표시하기 위해 홀로 라인피드(`n)를 사용하지 않고 캐리지 리턴과 라인피드 (`r`n)를 사용합니다.

SetTitleMatchMode Slow를 처리할 필요는 없습니다. 왜냐하면 ControlGetText는 언제나 텍스트를 느린 방법으로 받기 때문입니다 (그 때문에 광범위한 범위의 콘트롤 유형에 작동합니다).

창의 모든 콘트롤 목록을 열람하려면, WinGet ControlList를 사용하십시오.

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

관련 항목

ControlSetText, WinGetText, Control, ControlGet, ControlMove, ControlFocus, ControlClick, ControlSend, #MaxMem

예제

ControlGetText, OutputVar, Edit1, Untitled -
선택 | 내려받기