Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 02-11-2005
Avatar de marceloalegre
[marceloalegre] marceloalegre is offline
Miembro Premium
 
Registrado: abr 2005
Ubicación: Mar del Plata - Argentina
Posts: 448
Poder: 20
marceloalegre Va por buen camino
Question Hook Roman Con ECO ECO ECO!!

Buenas tardes a todos:

Bueno hoy estaba muy divertido en mi casa, Mar del Plata, hacia calor asi que me decidi a entretenerme de la mejor forma, cual!? abri la ventana y me puse a programar algunos trabajillos retrasados...

Entonces para algo que estoy desarrollando, se me ocurrio el usar el hook de roman y hacer algo simple " que todas las teclas esten bloqueadas, pero pasar las letras y nros a un edit.. algo muy simple"..
he de aqui que hice lo que me pareció mas logico... un perform al edit.. pero bueno resulta que tiene Ecoooo (sale 2 veces) aparte lo mas loco de todo es que si debugeo un poco lento no sale con eco, sino ejecuta 2 veces el envio de la tecla... bueno he tratado de hacer varias cosas y nada me sirvio, asi que les muestro mi pequeño problema a ver si pueden darme una mano, quizas mi falta de conocimientos de delphi se estan poniendo hoy a la orden del dia..

Código:
form1.Edit1.Perform(WM_CHAR,VKCODE,0);
y les dejo mi fuente de la prueba a ver si alguien me recomienda algun cambio..

Como siempre, de antemano, MIL GRACIAS a todos!
Archivos Adjuntos
Tipo de Archivo: zip hooktest.zip (2,9 KB, 75 visitas)

Última edición por marceloalegre fecha: 02-11-2005 a las 23:35:08.
Responder Con Cita
  #2  
Antiguo 03-11-2005
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
Cita:
Empezado por kanvictor
...Bueno hoy estaba muy divertido en mi casa, Mar del Plata, hacia calor asi que me decidi a entretenerme ...
Lindo día en tu ciudad, calor, vallas, policías, militares y a la espera del kaiser...
Tu problema es que tu código toma el KeyDown y el KeyUp, por eso lo ves repetido.
Una de las cosas que podrías hacer, es definir la constante LLKHF_UP:
Código Delphi [-]
const
 LLKHF_UP = $00000080;
Y discriminar uno de los momentos:
Código Delphi [-]
  if (PKbdHookInfo(LParam).Flags and LLKHF_UP = 0) then

Resumiendo:
Código Delphi [-]
const
 LLKHF_UP = $00000080;
...
function KbdHook(Code: Integer; WParam, LParam: DWORD): HHook; stdcall;
begin
  if Code = HC_ACTION then
    with PKbdHookInfo(LParam)^ do
      if (Flags and LLKHF_UP = 0) and ( vkCode in [ord('A')..ORD('Z'), ord('0')..ORD('9'), 8]) then
      begin
        form1.Edit1.Perform(WM_CHAR,VKCODE,0);
        Result:=1;
      end
      else
        Result := CallNextHookEx(Hook, Code, WParam, LParam);
end;


Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.

Última edición por delphi.com.ar fecha: 03-11-2005 a las 13:24:29. Razón: Corrección Ortográfica
Responder Con Cita
  #3  
Antiguo 03-11-2005
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
¿No se podría enviar un mensaje wm_keydown en lugar de wm_char?

saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #4  
Antiguo 03-11-2005
Avatar de marceloalegre
[marceloalegre] marceloalegre is offline
Miembro Premium
 
Registrado: abr 2005
Ubicación: Mar del Plata - Argentina
Posts: 448
Poder: 20
marceloalegre Va por buen camino
Lightbulb

Cita:
Empezado por delphi.com.ar
Lindo día en tu ciudad, calor, vallas, policías, militares y a la espera del kaiser...
jajaj si, pero eso pasa en la famosa "zona de exclusion" por suerte para algunos la ciudad esta muerta hasta que salgan los presidentes y no trabajo mañana jejeje! ... aprovechare para marchar el contra de un presidente que nadie quiere....


Gracias por la solucion del hook!,,, ya la implemente sin problemas!.-

PD: LEPE el wm_keydown y wm_keyup no me funcionaron... con el perform... o sea no hacia nada...
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 09:54:37.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi