Hooks de teclado y ratón
Publicada el Viernes, 14/9/2007 por David Esperalta
Para cierto hilo de los Foros del ClubDelphi he preparado un sencillo ejemplo de cómo puede controlarse la inactividad del teclado y ratón en Delphi.
Se trata de registrar sendos "Hooks" (ganchos) en el teclado y ratón, de modo que se nos informe cada vez que se hace uso de uno u otro dispositivo. No hay sino añadir la unidad "UHooks.pas" a un proyecto, y estar pendiente de la variable pública "SegundosInactividad".
unit UHooks; interface uses Windows; var HookRaton,HookTeclado: HHOOK; SegundosInactividad: integer; implementation const WH_KEYBOARD_LL = 13; WH_MOUSE_LL = 14; function MouseProc(nCode: Integer; WParam, LParam: DWORD): HHook; stdcall; begin if (nCode = HC_ACTION) then begin // Se hizo uso del ratón SegundosInactividad := 0; end; result := CallNextHookEx(HookRaton, nCode, WParam, LParam); end; function KeyBoardProc(nCode: Integer; WParam, LParam: DWORD): HHook; stdcall; begin if (nCode = HC_ACTION) then begin // Se hizo uso del teclado SegundosInactividad := 0; end; result := CallNextHookEx(HookTeclado, nCode, WParam, LParam); end; initialization SegundosInactividad := 0; HookRaton := SetWindowsHookEx(WH_MOUSE_LL, @MouseProc, HInstance, 0); HookTeclado := SetWindowsHookEx(WH_KEYBOARD_LL, @KeyBoardProc, HInstance, 0); finalization if (HookRaton 0) then UnhookWindowsHookEx(HookRaton); if (HookTeclado 0) then UnhookWindowsHookEx(HookTeclado); end.
Arriba ves la unidad "UHooks.pas", empero, podéis ver un proyecto de ejemplo completo en el hilo de los Foros del ClubDelphi que enlazo más arriba.
Categorías: Software
Hooks de teclado y ratón
Publicada el Viernes, 14/9/2007 por David Esperalta
Suscribirse a esta entrada - URL para Trackbacks
Publicada el Viernes, 14/9/2007 por David Esperalta
Suscribirse a esta entrada - URL para Trackbacks
Sin comentarios, ¡escribe uno ahora!