Ver Mensaje Individual
  #7  
Antiguo 02-12-2005
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Reputación: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Más o menos:


Código:
 void __fastcall TForm1::FormCreate(TObject *Sender)
 {
   Application->OnMessage = AppMessage;
   //
   // 79 es el código ASCII de la letra "O". No he conseguido encontrar la función
   // correspondiente a "Ord" (en Delphi) aquí en C++ Builder. He probado con
   // Integer("O") y con Cardinal("0"), pero, no funciona, así que al cabo he optado
   // por pasar como tercer parámetro de "RegisterHotKey" el número 79, que ya sabes
   // lo que quiere significar. ;)
   //
   RegisterHotKey(Application->Handle, GlobalAddAtomA("MiHotKey"), MOD_CONTROL, 79);
 }
 
 void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action)
 {
   UnregisterHotKey(Application->Handle, GlobalAddAtomA("MiHotKey"));
 }
 
 // Declarado en la cláusula "private" de "TForm1"
 //
 void __fastcall TForm1::AppMessage(tagMSG &Msg, bool &Handled)
 {
   if (Msg.message == WM_HOTKEY)
   {
 	if ( (LOWORD(Msg.lParam) == MOD_CONTROL) && (HIWORD(Msg.lParam) == 79) )
 	  ShowMessage("Pulsaste las teclas CTRL + O");
   }
 }
Edito: Adjunto un archivo para que veas "la cosa" funcionando.
Archivos Adjuntos
Tipo de Archivo: zip ejemplo.zip (4,1 KB, 90 visitas)
__________________
David Esperalta
www.decsoftutils.com

Última edición por dec fecha: 02-12-2005 a las 00:28:43. Razón: Adjuntar archivo.
Responder Con Cita