Функция 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.
Примеры
Пример см. в разделе Создание, перечисление и изменение размера дочернихWindows.
Заметка
Заголовок winuser.h определяет GetWindowLong как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows 2000 Профессиональный [только классические приложения] |
минимальный поддерживаемый сервер | Windows 2000 Server [только классические приложения] |
целевая платформа | Виндоус |
заголовка | winuser.h (включая Windows.h) |
библиотеки |
User32.lib |
DLL | User32.dll |
набор API | ext-ms-win-ntuser-windowclass-l1-1-0 (представлено в Windows 8) |
См. также
концептуальные
Справочник