ControlGetText

Retrieves text from a control.

Text := ControlGetText(Control , WinTitle, WinText, ExcludeTitle, ExcludeText)

Parameters

Control

Type: String, Integer or Object

The control's ClassNN, text or HWND, or an object with a Hwnd property. For details, see The Control Parameter.

WinTitle

Type: String, Integer or Object

A window title or other criteria identifying the target window. See WinTitle.

WinText

Type: String

If present, this parameter must be a substring from a single text element of the target window (as revealed by the included Window Spy utility). Hidden text elements are detected if DetectHiddenText is ON.

ExcludeTitle

Type: String

Windows whose titles include this value will not be considered.

ExcludeText

Type: String

Windows whose text include this value will not be considered.

Return Value

Type: String

This function returns the text of the specified control.

Error Handling

A TargetError is thrown if the window or control could not be found.

Remarks

Note: To retrieve text from a ListView, ListBox, or ComboBox, use ListViewGetContent or ControlGetItems instead.

If the retrieved text appears to be truncated (incomplete), it may be necessary to retrieve the text by sending the WM_GETTEXT message via SendMessage instead. This is because some applications do not respond properly to the WM_GETTEXTLENGTH message, which causes AutoHotkey to make the return value too small to fit all the text.

This function might use a large amount of RAM if the target control (e.g. an editor with a large document open) contains a large quantity of text. However, a variable's memory can be freed after use by assigning it to nothing, i.e. Text := "".

Text retrieved from most control types uses carriage return and linefeed (`r`n) rather than a solitary linefeed (`n) to mark the end of each line.

It is not necessary to do SetTitleMatchMode "Slow" because ControlGetText always retrieves the text using the slow method (since it works on a broader range of control types).

To retrieve a list of all controls in a window, use WinGetControls or WinGetControlsHwnd.

Window titles and text are case sensitive. Hidden windows are not detected unless DetectHiddenWindows has been turned on.

ControlSetText, WinGetText, Control functions

Examples

Retrieves the current text from Notepad's edit control and stores it in Text.

Text := ControlGetText("Edit1", "Untitled -")