HyperLink


Bejelentkezés
E-mail: 
Jelszó: 






Skip Navigation Links
 

Egér események naplózása


Példaprogram letöltése

51078 bájt

Készítünk egy programot, amely képes naplózni az egér eseményeit, még akkor is, ha azt nem csak az alkalmazásunk keretein belül használjuk. Naplózásra kerülnek a gombok lenyomásának és felengedésének időpontjai és koordinátái, valamint a Scroll gomb használata.

Az egér állapotáról szeretnénk információkat gyűjteni, függetlenül attól, hogy melyik program az aktív. Ennek a problémának a megoldásához az úgynevezett Hook technikát alkalmazzuk.
A SetWindowsHookEx függvény segítségével elvégezzük a regisztrációt a rendszerben.
Hook:=SetWindowsHookEx(WH_JOURNALRECORD,@HookProc,hInstance,0);
Az első paraméterben megadott WH_JOURNALRECORD azt jelenti, hogy a rendszer által létrehozott üzeneteket akarjuk kezelni. A második paraméterben egy callback függvény nevét kell megadnunk. Ez a függvény végzi el az üzenetek feldolgozását.
Visszatérési értékként egy HHook típusú változóban kapjuk meg a létrehozott Hook azonosítóját.
Az üzenetek feldolgozását a HookProc eljárás végzi.
function HookProc(Code,wParam: Integer; var lParam: TEventMsg): Integer; stdcall;
Függvényünk elején meghívjuk a CallNextHookEx Windows függvényt, mely aktivizálja az esetlegesen más alkalmazások által hasonló módon igényelt Hook szolgáltatást.
Az egér üzeneteit külön kell bontanunk, hogy naplózni tudjuk az eseményeket. A HookProc függvény lParam paraméteréből meghatározhatjuk, hogy milyen egér esemény történt.
if lParam.message=WM_LBUTTONDOWN then
  s:='Bal gomb lenyomva: '+IntToStr(lParam.paramL)+','+IntToStr(lParam.paramH);
A struktúra message tagja megadja az esemény típusát. A paramL és paramH tagokból kiolvashatjuk az egér koordinátáit.
A program bezárásakor törölnünk kell a rendszerből a regisztrált Hook-ot. Ezt az UnhookWindowsHookEx függvény felhasználásával tehetjük meg.
UnhookWindowsHookEx(Hook);

Könyv
Ez a cikk megtalálható ebben a könyvben: Delphi Software Offline 2003 évkönyv 303. oldal

Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!

Copyright © 1999-2010 Animare Software Kft. Minden jog fenntartva!
| Készült: Animare Stúdió | Adatvédelem | Kapcsolat |