Inaktivität / Leerlaufzeit in einer WPF-Anwendung abrufen

8

Ich suchte nach dem besten Ansatz, um herauszufinden, ob meine Benutzer in meiner WPF-Anwendung inaktiv sind. Derzeit nutze ich diese Leerlaufzeit vom Betriebssystem, und wenn sie die Anwendung minimieren und im Internet suchen, gibt es einen Prozess im Betriebssystem, weshalb das Betriebssystem dies nicht als Inaktivitätszeit betrachtet, obwohl sie dies nicht tun alles in der Anwendung. Ich würde jedoch gerne herausfinden, ob sie in meiner Anwendung nicht geklickt oder etwas getan haben.

So kann ich jetzt im Leerlauf die Zeit verbringen.

%Vor%     
paradisonoir 10.07.2009, 19:49
quelle

4 Antworten

11
%Vor%     
Andreas 29.11.2011 12:25
quelle
1

Siehe diese Antwort: Application.Idle-Ereignis, das in der WPF-Anwendung nicht ausgelöst wird

>

ComponentDispatcher.ThreadIdle ist das Ereignis, nach dem Sie suchen.

    
xt1 14.06.2011 19:24
quelle
0

Wie wäre es mit dem Abonnieren von SENS -Ereignissen?

Hier ist ein weiterer Link .

    
Sergey Aldoukhov 10.07.2009 21:19
quelle
0
  1. Für solche Szenarien benötigen wir ein Timer , das einige event nach einem timeinterval zurückfeuert.

  2. Und am wichtigsten ist, dass wir ein callback / eventhandler benötigen, das jedes Mal aufgerufen wird, wenn irgendeine Aktivität irgendeiner Art in unserer Anwendung passiert, so dass wir wissen, dass unsere Anwendung running ist.

Punkt 1 kann mit DispatcherTimer behandelt werden.

Punkt 2 kann mit public event CanExecuteRoutedEventHandler CanExecute; behandelt werden.

Alles zusammensetzen:

MainWindow.xaml

  

xmlns: cmd="clr-namespace: System.Windows.Input;   assembly = Presentationcore "

%Vor%

MainWindow.xaml.cs

%Vor%

Wir können diesen Ansatz leicht auf unsere Bedürfnisse ausweiten.

    
AnjumSKhan 03.03.2017 08:03
quelle

Tags und Links