procedure THookForm.FormCreate(Sender: TObject); begin Application.HookMainWindow(AppWindowHook); end;
procedure THookForm.FormDestroy(Sender: TObject); begin Application.UnhookMainWindow(AppWindowHook); end;
function THookForm.AppWindowHook(var Message: TMessage): Boolean; const LogStr = 'Message ID: $%x, WParam: $%x, LParam: $%x'; begin Result := True; if DoLog.Checked then with Message do LogList.Items.Add(Format(LogStr, [Msg, WParam, LParam])); end;
procedure THookForm.SendBtnClick(Sender: TObject); begin SendMessage(Application.Handle, WM_NULL, 0, 0); end;
procedure THookForm.ExitBtnClick(Sender: TObject); begin Close; end;