//初学hook,啥也不懂,
//我想截获全局的鼠标,键盘操作。下面的代码,怎么我得到的iCode:; wparam, lparam: 是固定的值呢?unit Unit1;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, StdCtrls;
type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Edit4: TEdit;
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    { Private declarations }
  public
    { Public declarations }
  end;var
  Form1: TForm1;
  LogHook: HHook = 0;implementation{$R *.dfm}function LogProc(iCode: Integer; wparam, lparam: LongInt): lresult; stdcall;
begin
  form1.Edit1.Text :=inttostr(icode);
  form1.Edit2.Text :=inttostr(wparam);
  form1.Edit3.Text :=inttostr(lparam);
  form1.Edit4.Text :=inttostr(strtointdef(form1.Edit4.Text,0)+1);  //计数器
  Result := CallNextHookEx(LogHook, iCode, wParam, lParam);
end;
procedure seth();
begin
  if LogHook = 0 then
  begin
    LogHook :=SetWindowsHookEx(WH_JOURNALRECORD,LogProc,HInstance,0);
  end;
end;
procedure desh();
begin
  if LogHook <> 0 then
  begin
    UnhookWindowsHookEx(LogHook);
    LogHook := 0;
  end;
end;procedure TForm1.FormCreate(Sender: TObject);
begin
  seth();
end;procedure TForm1.FormDestroy(Sender: TObject);
begin
  desh();
end;
end.