
Option Explicit
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
Private Declare Function GetDesktopWindow Lib "user32" () As Long
Private Declare Function BlockInput Lib "user32" ( _
ByVal fBlock As Long) As Long
Private Declare Sub Sleep Lib "kernel32" ( _
ByVal dwMilliseconds As Long)
Private Const WM_SYSCOMMAND As Long = &H112&
Private Const SC_SCREENSAVE As Long = &HF140&
Sub StartScreenSaver()
'// Starts Default ScrnSaver
'// By Ivan F Moala
Dim lRet As Long
lRet = SendMessage(GetDesktopWindow, WM_SYSCOMMAND, SC_SCREENSAVE, 0&)
'// Make sure SS displays
DoEvents
'// Disable any inputs via mouse or keyboard
BlockInput True
'// pause 10 seconds before unblocking it
Sleep 10000
'// Enable inputs via mouse or keyboard
BlockInput False
End Sub