Du könntest dich in die Messageloop der Applikation einklinken:
Delphi-Quellcode:
procedure TMainForm.HandleOnMessage(var Msg: TMsg; var Handled: Boolean);
begin
// Vorsicht! hier rauschen ALLE Messages der Anwendung durch
// Debuggen ist schwierig weil jede Bewegung des Mauszeigers neu Messages auslöst
if Msg.Message = WM_APPCOMMAND then
begin
...
end;
end;
...
procedure TMainForm.FormCreate(Sender:TObject);
begin
Application.OnMessage := self.HandleOnMessage;