Создание системных ловушек Windows на Borland C++ Builder
|
Страница 1 из 7 Прежде чем излагать материал я хочу заметить, что цель данной работы - показать как пишутся ловушки Windows вообще. Подробности, по мере возможности, я буду опускать (их можно найти в поставляемой со средой разработке справке).
Для начала определим, что именно мы хотим сделать. Цель: написать программу, которая будет вызывать хранитель экрана при перемещении курсора мыши в правый верхний угол и выдавать звуковой сигнал через встроенный динамик при переключении языка с клавиатуры. Предполагается, что такая программа должна иметь небольшой размер. Поэтому будем писать её с использованием только WIN API. Понятие ловушки. Ловушка (hook) - это механизм, который позволяет производить мониторинг сообщений системы и обрабатывать их до того как они достигнут целевой оконной процедуры. Для обработки сообщений пишется специальная функция (Hook Procedure). Для начала срабатывания ловушки эту функцию следует специальным образом "подключить" к системе. Если надо отслеживать сообщения всех потоков, а не только текущего, то ловушка должна быть глобальной. В этом случае функция ловушки должна находиться в DLL. Таким образом, задача разбивается на две части: - Написание DLL c функциями ловушки (их будет две: одна для клавиатуры, другая для мыши).
- Написание приложения, которое установит ловушку.
|