Kontrolle Useraktivität

Conners

Erfahrenes Mitglied
huhu,

ich möchte gerne in meiner Windowsanwendung einen Timer einbauen, um bei Inaktivität meine Anwendung zu schließen, oder evtl. um etwas anderes anzuzeigen.

Zur Zeit überprüfe ich bei jeder Mausbewegung den Anwendungszustand und starte gegebenfalls den Timer, und sobald Timer_Tick ausgelöst wird, schließt der meine Anwendung oder zeigt n Screensaver an.

Gibts irgendwie n Event, das bei Inaktivität ausgelöst wird oder so Z.B. nach 10 bzw. 15 Sekunden
Oder irgendetwas was programmiertechnisch eleganter wäre als mein Code ?

Weil Tastaturaktivität überprüfe ich mit mousemove ja nichtmal, also das ist total doof zur Zeit.

Gruß
Conners
 
Hi,

ich weiß nicht, ob dir das viel weiter hilft, aber vielleicht kannst du mit dem Application.Idle-Event was anfangen? Das tritt ein, wenn die Anwendung sonst nichts weiter zu tun hat.

Grüße, D.
 
Genau das hab ich gesucht

Allerdings geht mir die Kontrolle viel zu schnell. Ich hab zwar nur eine einzige if-schleife mit einem argument dadrin, aber wenn die jede sekunde 20-30 mal abgefragt wird, ist das doch nicht gut oder?

Sogar die Maus zu bewegen, also mousemove bewirkt nichtmal, dass das Idle.Event nicht geworfen wird.
das passiert mindestens 20 mal pro Sekunde

kann man den Idle-Timer auf sagen wir mal 5 Sekunden "hochpushen" ?
Also der soll bei Inaktivität nur alle 5 sekunden das Event application.Idle werfen.


Und eine Frage hätte ich noch:
Gibts auch ein Event, das ausgelöst wird, wenn die Anwendung aus nem inaktiven Zustand aktiv wird?

Da würd ich dann nämlich den Timer zurücksetzen, anstatt in meinen ganzen Funktionen.

Gruß
Conners
 
Zuletzt bearbeitet:
Zurück