VBcoders Guest



Don't have an account yet? Register
 


Forgot Password?



Screensaver Wallpaper

by David Trep (2 Submissions)
Category: Windows API Call/Explanation
Compatability: Visual Basic 3.0
Difficulty: Beginner
Date Added: Wed 3rd February 2021
Rating: (2 Votes)

These are API calls that will allow you to change the wallpaper (instant update) and turn on the screensaver. I looked for examples of this on PCS and never found any that worked. These do.

Rate Screensaver Wallpaper




Private Declare Function SystemParametersInfo Lib "user32" Alias "SystemParametersInfoA" (ByVal uAction As Long, ByVal uParam As Long, ByVal lpvParam As Any, ByVal fuWinIni As Long) As Long



Private Const SPI_SETSCREENSAVEACTIVE = 17

Private Const SPIF_UPDATEINIFILE = &H1

Private Const SPIF_SENDWININICHANGE = &H2

Private Const SPI_GETSCREENSAVETIMEOUT = 14

Private Const SPI_SETSCREENSAVETIMEOUT = 15

Private Const SPI_SETDESKWALLPAPER = 20



Private Sub ChangeWallPaper(strWP As String)

 Dim ret As Long

 ret = SystemParametersInfo(SPI_SETDESKWALLPAPER, 0&, strWP, SPIF_UPDATEINIFILE Or SPIF_SENDWININICHANGE)

End Sub


Private Sub ClearWallPaper()

 Dim ret As Long

 ret = SystemParametersInfo(SPI_SETDESKWALLPAPER, 0&, "(None)", SPIF_UPDATEINIFILE Or SPIF_SENDWININICHANGE)

End Sub


Private Function ScreenSaverActive(Value As Boolean)

 Call SystemParametersInfo(SPI_SETSCREENSAVEACTIVE, Value, 0&, SPIF_UPDATEINIFILE Or SPIF_SENDWININICHANGE)

End Function



Public Function SetScreenSaverTimeOut(ByVal NewValueInMinutes As Long) As Boolean

 'Sets Screen Saver Timeout in Minutes
 
Dim lRet As Long

 Dim lSeconds As Long

 lSeconds = NewValueInMinutes * 60

 lRet = SystemParametersInfo(SPI_SETSCREENSAVETIMEOUT, lSeconds, ByVal 0&, SPIF_UPDATEINIFILE + SPIF_SENDWININICHANGE)

 SetScreenSaverTimeOut = lRet <> 0

End Function

Download this snippet    Add to My Saved Code

Screensaver Wallpaper Comments

No comments have been posted about Screensaver Wallpaper. Why not be the first to post a comment about Screensaver Wallpaper.

Post your comment

Subject:
Message:
0/1000 characters