VB and VBA Users Source Code: Turning the Computer Screen/Monitor on and off
[
Home
|
Contents
|
Search
|
Reply
| Previous | Next ]
VB/VBA Source Code
Turning the Computer Screen/Monitor on and off
By:
Andrew Baker
Email (spam proof):
Email the originator of this post
Date:
Tuesday, November 14, 2000
Hits:
2034
Category:
Windows API
Article:
To switch a monitor on/off or to standby, use the following code. Note, this may not work on some NT machines. Private Const SC_MONITORPOWER = &HF170& Private Const SC_SCREENSAVE = &HF140& Private Const WM_SYSCOMMAND = &H112 Private Declare Function FindWindowA Lib "user32" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long 'Purpose : Switches the monitor on or off 'Inputs : bPowerOn If True, turns the monitor on ' else turns to monitor off ' [lHwnd] VB: The form handle OR ' [sFormCaption] VBA: The caption of the form calling the ' routine, can be Me.Caption or Application.Caption 'Outputs : 'Author : Andrew Baker 'Date : 05/11/2000 13:07 'Notes : 'Revisions : Sub MonitorPower(bPowerOn As Boolean, Optional lHwnd As Long, Optional sFormCaption As String) Dim lState As Long If lHwnd = 0 Then lHwnd = FindWindowA(vbNullString, sFormCaption) End If If bPowerOn Then lState = -1 Else lState = 2 End If Call SendMessage(lHwnd, WM_SYSCOMMAND, SC_MONITORPOWER, lState) End Sub 'Purpose : Changes the monitor standby mode 'Inputs : bStandBy If True, sets the monitor to Stand by ' else turns the Stand by off ' [lHwnd] VB: The form handle OR ' [sFormCaption] VBA: The caption of the form calling the ' routine, can be Me.Caption or Application.Caption 'Outputs : 'Author : Andrew Baker 'Date : 05/11/2000 13:07 'Notes : 'Revisions : Sub MonitorStandby(bStandBy As Boolean, Optional lHwnd As Long, Optional sFormCaption As String) Dim lState As Long If lHwnd = 0 Then lHwnd = FindWindowA(vbNullString, sFormCaption) End If If bStandBy Then lState = 1 Else lState = -1 End If Call SendMessage(lHwnd, WM_SYSCOMMAND, SC_MONITORPOWER, lState) End Sub
Terms and Conditions
Support this site
Download a trial version of the Excel Workbook Rebuilder