Слежка за мышкой
От: Shmalex Молдова  
Дата: 14.01.05 13:14
Оценка:
Как следить за мышой, перехватывать нажатие клаыишь и скрола?
Алексей М.
Re: Слежка за мышкой
От: DenisKDA  
Дата: 14.01.05 14:41
Оценка:
Здравствуйте, Shmalex, Вы писали:

S>Как следить за мышой, перехватывать нажатие клаыишь и скрола?


Может это поможет
http://rsdn.ru/article/baseserv/hookdll.xml
Автор(ы): Dr. Joseph M. Newcomer
Дата: 25.04.2001
Статья посвящена реализации глобальных хуков. В ней рассматриваются типичные проблемы, связанные
с различием виртуальных адресов перехватывающей DLL в адресных пространствах различных процессов, описывается
способ создания разделяемого сегмента данных, приводится пример DLL, реализующей глобальный хук.
Re: Слежка за мышкой
От: Philip_PV Беларусь  
Дата: 14.01.05 14:52
Оценка:
Здравствуйте, 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 >>
Re[2]: Слежка за мышкой
От: Mamut Швеция http://dmitriid.com
Дата: 14.01.05 14:55
Оценка:
Здравствуйте, 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">> ...


dmitriid.comGitHubLinkedIn
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.