Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #8  
Antiguo 01-07-2024
buenarquero buenarquero is offline
Miembro
 
Registrado: feb 2008
Posts: 33
Poder: 0
buenarquero Va por buen camino
código que usé

Cita:
Empezado por Neftali [Germán.Estévez] Ver Mensaje
Este comportamiento es a todas luces "raro".
No da muchos detalles de las 2 aplicaciones, ni de qué teclas quieres desactivar.
Tampoco explicas qué código has utilizado "que no te funciona".

Yo sigo pensando que la solución son los hooks de teclado a nivel de sistema. De otra forma sólo funcionarán cuando tu aplicación esté abierta.
Hay diferentes hilos en los foros que hablan sobre el tema, si buscas encontrarás.
Había hace tiempo un componente de [Roman] que solucionaba esto, y aunque actualmente la web no está disponible, "tirando" de WayBackMachine, se puede acceder a ella.
Revisa este enlace:
https://web.archive.org/web/20050908...m/users/roman/
Y concretamente a este componentes (dentro está la explicación):
https://web.archive.org/web/20050214...oman/hooks.php

Transcribo el código que usé para los hooks. A ver si lo hago bien porque no lo he hecho nunca y no se si cumplirá las recomendaciones del foro.
El código lo saqué de Trucos Delphi, si no recuerdo mal.

INTERCEPTAR EL TECLADO MEDIANTE HOOKS

Declarar variables

Código Delphi [-]
var    Form1: TForm1;  
KBHook: HHook;
 
function KeyboardHookProc(Code: Integer; WordParam: Word; LongParam: LongInt): LongInt; stdcall;

implementation.

Instalar el Hook

procedure TForm1.FormCreate(Sender: TObject) ;
begin 
KBHook:=SetWindowsHookEx(WH_KEYBOARD,{callback >}@KeyboardHookProc,  HInstance, GetCurrentThreadId()) ;
end;

Función que intercepta el teclado

function KeyboardHookProc(Code: Integer; WordParam: Word; LongParam: LongInt) : LongInt;
begin 
  case WordParam of  
  vk_Left:   begin {Instrucciones a realizar} end;  
  vk_Right:  begin {Instrucciones a realizar} end; 
  vk_Up:     begin {Instrucciones a realizar} end;  
  vk_Down:   begin {Instrucciones a realizar} end;  
  end; 
  Result:=0; { Para evitar que Windows pase las pulsaciones de teclas a la ventana de
  destino, el valor del resultado debe ser un valor distinto de cero.}
end;

Liberar el hook

procedure TForm1.FormDestroy(Sender: TObject) ;
begin  
  UnHookWindowsHookEx(KBHook) ;
end;

Última edición por Neftali [Germán.Estévez] fecha: 02-07-2024 a las 09:19:32. Razón: Añadir TAGs al código
Responder Con Cita
 



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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Detectar pulsación de teclas Ctrl, Alt y Shift y teclas virtuales (de función,...) rrf Varios 11 09-08-2017 13:24:21
Aparece símbolo de moneda en todo el sistema Oscar Guzmán OOP 3 23-03-2015 07:07:55
Desactivar y activar sonido del sistema nandynna API de Windows 5 08-01-2009 00:12:21
como desactivar las teclas Alt o Ctrl Hitsugaya API de Windows 2 03-12-2008 20:13:41
Teclas de Función Dado de baja Varios 2 05-09-2007 15:02:07


La franja horaria es GMT +2. Ahora son las 02:04:39.


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