FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
ayuda explicaxion de hook
alguno me podria ayudar como hacer un hook que solo me capture el clic derecho ctrl+p y ctrl+g
|
#2
|
||||
|
||||
Hola, en este hilo puedes encontrar la respuesta:
https://www.clubdelphi.com/foros/showthread.php?t=45462 Saludos
__________________
\_--> NoShY <--_/ |
#3
|
||||
|
||||
En una primera aproximación podemos escribir el siguiente código que responde a las pulsaciones y en el orden impuesto:
Ctl + RBUTTON + G ó RBUTON + Ctl + G y Ctl + RBUTTON + P ó RBUTON + Ctl + P
Saludos. Última edición por escafandra fecha: 07-02-2017 a las 01:58:31. |
#4
|
|||
|
|||
Cita:
quisiera saber donde llamar el procedimiento HotKey lo que queda registrado en RegisterHotKey |
#5
|
||||
|
||||
La API RegisterHotKey registra una ventana, en este caso nuestro formulario, para que Windows le envíe un mensaje WM_HOTKEY. Se puede registrar cualquier tecla con un modificador (MOD_ALT, MOD_CONTROL, MOD_SHIFT ó MOD_WIN) en este caso he usado MOD_CONTROL. No puedes registrar botones del ratón. Para recibir el mensaje debes implementar un procedimiento que lo haga, en este caso lo llamé HotKey y se encarga de procesar el mensaje WM_HOTKEY. Cada tecla registrada tiene un ID con el que la registras, en este caso 0 para 'P' y 1 para 'G'. HotKey se entera del ID porque le llega en Message.WParam, con lo que ya sabemos que tecla lo disparó.
Para controlar si se pulsó el botón derecho del ratón usamos GetAsyncKeyState(VK_RBUTTON). Al realizar una operación and binaria con $8000 sabremos si el botón esta pulsado pues en ese caso el resultado será distinto de 0. Para terminar, debes anular el registro de las teclas con la API UnregisterHotKey, una llamada por cada tecla registrada usando el identificador que usaste al registrarlas. Esto se puede hacer al finalizar el formulario o cuando ya no precises que tu formulario siga respondiendo al mensaje WM_HOTKEY. Este sería el código completo de la Unit:
Yo he utilizado un sonido para mostrar que se detectan las combinaciones de teclas + RBUTTON pero tu deberás poner el código que te parezca. Saludos. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Hook a la API Createprocess | l30 | API de Windows | 20 | 06-04-2014 04:38:29 |
Hook a la API GetClipboardData | escafandra | C++ Builder | 0 | 16-09-2008 20:54:44 |
Hook de Teclado + DLL | FeLiXxUcO | C++ Builder | 12 | 12-02-2006 20:59:53 |
Hook de teclado! | marceloalegre | Varios | 2 | 17-10-2005 01:59:47 |
Ayuda con Windows Hook!! | COCOL | API de Windows | 0 | 18-02-2005 23:51:09 |
|