Forum: PC-Programmierung Monitor in Standby versetzen - brauche Tip


von Frank (Gast)


Lesenswert?

Ich möchte den Monitor (Touchscreen) an einem BDE-Terminal bei längerer 
Nichtbenutzung von der BDE-Applikation abschalten lassen. Dazu habe ich 
im Web diesen Beispielcode in VB gefunden. Ich kenn mich aber mit VB 
nicht so gut aus und  habe Zweifel, was sich hinter der Schreibweise 
"-1&" und "2&" verbirgt. Ist das Binär, Oktal, Dezimal? Die beiden 
Hex-Zahlen kenn ich, das ist kein Problem, aber die Werte für 
Monitor_on/off ... ?
1
Public Const WM_SYSCOMMAND = &H112
2
Public Const SC_MONITORPOWER = &HF170
3
Public Const MONITOR_ON = -1&
4
Public Const MONITOR_OFF = 2&
5
6
Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Any) As Long
7
8
Aufruf: SendMessage Me.hwnd, WM_SYSCOMMAND, SC_MONITORPOWER, MONITOR_OFF
9
oder: SendMessage Me.hwnd, WM_SYSCOMMAND, SC_MONITORPOWER, MONITOR_ON

Danke, Frank

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Warum erledigst Du das nicht mit den 
Energieeinstellungen/Bildschirmschoner des von Dir verwendeten 
Betriebssystemes?

von Timmo H. (masterfx)


Lesenswert?

> -1&
Das ist einfach ein Int (also -1 und -2)
const int MONITOR_ON = -1;
const int MONITOR_OFF = 2;
const int MONITOR_STANBY = 1;
Google doch mal nach SC_MONITORPOWER, dort solltest du dir den zweiten 
Link mal genauer ansehen.

von Skua C. (skua)


Lesenswert?

Sieht nach Integer aus
-1 = &HFFFFFFFF

von NurEingGast (Gast)


Lesenswert?

... und was bedeutet nun das & hinter der Zahl ?

Merci

von Frank (Gast)


Lesenswert?

>Warum erledigst Du das nicht mit den
>Energieeinstellungen/Bildschirmschoner des von Dir verwendeten
>Betriebssystemes?

Weil der Monitor an Werktagen tagsüber gearnicht ausgehen soll, nur in 
den Zeiten, in denen wenig oder nicht gearbeitet wird. Es gibt eine 
zentrale Administrator-Applikation (es sind ca. 80 Terminals) ...

Frank

von Frank (Gast)


Lesenswert?

Hallo,

es handelt sich tatsächlich um normale Integer-Werte, es funktioniert 
also. Die Funktion schaltet die Grafikkarte an und aus. Ohne 
Video-Signal geht der Monitor nach einigen Sekunden in den 
Standby-Modus. Nun tritt aber das nächste Problem auf:

Es handelt sich um einen Touchscreen, der quasi aus zwei Geräten in 
einem Gehäuse besteht:

- ein "normaler" Monitor
- die Touch-Platte davor

Beide sind völlig unabhängig von einander. Die Touch-Platte meldet sich 
am Computer als normale (HID-) Maus. Wenn nun der Monitor dunkel 
gesteuert ist, genügt ein Tipp auf die Oberfläche und der Computer 
schaltet die Grafikkarte wieder an. Die Touch-Platte bleibt aktiv und es 
besteht die Gefahr, das mit dem ersten Tipp "ins Dunkle" zum Aufwecken 
eine unerwünschte Funktion ausgelöst wird (die Programmoberfläche ist 
voller Buttons). An dieser Stelle wäre es nützlich den Status der 
Grafikkarte abfragen zu können - und genau dazu konnte ich absolut nix 
finden.

Tips? Danke.

Frank

von Timmo H. (masterfx)


Lesenswert?

Das Programm was den Moni ausschaltet, weiß doch dass es das getan hat. 
Du musst dir also nur merken dass du es getan hast.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.