モニターのON/OFF          <TOP>


SendMessage ウィンドウにメッセージを送信
MONITOR_OFF(2)
MONITOR_ON(-1)
SC_MONITORPOWER(&HF170) ディスプレイの電源管理状態を設定
WM_SYSCOMMAND(&H112) システムメニューが操作された

 


 

'================================================================
'= モニターのON/OFF
'=    (MONITOR_OFF.bas)
'================================================================
#include "Windows.bi"

#define MONITOR_OFF 2                   '
#define MONITOR_ON -1                   '
#define MONITOR_STANDBY 1               '
#define SC_MONITORPOWER &HF170          'ディスプレイの電源管理状態を設定
#define WM_SYSCOMMAND &H112             'システムメニューが操作された

' ウィンドウにメッセージを送信
Declare Function Api_SendMessage& Lib "user32" Alias "SendMessageA" (ByVal hWnd&, ByVal wMsg&, ByVal wParam&, lParam As Any)

Var Shared Timer1 As Object
Var Shared Button1 As Object

Timer1.Attach GetDlgItem("Timer1")
Button1.Attach GetDlgItem("Button1") : Button1.SetFontSize 14

'================================================================
'=
'================================================================
Declare Sub Button1_on edecl ()
Sub Button1_on()
    Var Ret As Long

    Ret = Api_SendMessage(GethWnd, WM_SYSCOMMAND, SC_MONITORPOWER, ByVal MONITOR_OFF)

    Timer1.SetInterval 500
    Timer1.Enable True
End Sub

'================================================================
'=
'================================================================
Declare Sub Timer1_Timer edecl ()
Sub Timer1_Timer()
    Var Ret As Long

    Timer1.Enable False
   
    Ret = Api_SendMessage(GethWnd, WM_SYSCOMMAND, SC_MONITORPOWER, ByVal MONITOR_ON)
End Sub

'================================================================
'=
'================================================================
While 1
    WaitEvent
Wend
Stop
End