Monitor dauerhaft in den standby versetzen
Verfasst: 09.09.2011 08:43
Hallo zusammen,
ich habe mir ein kleines Tool geschrieben, welches mir bei meinen abendlichen Skypegesprächen den Bildschirm des Netbook ausschaltet. Dadurch ist es nicht so hell im Raum und zum anderen hält der Akku länger durch.
Das Programm öffnet nach Klick auf den Button "Bildschirm AUS" ein schwarzes Fenster (um den Keyboardfokus zu bekommen) und schaltet dann per SendMessage_ API Aufruf den Monitor in den Standby.
Das Versetzen in den Standby funktioniert auch hervorragend, die LCD Beleuchtung wird komplett abgeschaltet.
Nur leider hält dieser Zustand nur ca. 30 Sekunden an.
Nach dieser Zeit wird die Hintergrundbeleuchtung wieder aktiviert und es ist ein leichtes, helles Schimmern zu sehen.
Das ganze merkt man wirklich nur, wenn der Raum um einen herum stockdunkel ist. Leider ist er das in meinem Fall.
Frage: Was kann die Ursache dafür sein, daß der Standby nach ca. 30 Sekunden wieder beendet wird und wie kann ich das verhindern?
Gruß, Kurzer
ich habe mir ein kleines Tool geschrieben, welches mir bei meinen abendlichen Skypegesprächen den Bildschirm des Netbook ausschaltet. Dadurch ist es nicht so hell im Raum und zum anderen hält der Akku länger durch.
Das Programm öffnet nach Klick auf den Button "Bildschirm AUS" ein schwarzes Fenster (um den Keyboardfokus zu bekommen) und schaltet dann per SendMessage_ API Aufruf den Monitor in den Standby.
Das Versetzen in den Standby funktioniert auch hervorragend, die LCD Beleuchtung wird komplett abgeschaltet.
Nur leider hält dieser Zustand nur ca. 30 Sekunden an.
Nach dieser Zeit wird die Hintergrundbeleuchtung wieder aktiviert und es ist ein leichtes, helles Schimmern zu sehen.
Das ganze merkt man wirklich nur, wenn der Raum um einen herum stockdunkel ist. Leider ist er das in meinem Fall.
Frage: Was kann die Ursache dafür sein, daß der Standby nach ca. 30 Sekunden wieder beendet wird und wie kann ich das verhindern?
Gruß, Kurzer
Code: Alles auswählen
#SC_MONITORPOWER = $F170
EnableExplicit
Define.i iEventID, iOff = 0
If OpenWindow(0, 0, 0, 295, 50, " Monitor off", #PB_Window_MinimizeGadget | #PB_Window_ScreenCentered)
TextGadget(1, 8, 2, 220, 15, "Bildschirm mit ESC wieder einschalten.")
TextGadget(2, 8, 17, 220, 15, "Der Einschaltvorgang kann je nach ")
TextGadget(3, 8, 32, 220, 15, "Monitortyp bis zu 3 Sekunden dauern.")
ButtonGadget(4, 200, 10, 90, 30, "Bildschirm AUS")
Repeat
iEventID = WaitWindowEvent(250)
If iEventID = #PB_Event_Gadget And iOff = 0
iOff = 1
CloseWindow(0)
OpenWindow(1, 0, 0, 300, 300, "Black Window", #PB_Window_Maximize | #PB_Window_BorderLess)
SetWindowColor(1, RGB(0,0,0))
StickyWindow(1, 1)
SetActiveWindow(1)
ShowCursor_(#False)
; Monitor ausschalten
SendMessage_(#HWND_BROADCAST, #WM_SYSCOMMAND, #SC_MONITORPOWER, 2)
AddKeyboardShortcut(1, #PB_Shortcut_Escape, 1)
EndIf
Until iEventID = #PB_Event_CloseWindow Or iEventID = #PB_Event_Menu
If IsWindow (1)
CloseWindow(1)
EndIf
; Monitor einschalten
SendMessage_(#HWND_BROADCAST, #WM_SYSCOMMAND, #SC_MONITORPOWER, -1)
ShowCursor_(#True)
EndIf
End