Здравствуйте, Shmalex, Вы писали:
S>Как следить за мышой, перехватывать нажатие клаыишь и скрола?
Если я правильно понял, требуется перехватить нажатия не только для данного окна, но и для
всех процессов в системе. Тогда:
Требуется поставить hook на мышь. См. SetWindowsHookEx:
SetWindowsHookEx(idHook: integer; lpfn: TFNHookProc; hmod: Cardinal; dwThreadId: Cardinal);
В твоём случаем
idHook = WH_MOUSE (ставим на мышь);
lpfn = функция, которая будет получать сообщения. Должна иметь параметры (code: integer; wparam: integer; lparam: integer); Должна находится в DLL, если хочешь, чтобы обрабатывала сообщения от всех процессов; В этой и пишешь обработчики сообщений WM_xBUTTONUP, WM_xBUTTONDBLCLK, WM_xBUTTONDOWN и др., где x = L (левая кнопка), M(средняя, т.е. скролл, если есть), R(правая);
hmod = handle к DLL, к которой лежит lpfn; Если в текущем процессе hmod = 0;
dwThreadId = поток, к которому цепляешь hook, 0 — если цепляешь ко всем потокам.
В функции требуется вызывать
CallNextHookEx(...);
В конце работы вызвать
UnhookWindowsHookEx(...);
А вообще, по данному вопросу много инфы в нете, набери в поисковике
Hooks in Delphi и смотри.
... << RSDN@Home 1.1.3 stable >>
Здравствуйте, DenisKDA, Вы писали:
DKD>Здравствуйте, Shmalex, Вы писали:
S>>Как следить за мышой, перехватывать нажатие клаыишь и скрола?
DKD>Может это поможет
DKD>http://rsdn.ru/article/baseserv/hookdll.xmlАвтор(ы): Dr. Joseph M. Newcomer
Дата: 25.04.2001
Статья посвящена реализации глобальных хуков. В ней рассматриваются типичные проблемы, связанные
с различием виртуальных адресов перехватывающей DLL в адресных пространствах различных процессов, описывается
способ создания разделяемого сегмента данных, приводится пример DLL, реализующей глобальный хук.
Смотря где

Может, вполне подойдут всякие OnKeyPress

... << RSDN@Home 1.1.4 beta 3 rev. 241>> ... <<Winamp is playing "Kenji Kawai — 07 Kugutsuuta aratayo ni kamutsudo hite">> ...