Das nicht mein Code, das eher toms Code, mit ein paar änderungen für mich, soll nur meiner Bequemlichkeit dienen
So sieht das ganze aus:
Delphi-Quellcode:
function MsgFilterFunc(Code: Integer; wParam, lParam: Longint): Longint;
var
MMFHandle: THandle;
MMFData: PMMFData;
// Kill: boolean;
begin
Result := 0;
MMFHandle := OpenMMF(MMFName);
if MMFHandle <> 0 then
begin
MMFData := MapMMF(MMFHandle);
if MMFData <> nil then
begin
if (Code < 0) or (wParam = PM_NOREMOVE) then
Result := CallNextHookEx(MMFData.NextHook, Code, wParam, lParam)
else
begin
//Kill := False;
with TMsg(Pointer(lParam)^) do
begin
if wParam = VK_ADD then wParam := VK_TAB;//Kill := True;
end;
// if Kill then TPMsg(lParam)^.message := VK_TAB;
Result := CallNextHookEx(MMFData.NextHook, Code, wParam, lParam)
end;
UnMapMMF(MMFData);
end;
CloseMMF(MMFHandle);
end;
end;