Функция GetWindowLong

Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hWnd As Long, _
    ByVal nIndex As Long) As Long

GetWindowLong получает различную информацию о заданном окне

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

В случае ошибки функция возвращает 0 (используйте GetLastError для получения кода ошибки). В успешном случае функция возвращает 32-битное значение

Параметры

hWnd
Дескриптор окна для получения требуемой информации
nIndex
Значения, определяющие стиль окна. Возможны следующие значения:
GWL_EXSTYLE = -20
Расширенные стили окна
GWL_STYLE = -16
Стили окна
GWL_WNDPROC = -4
Указатель на функцию WindowProc
GWL_HINSTANCE = -6
Дескриптор экземпляра, владеющего окном
GWL_HWNDPARENT = -8
Дескриптор родителя заданного окна, если есть
GWL_ID = -12
Дескриптор окна
GWL_USERDATA = -21
Значение, определяемое приложением
Для диалоговых окон используются следующие значения:
DWL_DLGPROC = 4
Адрес процедуры диалогового окна
DWL_MSGRESULT = 0
Возвращаемое значение при обработке сообщения процедурой диалогового окна
DWL_USER = 8
Значение, определяемое приложением

Пример

' Смотри также пример apiform.zip

' Определим, имеет ли Form1 кнопку Восстановить
' в заголовке формы
' Присвойте свойству формы MaxButton значение False
Dim styles As Long

' Получим стили окна Form1
styles = GetWindowLong(Form1.hWnd, GWL_STYLE)
' Определяем, есть ли нужная нам кнопка
If (styles And WS_MAXIMIZEBOX) = WS_MAXIMIZEBOX Then
  Debug.Print "Form1 имеет кнопку Восстановить"
Else
  Debug.Print "Form1 не имеет кнопку Восстановить"
End If

Смотри также

GetClassLong, SetWindowLong

Категория

Классы