Недавно добавленные исходники

•  DeLiKaTeS Tetris (Тетрис)  4 641

•  TDictionary Custom Sort  6 646

•  Fast Watermark Sources  6 423

•  3D Designer  9 364

•  Sik Screen Capture  6 752

•  Patch Maker  7 140

•  Айболит (remote control)  7 154

•  ListBox Drag & Drop  6 010

•  Доска для игры Реверси  97 601

•  Графические эффекты  7 337

•  Рисование по маске  6 625

•  Перетаскивание изображений  5 495

•  Canvas Drawing  5 873

•  Рисование Луны  5 596

•  Поворот изображения  5 103

•  Рисование стержней  3 674

•  Paint on Shape  2 906

•  Генератор кроссвордов  3 803

•  Головоломка Paletto  3 054

•  Теорема Монжа об окружностях  3 864

•  Пазл Numbrix  2 546

•  Заборы и коммивояжеры  3 258

•  Игра HIP  2 228

•  Игра Go (Го)  2 163

•  Симулятор лифта  2 540

•  Программа укладки плитки  2 178

•  Генератор лабиринта  2 679

•  Проверка числового ввода  2 328

•  HEX View  2 663

•  Физический маятник  2 295

 
скрыть

Hook для главной формы приложения



Автор: Xavier Pacheco

unit HookMain;

interface

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

type
  THookForm = class(TForm)
    SendBtn: TButton;
    GroupBox1: TGroupBox;
    LogList: TListBox;
    DoLog: TCheckBox;
    ExitBtn: TButton;
    procedure SendBtnClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure ExitBtnClick(Sender: TObject);
  private
    function AppWindowHook(var Message: TMessage): Boolean;
  end;

var
  HookForm: THookForm;

implementation

{$R *.DFM}

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;

end.