Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > API de Windows
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

 
 
Herramientas Buscar en Tema Desplegado
  #2  
Antiguo 11-08-2006
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.964
Poder: 29
delphi.com.ar Va camino a la fama
Como primera observación, no se trata de un Hook, se trata de una HotKey.
Como segunda observación yo probaría registrarlo directamente a la ventana en cuestión, a no ser que se trate de un MDI, de ser así verificaría que AppMessage este recibiendo los mensajes de la apliación.

Escribí esto, y funciona sin problemas:
Código Delphi [-]
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;


type
  TForm1 = class(TForm)
    Memo1: TMemo;
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
  private
  protected
    aCapital,
    aNumLock: ATOM;
    procedure WMHotKey(var Message: TWMHotKey); message WM_HOTKEY;
  public
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

const
  WM_CAPITAL = WM_USER + 1;
  WM_NUMLOCK = WM_USER + 2;

procedure TForm1.FormCreate(Sender: TObject);
begin
  aCapital := GlobalAddAtom('WM_CAPITAL');
  aNumLock := GlobalAddAtom('WM_NUMLOCK');
  RegisterHotKey(Handle, aCapital, 0, VK_CAPITAL);
  RegisterHotKey(Handle, aNumLock, 0, VK_NUMLOCK);
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  UnRegisterHotKey(Handle, aCapital);
  UnRegisterHotKey(Handle, aNumLock);
  GlobalDeleteAtom(aCapital);
  GlobalDeleteAtom(aNumLock);
end;

procedure TForm1.WMHotKey(var Message: TWMHotKey);
begin
  if Message.HotKey = aCapital then
      Memo1.Lines.Add('CAPS LOCK');

  if Message.HotKey = aNumLock then
      Memo1.Lines.Add('NUM LOCK');
end;

end.

Saludos!
__________________
delphi.com.ar

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


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Hook de Teclado + DLL FeLiXxUcO C++ Builder 12 12-02-2006 19:59:53
Hook global pepelaalfa API de Windows 2 08-12-2005 18:24:27
Hook Roman Con ECO ECO ECO!! marceloalegre Varios 3 03-11-2005 15:43:41
Hook de teclado! marceloalegre Varios 2 17-10-2005 00:59:47
Duda al Hook de Roman :) marceloalegre Varios 4 09-09-2005 17:30:27


La franja horaria es GMT +2. Ahora son las 09:57:58.


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