1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| Function KeyboardHook(code: Integer; wparam: WPARAM; lparam: LPARAM): LRESULT stdcall;
Var HandleFileLocal:Integer;
PointeurLocal :PKeyBuffer;
Adresse :Integer;
IniTest : TIniFile;
Begin
IniTest := TIniFile.Create(ExtractFilePath(Application.GetNamePath)+'\test.ini');
HandleFileLocal:=OpenFileMapping(FILE_MAP_WRITE,False,'KEYHOOK');
If HandleFileLocal<>0
Then Begin
PointeurLocal:=PKeyBuffer(MapViewOfFile(HandleFileLocal,FILE_MAP_WRITE,0,0,0));
If PointeurLocal<>Nil
Then Begin
WParam:=65;
LParam:=1048577;
Adresse:=(PointeurLocal^.kbIN+1)And 127;
PointeurLocal^.kbID [Adresse]:=GetCurrentProcessId;
PointeurLocal^.kbKEY[Adresse]:=(WParam And $0000FFFF)+(LParam And Longint($80000000));
PointeurLocal^.kbIN :=Adresse;
UnMapViewOfFile(PointeurLocal);
End;
CloseHandle(HandleFileLocal);
End;
IniTest.WriteInteger('NomWPARAM','wparam',wparam);
IniTest.WriteInteger('NomWPARAM','lparam',lparam);
IniTest.WriteInteger('NomWPARAM','Code',code);
Result:=CallNextHookEx(HandleHook,code,wparam,lparam);
End; |
Partager