Функция 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 |
Нет |
Замечания по платформе |
Не имеется |