Функция GetWindow

Declare Function GetWindow Lib "user32" (ByVal hwnd As Long, ByVal wCmd As Long) As Long

GetWindow возвращает дескриптор окна, связанного с данным окном. Имеются ввиду отношения между дочерне - родительскими окнами или отношения между дочерними окнами самого родительского окна. Точное отношение определено переменной wCmd. В случае ошибки или если не имеется никакого окна, имеющего указанное отношение, функция возвращает 0

Параметры

hwnd
Дескриптор первого окна
wCmd
Точно один из следующих флажков, определяющих отношения между возвращенным окном и данным окном:
GW_HWNDFIRST = 0
Самое первое окно в Z-order, имеющем того же самого родителя, как и данное окно
GW_HWNDLAST = 1
Самое последнее окно в Z-order, имеющем того же самого родителя, как и данное окно
GW_HWNDNEXT = 2
Окно ниже данного окна в Z-order
GW_HWNDPREV = 3
Окно выше данного окна в Z-order
GW_OWNER = 4
Окно, которое имеет данное окно (чтобы не быть перепутанным с родительским окном)
GW_CHILD = 5
Самый верхний из дочерних окон данного окна. Это имеет тот же самый эффект как использование функции GetTopWindow

Пример

' Заставим мигнуть окно приложения, которое является ниже Form1 в Z-order
Dim nextwin As Long  ' получим дескриптор следующего окна в Z-order
Dim retval As Long  ' дескриптор для мигающего окна

nextwin = GetWindow(Form1.hWnd, GW_HWNDNEXT)  'получаем дескриптор следующего окна
If nextwin <> 0 Then   ' не используйте флажки, если никакого такого окна не существует
  ' Следующие три строки помечают окно однажды
  retval = FlashWindow(nextwin, 1): Sleep 250
  retval = FlashWindow(nextwin, 1): Sleep 250
  retval = FlashWindow(nextwin, 0)
End If

Смотри также

GetActiveWindow, GetTopWindow

Категория

Окна

Реклама