2013年3月27日 星期三

Turn on Monitor and Off scren saving by VB.NET

' ON/OFF screen saving
Private SPI_SETSCREENSAVERACTIVE As Integer = 17
    Private SPIF_SENDWININICHANGE As Integer = 2
    Dim hWnd As Long
    _
    Public Shared Function SystemParametersInfo(ByVal intAction As Integer, _
                                                ByVal intParam As Integer, _
                                                ByVal strParam As String, _
                                                ByVal intWinIniFlag As Integer) As Integer
    End Function


  ' Turn ON/OFF Monitor
    Const WM_SYSCOMMAND = &H112&
    Const SC_MONITORPOWER = &HF170&
    ' VB6 宣告之 Long 得改成 Int32 (Integer)
    Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Int32, ByVal wMsg As Int32, ByVal wParam As Int32, ByVal lParam As Int32) As Int32
    Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Int32)


SendMessage(Me.Handle.ToInt32, WM_SYSCOMMAND, SC_MONITORPOWER, 2&) ' Turn off monitor

 SendMessage(Me.Handle.ToInt32, WM_SYSCOMMAND, SC_MONITORPOWER, -1&) ' 啟動螢幕
            SystemParametersInfo(SPI_SETSCREENSAVERACTIVE, 0, Nothing, SPIF_SENDWININICHANGE)  ' Off screen saving

沒有留言: