Сообщение WM_GETTEXT

Const WM_GETTEXT = &HD

Пошлите сообщение WM_GETTEXT окну, чтобы отыскать текст того окна. Для обычных окон формы - это заголовок. Текст целевого окна скопирован в текстовый буфер, заданный в параметрах сообщения

Возвращаемое значение

Сообщение возвращает отысканное число символов, не считая заканчивающийся нулевой символ

Примечание для Visual Basic

При использовании SendMessage, чтобы послать сообщение WM_GETTEXT ключевое слово ByVal должно использоваться перед параметрами wParam и lParam

Параметры

wParam
Число символов для копирования текста целевого окна, включая необходимый завершающий нулевой символ
lParam
Строка, которая получает первые символы wParam (минус один для пустого указателя) текста целевого окна

Пример

' Отобразим текст заголовка окна Form1, посылая
' соответствующие сообщение
Dim wintext As String ' получим скопированный текст от целевого окна
Dim slength As Long  ' длина текста
Dim retval As Long ' возвращаемое значение

' Сначала, определим,сколько места необходимо для буфера.
' (1 добавлен для заканчивающегося нулевого символа)
slength = SendMessage(Form1.hWnd, WM_GETTEXTLENGTH, ByVal CLng(0), ByVal CLng(0)) + 1
' Создадим достаточный участок памяти в буфере, чтобы получить текст
wintext = Space(slength)
' Копируем текст целевого окна в буфер
retval = SendMessage(Form1.hWnd, WM_GETTEXT, ByVal slength, ByVal wintext)
' Удалим заканчивающийся пустой указатель и дополнительное пространство буфера
wintext = Left(wintext, retval)
' Показываем результат
Debug.Print "Заголовок формы: "; wintext

Смотри также

GetWindowText, WM_GETTEXTLENGTH, WM_SETTEXT

Категория

Окна