Hola para hacer lo que deseas debes usar el mensaje de windows WM_SYSKEYDOWN de la siguiente forma
declara en tu formulario lo siguiente.
procedure MiMensaje(var msg: tmsg; var handled: boolean);
Luego en el Oncreate de Tu formulario
Código Delphi
[-]
procedure TFormPrincipal.FormCreate(Sender: TObject);
beginApplication.OnMessage := MiMensaje;
end;
Ahora Manejamos el mensaje a nuestro antojo
Código Delphi
[-]
procedure TFormPrincipal.MiMensaje(var msg: tmsg; var handled: boolean);
begin
handled := False;
case Msg.Message of
WM_SYSKEYDOWN:handled := (msg.wParam = VK_F4) end;
end;
y eso es todo
Saludos