FAQ 0098: Wie kann ich verhindern, daß der Monitor in den Standby-Modus schaltet?
von Achim Neubauer
Frage
Zur Laufzeit meiner Anwendung wechselt der Monitor in den Standby-Modus. Wie kann ich das verhindern?
Antwort
Hierfür gibt es die API-Funktion SetThreadExecutionState ( MSDN Library).
Das Flag ES_DISPLAY_REQUIRED setzt einmalig den internen Timer für den Monitor-Standby-Modus zurück. Übergibt man nun zusätzlich das Flag ES_CONTINUOUS, so unterbricht Windows den Timer bis zu einem weiteren Aufruf mit dem Flag ES_CONTINUOUS, diesmal aber ohne ES_DISPLAY_REQUIRED.
Const ES_CONTINUOUS As Long = &H80000000 Const ES_DISPLAY_REQUIRED As Long = &H2& Declare Sub SetThreadExecutionState Lib "kernel32.dll" ( _ ByRef esFlags As Long)
Function DeactivateMonitorStandbyTimer() As Boolean DeactivateMonitorStandbyTimer = CBool(SetThreadExecutionState( _ ES_CONTINUOUS Or ES_DISPLAY_REQUIRED)) End Function Function ActivateMonitorStandbyTimer() As Boolean ActivateMonitorStandbyTimer = CBool(SetThreadExecutionState( _ ES_CONTINUOUS)) End Function
Ihre Meinung
Falls Sie Fragen zu dieser FAQ haben, Ihre Erfahrung mit anderen Nutzern austauschen möchten oder auf eine Ergänzung hinweisen möchten, dann teilen Sie uns diese bitte in einem der unten vorhandenen Themen oder über einen neuen Beitrag mit. Hierzu können sie einfach einen Beitrag in einem zum Thema passenden Forum anlegen, welcher automatisch mit dieser Seite verknüpft wird.