www.mikrocontroller.net

Forum: PC-Programmierung erkennen ob Monitor im Standy ist


Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

wißt ihr eine Möglichkeit (donet oder Windows API) um zu erkennen, ob 
der Monitor im Standby ist?

Danke,
Martin

Autor: Timmo H. (masterfx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
irgendwie so soll das gehen
HANDLE disp;
int state;
disp = CreateFile( "\\\\.\\Display1",GENERIC_READ,FILE_SHARE_READ,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_READONLY,NULL);
GetDevicePowerState (disp,&state);
Kann auch "\\\\.\\LCD" sein.
Kanns leider nichtesten weil GCC irgendwie GetDevicePowerState nicht 
kennt

Autor: Timmo H. (masterfx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jap, habe gerade mal ein neues MinGW installiert und es klappt bei mir 
folgendermaßen:

#include <stdio.h>
#include <windows.h>

int main(){
  HANDLE disp;
  int state=0;
  disp = CreateFile( "\\\\.\\LCD",GENERIC_READ,FILE_SHARE_READ,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_READONLY,NULL);
  while(1){
    GetDevicePowerState (disp,&state);
    printf("%d\n",state);
    Sleep(1000);
  }
}
Das gibt mir jede Sekunde 0 oder 1 zurück, jenachdem ob der Monitor in 
Standby ist oder nicht.

Autor: Timmo H. (masterfx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und wars das was du willst? Klappts bei dir?
Das Display1 ist glaub ich bei 98 und ME.

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke, schaut schon ganz gut aus, habs aber noch nicht probieren können 
(bin bis Dienstag unterwegs).

Hab aber grad mal im MSDN nachgeschaut:

http://msdn.microsoft.com/en-us/library/aa372690%2...

Da steht: "This function cannot be used to query the power state of a 
display device."

Muß ich mal prüfen ob das dann geht oder nicht...

Auf jeden Fall schonmal danke fürs Raussuchen!

Martin

Autor: Timmo H. (masterfx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie gesagt, ich habe es nur bei Standby Modus des Monitors getestet und 
da ging es.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.