Wie erkenne ich, dass eine Winforms-App für eine bestimmte Zeit im Leerlauf war?

Was ist der beste Weg, um festzustellen, ob eine C # Winforms-Anwendung für einen bestimmten Zeitraum inaktiv war?

Wenn sich ein Benutzer für ALT + TAB entscheidet und 30 Minuten lang mit Microsoft Word oder einem anderen Programm arbeitet und unsere App nicht verwendet wird, möchte ich, dass sich unsere App selbst beendet.

Dies ist die akzeptierte Antwort auf eine ähnliche Frage:Prüfen Sie, ob eine Anwendung für einen bestimmten Zeitraum inaktiv ist, und sperren Sie sie

Die Antwort ist jedoch relevant, wenn Windows für einen bestimmten Zeitraum nicht verwendet wird.nich eine bestimmte Anwendung. Ich möchte, dass unsere Anwendung beendet wird, wenn sie beispielsweise 30 Minuten lang nicht verwendet wird.

Ich sah das an:

http: //www.codeproject.com/Articles/13756/Detecting-Application-Idlenes

Allerdings habe ich in den Kommentaren gelesen, dass dies nicht für Multithread-Anwendungen funktioniert, von denen unsere App eine ist.Unsere App verfügt über ein Hauptformular, das modale und nicht modale Formulare erzeugt, die Async Await zum Füllen von Gittern usw. verwenden.

Als ich mir SetWindowsHookEx anschaute, war ich mir nicht sicher, ob das funktionieren würde.

Sicher hat jemand eine Lösung (hoffentlich kompatibel mit .NET 4.5):)

TIA

Antworten auf die Frage(4)

Ihre Antwort auf die Frage