Monitor überprüfen

Programmiersprachen, APIs, Bibliotheken, Open Source Engines, Debugging, Quellcode Fehler und alles was mit praktischer Programmierung zu tun hat.
Antworten
HeReSY
Beiträge: 12
Registriert: 06.06.2002, 22:33
Wohnort: Sprockhövel

Monitor überprüfen

Beitrag von HeReSY »

Hallo zusammen,

ich habe da mal eine kleine Frage.
gibt es von Windows irgendeine Nachricht, die gesendet wird, wenn der Monitor ausgeschaltet wird?
Sowas in der Art wie WM_MONITOR_IS_GOING_DOWN oder was weiß ich.

Mein Problem ist nämlich, dass ich den Monitor nicht einschalten kann über

Code: Alles auswählen

SendMessage(HWND_BROADCAST, WM_SYSCOMMAND,SC_MONITORPOWER, -1);
wenn ich nicht vorher ein

Code: Alles auswählen

SendMessage(HWND_BROADCAST, WM_SYSCOMMAND,SC_MONITORPOWER, 2);
gesendet habe.

Wenn der Monitor aber schon ausgeschaltet ist, dann kann ich den Befehl ja ruhig senden, da der Benutzer davon eh nichts mit bekommt.
Wenn der Monitor aber eingeschaltet ist, dann ist es ziemlich bescheiden, wenn der Monitor erst ausgeht und anschließend wieder an.
joggel

Re: Monitor überprüfen

Beitrag von joggel »

Nach anstrengendem googleln, bin ich hier gelandet:
http://cboard.cprogramming.com/windows- ... ction.html

Vlt. bringt Dir das was... war mir etwas zu verworren das auseinanderzuklamüsern.

Gruß
Benutzeravatar
dot
Establishment
Beiträge: 1734
Registriert: 06.03.2004, 18:10
Echter Name: Michael Kenzel
Kontaktdaten:

Re: Monitor überprüfen

Beitrag von dot »

HeReSY
Beiträge: 12
Registriert: 06.06.2002, 22:33
Wohnort: Sprockhövel

Re: Monitor überprüfen

Beitrag von HeReSY »

Danke für die Links und die Mühe die Ihr euch dabei gemacht habt mir zu helfen.
Leider funzt das mal wieder erst ab Vista, und ich bracuhe das für XP.
Werde mir das trotzdem mal zu gemüte führen, man weiß ja nie ob man das nicht vielleciht doch mal irgendwann braucht.

Das Problem konnte aber dennoch gelöst werden.
WinXp sendet ein WM_SYSCOMMAND and das aktive Fenster.
Aus der MSG struct kann man dann über die Parameter wParam und lParam den Status des Monitors auslesen.
wParam = SC_MONITORPOWER
lParam = Zustand des Monitors: -1 = On, 2 = off

funktioniert bei mir erst mal soweit ganz gut.
Antworten