Функция WindowFromPoint

Declare Function WindowFromPoint Lib "user32"  _
        (ByVal xPoint As Long,  _
         ByVal yPoint As Long) As Long

WindowFromPoint определяет дескриптор окна, расположенного в определенной точке экрана (text box, list box, кнопки и другие объекты - тоже окна)

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

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

Параметры

xPoint
Координата x точки при определении окна
yPoint
Координата y точки при определении окна

Пример

' Показываем текст заголовка окна, над которым находится курсор мыши
' Это может быть окно программы или окно элемента управления
Dim mousepos As POINTAPI ' координаты курсора мыши
Dim wintext As String, slength As Long ' текст заголовков окна и его длина
Dim hwnd As Long ' дескриптор окна, находящегося в точке
Dim lRet As Long ' возвращаемое значение

' Определяем окно под курсором
lRet = GetCursorPos(mousepos) ' получаем координаты курсора
hwnd = WindowFromPoint(mousepos.x, mousepos.y) ' определяем окно под курсором
If hwnd = 0 Then  ' ошибка или нет окна  в этой точке
  Debug.Print "Здесь ничего нет"
  End
End If

' Показываем заголовок окна
slength = GetWindowTextLength(hwnd)  ' получаем длину заголовка
wintext = Space(slength + 1) ' создаем место в буфере для приема строки
slength = GetWindowText(hwnd, wintext, slength + 1) ' получаем текст
wintext = Left(wintext, slength) ' извлекаем строку из буфера
Debug.Print "Заголовок окна: "; wintext

Категория

Окна