Laden...

[erledigt] User-Aktivität überwachen und bei Inaktivität = Programmabmeldung

Erstellt von eveN vor 14 Jahren Letzter Beitrag vor 14 Jahren 2.581 Views
E
eveN Themenstarter:in
107 Beiträge seit 2008
vor 14 Jahren
[erledigt] User-Aktivität überwachen und bei Inaktivität = Programmabmeldung

Hi!

(Ich weis nicht, ob ich evtl. die falschen Stichwörter bei der Suche verwendet habe... jedenfalls blieb die Suche erfolglos.)

Ich würde gerne meine Applikation nach x Minuten ohne User-Aktivität abmelden. D.h. ich muss irgendwie die User-Eingaben überwachen, welche Eingaben das genau sind, ist egal.

Muss ich dafür wirklich einen Timer einbauen und diesen bei jedem Button-Click o.ä. zurücksetzen, oder gibt's da etwas eleganteres? 🤔

Danke für eure Hilfe!

Gruß,

eveN

Ich lasse mich gerne korrigieren! (:

Gelöschter Account
vor 14 Jahren
E
eveN Themenstarter:in
107 Beiträge seit 2008
vor 14 Jahren

Das sieht sehr gut aus, werd ich direkt testen, besten Dank!

Ich lasse mich gerne korrigieren! (:

Gelöschter Account
vor 14 Jahren

das ist jedoch OS-weit und nciht anwendungsspezifisch. hat der user also einfach nur die mouse bewegt (nicht in deiner anwengung), gilt das als input und die lastinputtime wird neu gesetzt

E
eveN Themenstarter:in
107 Beiträge seit 2008
vor 14 Jahren

Okay, hilft mir trotzdem weiter!

Danke! -> [erledigt]

Ich lasse mich gerne korrigieren! (:

4.221 Beiträge seit 2005
vor 14 Jahren

das ist jedoch OS-weit und nciht anwendungsspezifisch. hat der user also einfach nur die mouse bewegt (nicht in deiner anwengung), gilt das als input und die lastinputtime wird neu gesetzt

Nur auf die eigene Anwendung bezogen muss man selber bauen.

Man kann sich hierfür einklinken:

Einen MessageFilter bauen:


private class ApplicationIdleMessageFilter : System.Windows.Forms.IMessageFilter

Dann in der ApplicationIdleMessageFilter-Klasse im PreFilterMessage die Message auswerten (immer false zurückgeben) ... und z.B einen Timer resetten.

Diesen MessageFilter muss man dann nur noch in die Pumpe reinhängen und fertig.


System.Windows.Forms.Application.AddMessageFilter(... die Instanz des Filters)

Also eigentlich ganz einfach (wenn man weiss wie)

Gruss
Programmierhans

Früher war ich unentschlossen, heute bin ich mir da nicht mehr so sicher...

E
eveN Themenstarter:in
107 Beiträge seit 2008
vor 14 Jahren

Hallo Programmierhans,

danke für die Info. Wenn ich's gebacken bekomme, werd ich auch das mal testen! 😃

Gruß,

eveN

Ich lasse mich gerne korrigieren! (: