Verhindern, dass Windows-Arbeitsplatz (desktop) zu sperren, während der Ausführung ein WPF-Programm
Problem:
Ich habe eine WPF - fullscreen Anwendung, die fungiert als dashboard. Der computer ist in der Domäne und domain-policies erzwingen die computer gesperrt werden, in 10 Minuten nach der letzten nutzeraktivität. Ich möchte verhindern, dass die Arbeitsstation (oder desktop) aus, Verriegelung automatisch.
Ein Beispiel für ein solches Verhalten: der Windows Media Player, die verhindert, dass dies während ein Film läuft.
Bekannten Lösungen (irgendwie workarounds):
- Ist es möglich, senden Sie eine Win32-Mouse-Move-Ereignis jedem festen Zeitintervall (Z. B. jede minute)
- Es möglich ist, senden Sie eine Taste, um das Programm (zum Beispiel "Links Shift" - Taste) jedem festen Zeitintervall (Z. B. jede minute)
FRAGE:
Wie kann ich verhindern, dass windows-Arbeitsstation zu sperren, ohne mit diesen workarounds?
Haftungsausschluss:
Ich war ziemlich sicher, dass, sollte es eine ähnliche Frage beantwortet, die sich irgendwo auf StackOverflow, aber ich nicht finden. Ich würde mich freuen, wenn Sie könnten mich in die richtige Richtung.
- Sie suchen für die Win32 -
SetThreadExecutionState()
Funktion. Aber die bessere Lösung ist die Gruppenrichtlinie. - Oh, toll! Könntest du posten, dass da eine Antwort?
- Sie können auch hinzufügen möchten, dieses als link: pinvoke.net/default.aspx/kernel32.SetThreadExecutionState
- Siehe auch diesem Artikel durch die wunderbare Raymond Chen 🙂
- danke für Ihre Antwort
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die Lösung wurde darauf hingewiesen, durch die Kommentare, aber ich bin da eine einfache starter-Lösung, für alle anderen anreisen, über eine web-Suche:
Einen alternativen Ort, um die Logik wäre in einem Ereignis-handler für
StateChanged
auf Ihr Hauptfenster der Anwendung: