Функция GetWindowText


Функция GetWindowText копирует текст заголовка определяемого окна (если окно имеет его) в буфер. Если заданное окно является органом управления, копируется его текст. Однако функция GetWindowText не может извлекать текст органа управления в другом приложении.

Синтаксис

int GetWindowText(
HWND hWnd,       // дескриптор окна или элемента 
                 // управления с текстом
LPTSTR lpString// адрес буфера для текста
int nMaxCount    // максимальное число символов 
                 // для копирования

);

Параметры

hWnd

[in] Дескриптор окна или органа управления, содержащего текст.

lpString

[out] Указывает на буфер, который примет текст. Указатель на буфер, который получит текст. Если строка является такой же длины или длиннее, чем буфер, она обрезается и завершается символом NULL.

nMaxCount

Устанавливает максимальное число символов для копирования в буфер, включая символ NULL. Если текст превышает это ограничение, он усекается.

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

Если функция завершается успешно, возвращаемое значение - длина, в символах, скопированной строки, не, включая символа конца строки (нуль-терминатора). Если у окна нет заголовка или текста, если строка заголовка - пустая строка или, если дескриптор окна или органа управления недопустимы, возвращаемое значение нулевое. Чтобы получать расширенные данные об ошибках, вызовите GetLastError.

Эта функция не может извлекать текст из поля элемента редактирования в другой прикладной программе.

Замечания

Если целевое окно находится во владении текущего потока, функция GetWindowText вынуждена отправить сообщение WM_GETTEXT заданному окну или органу управления. Если целевое окно находится во владении другого потока и имеет заголовок GetWindowText извлекает текст заголовка окна. Если у окна нет заголовка, возвращаемое значение является нулевой строкой. Это поведение регулируется в соответствии с проектом. Оно позволяет прикладным программам вызвать функцию GetWindowText без зависания программы, если процесс, который владеет целевым окном, зависает. Однако если целевое окно зависаете, и оно принадлежит вызывающей программе, функция GetWindowText приведет к зависанию вызывающую программу.

Чтобы извлечь текст из органа управления в другом процессе, отправьте сообщение WM_GETTEXT непосредственно вместо вызова GetWindowText.

Пример

Пример смотри в статье Отправка сообщений.

Смотри также

Краткий обзор Окна, GetWindowTextLength, SetWindowText, WM_GETTEXT

Размещение и совместимость GetWindowText

Windows. NET Server

Да

Windows XP

Да

Windows 2000

Да

Windows NT

Да

Windows Me

Да

Windows 98

Да

Windows 95

Да

Используемая библиотека

User32.lib

Заголовочный файл

 

- объявлено в

Winuser.h

- включено в

Windows.h

Unicode

Нет

Замечания по платформе

Не имеется

 

Назад в оглавление
На главную страницу
На оглавление справки

Hosted by uCoz