Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

Como hacer para que el hook de teclado solo capture una tecl

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Como hacer para que el hook de teclado solo capture una tecl Responder citando

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
Mensaje    Asunto: Responder citando

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
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Hook de Teclado Responder citando

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.. Cool
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email Visitar sitio web del autor Yahoo Messenger MSN Messenger
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.