OnIdl ist schon mal gar nicht so blöd.
Ich habs mir selber mal kurz angeschaut und würde folgendes Vorschlagen:
Man benutzt ein kombination aus Application.OnIdl, Application.OnMessage und einem TTimer.
Wenn man die Hilfe zu diesen Ereignissen durchliest, bemerkt man, dass man eventuell starke
Probleme mit der Performenz bekommen könnte, wenn man sich blöd anstellt. Und ich weiss nicht,
ob ich nicht genau das bei meiner Variante tue
OnIdlEvent:
Startet den Timer;
Setzt das OnMessage Event der Application auf unsere OnMessage Methode;
OnMessageEvent:
Stopt den Timer;
Setzt das OnMessage Event der Application auf nil;
OnTimerEvent:
Stopt den Timer;
Setzt das OnMessage Event der Application auf nil;
Sperrt die Anwendung;
Damit müsste es eigentlich klappen.
Man kann im OnMessageEvent natürlich auch eine Abfrage einbauen, das der Timer blos bei Mausklicks und Tastaturanschlägen ausgeht. Und nicht auch bei jeder anderen Message wie Mausbewegungen und Befehlen. Aber damit kannstes ja mal probieren und spielen.
