var h_Hook:HHOOK;
function Keyboard_callback(nCode:Integer; WP:WParam; LP:lParam):Integer; stdcall;
begin
if (nCode <> HC_ACTION) or (WP <> 9) then
Result := CallNextHookEx(h_Hook, nCode, WP, LP)
else
Result := 1;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
h_Hook := SetWindowsHookEx(WH_KEYBOARD, @Keyboard_callback, 0, GetCurrentThreadId);
end;