モニタを指定時間停止 <TOP>
モニタの電源を指定時間停止させます。
SendMessage ウィンドウにメッセージを送信
SC_MONITORPOWER(&HF170) ディスプレイの電源管理状態を設定
例では、約10秒間停止後復帰します。
'================================================================ '= モニタを指定時間停止
'= (SC_MONITORPOWER.bas) '================================================================ #include "Windows.bi" ' ウィンドウにメッセージを送信 Declare Function Api_SendMessage& Lib "user32" Alias "SendMessageA" (ByVal hWnd&, ByVal wMsg&, ByVal wParam&, lParam As Any) #define SC_MONITORPOWER &HF170 'ディスプレイの電源管理状態を設定 #define WM_SYSCOMMAND &H112 'システムメニューが操作された Var Shared Timer1 As Object
Timer1.Attach GetDlgItem("Timer1")
'================================================================
'=
'================================================================
Declare Sub MainForm_Start edecl ()
Sub MainForm_Start()
Timer1.Enable 0
End Sub
'================================================================
'=
'================================================================
Declare Sub Button1_on edecl ()
Sub Button1_on()
Var Ret As Long
A% = MessageBox("", "モニタを10秒間停止しますか?", 4, 1)
If A% = 5 Then
Timer1.SetInterval 1000
Timer1.Enable -1
Ret = Api_SendMessage(GethWnd, WM_SYSCOMMAND, SC_MONITORPOWER, ByVal 2)
End If
End Sub
'================================================================
'=
'================================================================
Declare Sub Timer1_Timer edecl ()
Sub Timer1_Timer()
Var Ret As Long
Timer1.Enable 0
Ret = Api_SendMessage(GethWnd, WM_SYSCOMMAND, SC_MONITORPOWER, ByVal -1)
End Sub
'================================================================
'=
'================================================================
While 1
WaitEvent
Wend
Stop
End