Функция GetWindowLongW (winuser.h)
Извлекает сведения об указанном окне. Функция также извлекает 32-разрядное значение (DWORD) с указанным смещением в дополнительную память окна.
Синтаксис
LONG GetWindowLongW(
[in] HWND hWnd,
[in] int nIndex
);
Параметры
[in] hWnd
Тип: HWND
Дескриптор для окна и, косвенно, класса, к которому принадлежит окно.
[in] nIndex
Тип: int
Отсчитываемое от нуля смещение для извлекаемого значения. Допустимые значения находятся в диапазоне от нуля до количества байтов дополнительной памяти окна, минус четыре; Например, если вы указали 12 или более байтов дополнительной памяти, значение 8 будет индексом третьего 32-разрядного целого числа. Чтобы получить любое другое значение, укажите одно из следующих значений.
Значение | Значение |
---|---|
|
Извлекает стили расширенных окон. |
|
Извлекает дескриптор для экземпляра приложения. |
|
Извлекает дескриптор родительского окна, если таковой имеется. |
|
Извлекает идентификатор окна. |
|
Извлекает стили окна. |
|
Извлекает пользовательские данные, связанные с окном. Эти данные предназначены для использования приложением, создающим окно. Изначально его значение равно нулю. |
|
Извлекает адрес процедуры окна или дескриптор, представляющий адрес оконной процедуры. Для вызова процедуры окна необходимо использовать функцию CallWindowProc . |
Следующие значения также доступны, если параметр hWnd определяет диалоговое окно.
Значение | Значение |
---|---|
|
Извлекает адрес процедуры диалогового окна или дескриптор, представляющий адрес процедуры диалогового окна. Для вызова процедуры диалогового окна необходимо использовать функцию CallWindowProc . |
|
Извлекает возвращаемое значение сообщения, обработанного в процедуре диалогового окна. |
|
Извлекает дополнительную информацию, закрытую для приложения, например дескрипторы или указатели. |
Возвращаемое значение
Тип: LONG
Если функция выполняется успешно, возвращается запрошенное значение.
Если функция выполняется неудачно, возвращается нулевое значение. Дополнительные сведения об ошибке можно получить, вызвав GetLastError.
Если Метод SetWindowLong не был вызван ранее, Метод GetWindowLong возвращает ноль для значений в дополнительном окне или памяти класса.
Комментарии
Зарезервируйте дополнительную память окна, указав ненулевое значение в элементе cbWndExtra структуры WNDCLASSEX, используемой с функцией RegisterClassEx .
Примеры
Пример см. в разделе Создание, перечисление и изменение размера дочерних окон.
Примечание
Заголовок winuser.h определяет GetWindowLong в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Использование псевдонима, не зависящий от кодирования, с кодом, который не является нейтральным для кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или времени выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | winuser.h (включая Windows.h) |
Библиотека | User32.lib |
DLL | User32.dll |
Набор API | ext-ms-win-ntuser-windowclass-l1-1-0 (представлено в Windows 8) |
См. также раздел
Основные понятия
Справочные материалы