Visual Basic 6. Руководство разработчика


Запросы к другим приложениям


Чтобы организовать запрос к другому приложению, необходимо указать вашей программе, о каком именно приложении идет речь. Один из способов, позволяющий это сделать, заключается в установке указателя мыши в окно другого приложения (информацию о состоянии которого требуется получить). Именно так сделано в приложении Query (рис. 13.8). Эта программа позволяет наблюдать за другими активными приложениями, используя уже известные функции GetCursorPos() и SetWindowPos(), а также нескольких новых функций, рассматриваемых в следующем параграфе.

VB6 в действии: проект Query

В окне приложения Query содержится информация о текущем активном окне и его родительском окне.

Рис. 13.8. Приложение Query

Для получения информации об остальных открытых окнах в этой программе используются следующие функции:

•           SetWindowPos()

•           GetCursorPos()

•           WindowFromPoint()

•           GetClassName()

•           GetWindowText()

•           GetParent()

SetWindowPos().

Функция используется для того, чтобы поместить окно данного приложения поверх окон других приложений. Ключевым элементом в ней является флаг HWND_TOPMOST, установка которого предписывает Windows располагать данное окно перед (либо позади, в зависимости от установки z-order) остальными окнами. Пользователь устанавливает указатель мыши в интересующее его окно и получает о нем информацию. Это достигается за счет использования функций GetCursorPos () и WindowFromPoint().

GetCursorPos(), WindowFromPoint().

Функция GetCursorPosQ возвращает коор­динаты указателя мыши (в системе координат окна). Затем эти координаты используются в функции WindowFromPointO для отыскания имени окна (видимого в точке с указанными координатами). Объявление функции WindowFromPointO имеет вид:

Declare Function WindowFromPoint Lib "user32" (ByVal xPoint As _

   Long, ByVal yPoint As Long) As Long

Параметры

xPoint и yPoint являются парой координат. Функция возвращает число типа Long Integer, которое является дескриптором окна, расположенного в данной точке.




Начало  Назад  Вперед