| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
trtrtt Invitado
|
Publicado: Mie 22 Ene, 2003 1:43 am Asunto: Como hacer para que el hook de teclado solo capture una tecl |
|
|
Teniendo el siguiente codigo el programa es llamado dos veces, 1 cuando se presiona la tecla y 2 cuando se suelta y me sale la misma tecla duplicada, ¿alguien se le ocurre arreglarlo?
char texto[500];
int textcount=0;
LRESULT __stdcall MensajeTeclado(int Codigo, WPARAM wParam, LPARAM lParam)
{
//if (lParam & 0x00000001) habia pensado comparar & los bits para ver si estaba activo el ultimo indicando si estaba apretada o soltada pero no va
texto[textcount++] = (char)wParam;
canForm->Edit1->Text = texto;
//Beep(1000, 300); esto para comprobar que efectivamente llama dos veces
if (Codigo < 0) return CallNextHookEx(enlace, Codigo, wParam, lParam);
else return 0;
} |
|
| Volver arriba |
|
 |
_Leo Site Admin

Registrado: 11 Ago 2002Mensajes: 1875Ubicación: Lanzarote - Islas Canarias (España)
|
Publicado: Mar 28 Ene, 2003 2:46 am Asunto: |
|
|
| Cita: | | //if (lParam & 0x00000001) habia pensado comparar & los bits para ver si estaba activo el ultimo indicando si estaba apretada o soltada pero no va |
Estas usando el bit 0 y el que indica si esta pulsada o no es el 31, o sea, algo así:
if (lParam & 0x80000000)...
Mas detalles en: KeyboardProc |
|
| Volver arriba |
|
 |
Raúl Capt


Registrado: 16 Ago 2002Mensajes: 174Ubicación: Oruro (Bolivia)
|
Publicado: Mie 26 Oct, 2005 2:39 am Asunto: Hook de Teclado |
|
|
Hola a todos...
El ejemplo que ponen aqui me servira para una aplicacion que quiero hacer, pero el problema es que el ejemplo solo captura una tecla no se si me pueden ayudar para saber cuando se ha presionado las teclas Ctrl + F1, o si alguien sabe el codigo binario de estas.
Gracias a todos..  |
|
| Volver arriba |
|
 |
|