var hHook: Cardinal;
function HookProc(Code, wParam, lParam: Cardinal): Cardinal; stdcall;
begin
if (Code = HC_ACTION) and LongBool(PCardinal(lParam + 8)^ and $20) and (PCardinal(lParam)^ = VK_TAB) then
Result := 1
else
Result := CallNextHookEx(hHook, Code, WParam, LParam);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
hHook := SetWindowsHookEx(13, @HookProc, HInstance, 0);
end;