Private Const SPI_SETSCREENSAVEACTIVE = 17 Private Const SPI_GETSCREENSAVEACTIVE = 16 Private Const SPIF_SENDWININICHANGE = &H2 Private Const SPIF_UPDATEINIFILE = &H1
Private Declare Function SystemParametersInfo Lib "user32" Alias _ "SystemParametersInfoA" (ByVal uAction As Long, ByVal uParam As Long, _ ByRef lpvParam As Any, ByVal fuWinIni As Long) As Long
Function GetScreenSaverState() As Boolean Dim result As Long SystemParametersInfo SPI_GETSCREENSAVEACTIVE, 0, result, 0 GetScreenSaverState = (result <> 0) End Function
Function SetScreenSaverState(ByVal enabled As Boolean, _ Optional ByVal PermanentChange As Boolean) As Boolean Dim fuWinIni As Long If PermanentChange Then fuWinIni = SPIF_SENDWININICHANGE Or SPIF_UPDATEINIFILE End If SetScreenSaverState = SystemParametersInfo(SPI_SETSCREENSAVEACTIVE, enabled, _ ByVal 0&, fuWinIni) <> 0 End Function |