C# Trigger für UserAway, LockScreen oder KeyDown

Testa2014

Lieutenant
Registriert
Dez. 2014
Beiträge
1.020
Hallo zusammen,

ich suche seit Tagen nach einer Möglichkeit in UWP mittels C# einen Trigger für Benutzeraktionen zu erstellen.

Im Grunde geht es mir darum das eine Variabel (Zeitstempel) gesetzt wird wenn:
  • der User eine Taste drückt bzw. die Maus bewegt oder
  • der Benutzer den Computer sperrt bzw. abwesend (Energiesparmodus) ist.

Zum letzen Punkt finde ich einiges im Netz dazu UserAway.
Problem: der UserPresent Trigger funktioniert ohne Probleme, der UserAway Trigger springt entweder gar nicht an, oder genau zur gleichen Sekunde, wenn ich die Maus wieder bewege. Beides nicht hilfreich da ich zur letzten Aktion eine Variabel setzen möchte. Anscheinend bin ich nicht der einzige mit diesem Problem :)

Dann gibt es noch eine Weitere Möglichkeit zu prüfen ob der Benutzer Authentifiziert ist, bringt mir allerdings nichts da der TimeTrigger nur alle 15 Minuten 1x ausgeführt wird. D.h. sehr ungenau.
Einen eigenen Trigger den ich beim Launch starte führt auch wieder in eine Einbahnstraße durch den Lifecycle.

Zum ersten Punkt, dort schaut es ähnlich bis schlechter aus.
Die GetIdleTime Funktion existiert nicht.
Einen Hook ala SetWindowsHookEx kann ich auch nicht setzen.
Und sonst habe ich noch die Möglichkeit innerhalb meines Fensters Aktionen wahrzunehmen, z.b. KeyDown, hilft mir global nicht viel weiter.

Kennt jemand von euch eine Möglichkeit wie ich ermitteln kann ob der Layer 8 noch anwesend ist?

Vielen Dank schon mal für das Lesen.

Viele Grüße
testa

EDIT: Eine Variante habe ich vergessen, DeviceUseTrigger via HID wenn ich dort die Auslistung sehe klingt das sehr nach nicht möglich.
 
Zuletzt bearbeitet: (HID)
Was willst du denn überhaupt machen? Mit einem Background Task den Nutzer überwachen?
 
Zurück
Oben