Mouse - exemplo de mouse hook |
Top Previous Next |
Exemplo de Windows Mouse Hook:
unit Unit1;
interface
uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;
type TForm1 = class(TForm) Label1: TLabel; procedure FormCreate(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); private public end;
function myHookProc(code : Integer; wParam, lParam : LongInt) : Longint; stdcall;
var Form1: TForm1; myHook : hHook;
implementation
{$R *.DFM}
procedure TForm1.FormCreate(Sender: TObject); begin myHook := SetWindowsHookEx(WH_MOUSE, myHookProc, hInstance, GetCurrentThreadID); end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); begin UnHookWindowsHookEx(myHook); end;
function myHookProc(code : Integer; wParam, lParam : LongInt) : LongInt; var X, Y : Integer; begin X := PMouseHookStruct(lParam).pt.X; Y := PMouseHookStruct(lParam).pt.Y; Form1.Label1.Caption := IntToStr(X) + ' : ' + IntToStr(Y); result := CallNextHookEx(MyHook, Code, wParam, lParam); end;
end. |