Ver Mensaje Individual
  #2  
Antiguo 10-08-2003
andres1569 andres1569 is offline
Miembro
 
Registrado: may 2003
Posts: 908
Reputación: 22
andres1569 Va por buen camino
Hola:

Mira si lo que quieres es enviar cualquier tecla, o en concreto, teclas alfanuméricas (caracteres). El siguiente código te puede servir:

Código:
//Codigo se toma de la lista de constantes del tipo VK_XXX en windows.pas
procedure EnviaTecla (Destinatario: THandle; Codigo: Integer);
begin
  SendMessage (Destinatario, WM_KEYDOWN, Codigo, 0)
end;

procedure EnviaCaracter (Destinatario: THandle; Caracter: Char);
begin
  SendMessage (Destinatario, WM_CHAR, Ord(Caracter), 0)  
end;

// Ejemplo de uso:

 // envía el caracter al Memo1
EnviaCaracter (Memo1.Handle, 'C'); 

// envía el caracter al form en que estamos
EnviaCaracter (Self.Handle, 'C');   

// envía el caracter al form principal de nuestra aplicación
EnviaCaracter (Application.Handle, 'C');  

// envía el caracter al contro activo del form principal de nuestra aplicación
EnviaCaracter (Application.ActiveControl.Handle, 'C');  

// envía el caracter a todas las aplicaciones activas en Windows
EnviaCaracter (HWND_BROADCAST, 'C');
Si quieres situar el mensaje en la cola de mensajes, sin que se tenga por qué procesar inmediatamente, puedes usar PostMessage en vez de SendMessage.
__________________
Guía de Estilo
Responder Con Cita