Ver Mensaje Individual
  #2  
Antiguo 07-11-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,

Se me ocurre lo que verás abajo, pero, encuentro, al menos, un inconveniente: no solamente evitas la combinación de teclas en tu aplicación, pero en todas... seguro estoy de que puede mejorarse.

Código Delphi [-]
 unit Unit1;
 
 interface
 
 uses
   Forms, Messages, Windows;
 
 type
   TForm1 = class(TForm)
     procedure FormCreate(Sender: TObject);
   private
     procedure AppMessage(var Msg: tagMSG; var Handled: Boolean);
   end;
 
 var
   Form1: TForm1;
 
 implementation
 
 {$R *.dfm}
 
 // Se crea este formulario.
 //
 procedure TForm1.FormCreate(Sender: TObject);
 begin
   Application.OnMessage := AppMessage;
 end;
 
 // Nota: Este método y el anterior podrían omitirse
 // si no se precisase reaccionar a la pulsación de
 // la combinación de teclas que registramos abajo.
 //
 procedure TForm1.AppMessage(var Msg: tagMSG;
   var Handled: Boolean);
 begin
   if (Msg.message = WM_HOTKEY) then
   begin
     MessageBox(Handle, 'Se pulsó ALT+TAB', '', 0);
     Handled := true;
   end;
 end;
 
 initialization
   RegisterHotKey(Application.Handle, GlobalAddAtom('ALT+TAB'), MOD_ALT, VK_TAB);
 finalization
   UnregisterHotKey(Application.Handle, GlobalAddAtom('ALT+TAB'));
 
 end.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita