Declare Function WindowFromPoint Lib "user32" _ (ByVal xPoint As Long, _ ByVal yPoint As Long) As Long
WindowFromPoint определяет дескриптор окна, расположенного в определенной точке экрана (text box, list box, кнопки и другие объекты - тоже окна)
В успешном случае функция возвращает дескриптор окна в заданной точке. Если в этой точке нет окна или произошла ошибка - возвращается 0.
' Показываем текст заголовка окна, над которым находится курсор мыши ' Это может быть окно программы или окно элемента управления 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