Laden...

Inaktive Zeit in einer Anwendung und ein Weichzeichnen / deaktivieren der Fenster

Erstellt von Platoon vor 3 Jahren Letzter Beitrag vor 3 Jahren 310 Views
P
Platoon Themenstarter:in
57 Beiträge seit 2017
vor 3 Jahren
Inaktive Zeit in einer Anwendung und ein Weichzeichnen / deaktivieren der Fenster

Hi zusammen,

ich benötige einen kleinen Denkanstoß weil ich gerade absolut auf dem Schlauch stehe.

Es geht um eine Anwendung mit mehr oder minder "kritischen" Daten.
Ziel ist es, dass wen der Benutzer der Anwendung eine Zeit x nicht aktiv in der Anwendung unterwegs war,
die aktiven Fenster Weichgezeichnet werden und eine Verifikation per Benutzername und Passwort notwendig ist
um dies wieder rückgängig zu machen.

Mein Gedanke wäre jetzt, dass ich die letzte wirkliche Aktivität im Programm mitlogge (sprich Zeit und was gemacht wurde (nicht welche Eingabe))
und ich dann einen Timer gegen diesen Wert laufen lasse. Nach Ablauf des Timers und sofern nichts passiert ist, würde ich dann die
Forms durchgehen und diese Weichzeichnen - und danach den "Loginscreen" einblenden.

Macht das so Sinn oder gibt's da bessere Wege? Alternativ, und das hatte ich schon in der ersten Version wäre, dass ich den Benutzer
einfach "Auslogge" - das hat aber den uncharmanten Nachteil, dass nicht gespeicherte Werte einfach flöten gehen.

Gruß,
Dom

.....an unhandled exception is the first way to think about your pattern of programming....
.....nur weil ich nicht weiß was dort passiert, bedeutet es nicht, dass ich nicht weiß, wie man es lösen kann - aber das ist wahrscheinlich....

16.827 Beiträge seit 2008
vor 3 Jahren

Üblicherweise lockt man den User (also zum Sperrbildschirm schicken, nicht ausloggen) via LockWorkStation function (winuser.h)

P
Platoon Themenstarter:in
57 Beiträge seit 2017
vor 3 Jahren

Hallo Abt,

ich glaube da hast du mich vielleicht falsch verstanden.

Ich möchte kein Lock aus dem Windows sondern nur, dass die Application sich quasi bei Inaktivität weichzeichnet.

Klar wäre es auch eine Möglichkeit die Windows-Session zu locken aber das wäre nicht mein Ziel.

[Edith sagt]
Falls du aber meinst, den Benutzer mit einer gespeicherten Session-ID die ich derzeit nicht habe
zum Login-Bildschirm zu schicken wäre das auch eine alternative 🙂

Gruß,
Dom

.....an unhandled exception is the first way to think about your pattern of programming....
.....nur weil ich nicht weiß was dort passiert, bedeutet es nicht, dass ich nicht weiß, wie man es lösen kann - aber das ist wahrscheinlich....

16.827 Beiträge seit 2008
vor 3 Jahren

Meine Antwort bezog sich auf Deine Alternative und wie man sowas "normalerweise" umsetzt; bei einem User Lock gehen auch keine Werte flöten.
Für Dein Weichzeichen-Wunsch habe ich keine Antwort.

P
Platoon Themenstarter:in
57 Beiträge seit 2017
vor 3 Jahren

Hmmm ich denke du hast recht.....

Das mit dem Weichzeichnen wäre auf die Summe der Fenster die womöglich geöffnet sein könnten to-much.

Könnte das zwar über das BaseViewModel abbilden aber da wird es erstmal einfacher sein die Anwendung "still zu legen".
Dann Handel ich das erstmal so, dass nach einer Zeit x der Anmeldebildschirm der Anwendung in den Vordergrund tritt
und alles andere blockiert.

Einen Blur-Effect über alle Fenster zu erstellen nach einer entsprechenden Zeit wird dann in einem Testprojekt umgesetzt.

Danke dir Abt.

Sofern ich eine Umsetzung habe, werde ich sie hier posten 🙂

.....an unhandled exception is the first way to think about your pattern of programming....
.....nur weil ich nicht weiß was dort passiert, bedeutet es nicht, dass ich nicht weiß, wie man es lösen kann - aber das ist wahrscheinlich....