Hola.
Creo que podrías hacer algo así:
Código Delphi
[-]
implementation
...
const
SEG = 20;
procedure TForm1.FormCreate(Sender: TObject);
begin
KeyPreview:= True;
Timer1.Interval := SEG * 1000;
Timer1.Enabled:= True;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
MessageBeep(MB_ICONEXCLAMATION);
end;
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
Timer1.Enabled:= False; end;
procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
Timer1.Enabled:= True; end;
Saludos.