Home > Visual Basic Classic > Bildschirm/Desktop > Alle angeschlossenen Monitore in StandBy/Ausschalten

Alle angeschlossenen Monitore in StandBy/Ausschalten

Veröffentlicht am 19.03.2012 von Sebastian Krogolewski

Artikelinformationen

Sprache:
Visual Basic 6
Datenbank:
keine

Artikel speichern

del.icioMister WongGoogleLinkarenaYiggSpurlFurl

Artikel bewerten

Bewertng:0.00 / 5 (0 mal bewertet)

Die Win API Funktion SendMessageA aus der User32.Dll ermöglicht es uns alle angeschlossenen Monitore Programmgesteuert in den Energiesparmodus (StandBy) zu setzen oder Auszuschalten bzw. Einzuschalten.

 

Einbinden der Win API Funktion SendMessageA als SendMessage aus der User32.Dll:

1
2
Private Declare Function SendMessage Lib "User32.Dll" Alias "SendMessageA" (ByVal _
    hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long

Die genaue Funktion und Beschreibung dieser API Funktion wird in einem anderen Beitrag ausführlicher behandelt, da dies hier diesen Artikel unnötiger Weise komplizierter erscheinen lassen würde als Notwendig.

 

Windows Message Konstanten
1
2
3
'Windows Message Konstanten
Private Const WM_SYSCOMMAND As Long = &H112
Private Const SC_MONITORPOWER As Long = &HF170&

Beschreibung der SC_MONITORPOWER Konstante:

Mit dieser Konstante lässt sich der Zustand des Monitors ändern. Dieser Befehl unterstützt Geräte die Energiespar-Funktionen besitzen oder Batteriebetrieben sind. Folgende Werte sind erlaubt:

 

Wert Beschreibung
-1
Bildschirm einschalten.
1 Bildschirm in Energiesparmodus versezten.
2 Bildschirm ausschalten.

 

Definition der erlaubten Werte als Konstanten:

VB Konstanten
1
2
3
Private Const MONITOR_OFF As Long = 2      ' Monitor ausschalten
Private Const MONITOR_ON As Long = -1      ' Monitor einschalten
Private Const MONITOR_STANDBY As Long = 1  ' Monitor in Standby

 

Im folgenden Beispiel werden alle angeschlossenen Monitore ausgeschaltet. der 1. Parameter der Sendmessage Funktion muss ein gültiges Fensterhandle sein. Dieses Beispiel geht davon aus, dass dieser in einem Formular erfolgt. Alle weiteren Parameter müssen in dieser Reihenfolge übergeben werden. MONITOR_OFF kann durch die anderen Konstanten ersetzt werden um die entsprechende Funktion auszuführen.

Beispiel Aufruf
1
Call SendMessage(Me.hWnd, WM_SYSCOMMAND, SC_MONITORPOWER, MONITOR_OFF)

Downloads

Suchbegriffe

VB6, Visual Basic, SendMessage, SendMessageA, User32.Dll

Suche