Visual Basic - apagar monitor

Life is soft - evento anual de software empresarial
 
Vista:

apagar monitor

Publicado por Mara (143 intervenciones) el 07/01/2005 22:11:31
como puedo apagar el monitor pero con un command.
se hace asi con el panel control-energia-apagar el monitor en 15 min
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:apagar monitor

Publicado por Benjo (679 intervenciones) el 07/01/2005 23:28:45
En win98 funciona correctamente en XP no lo he probado

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
Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Private Const WM_SYSCOMMAND = &H112
Private Const SC_MONITORPOWER = &HF170

Private Sub Apagar_Click()
'Apagar Monitor ->
PostMessage Me.hwnd, WM_SYSCOMMAND, SC_MONITORPOWER, ByVal 0&
End Sub

Private Sub Prender_Click()
'Turn Monitor on: ->
PostMessage Me.hwnd, WM_SYSCOMMAND, SC_MONITORPOWER, ByVal -1&
End Sub

Obviamente vas a tener que poner un control Timer para que a una determinada cantidad de milisegundos, prenda el monitor.
Para así probar su correcto funcionamiento.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:apagar monitor XP

Publicado por Benjo (679 intervenciones) el 08/01/2005 00:01:55
Para que funcione bajo XP sería así

Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long

Const SC_MONITORPOWER As Long = &HF170&
Const MONITOR_ON As Long = -1&
Const MONITOR_OFF As Long = 2&
Const WM_SYSCOMMAND As Long = &H112

Private Sub Apagar_Click()
'Apagar Monitor : ->
SendMessage Me.hWnd, WM_SYSCOMMAND, SC_MONITORPOWER, MONITOR_OFF

End Sub

Private Sub Prender_Click()
SendMessage Me.hWnd, WM_SYSCOMMAND, SC_MONITORPOWER, MONITOR_ON
End Sub

Espero que te sirva
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar