Change WallPaper/Disable Active Desktop
Posted on 2003-10-30
I've found a few solutions to changing the wall paper in Visual Basic 6 on this site (code: see below).
However, I have run into two problems:
1) The change itself is temporary - that is if I logoff/logon, the wallpaper disappears. Am I doing something wrong?
2) If the user has active desktop activated (that is checked "Show Web Content on my Active Desktop" in Display Properties->Web) the wallpaper will not be shown. So I'm looking for away to uncheck that "Show Web........" box. I've tried putting in different registry keys (in Windows/CurVers/Policies/Explorer) which supposedly should disable Active Desktop, but rather than disabling the web content, it hides the tab called Web under Display properties, while leaving all prior settings as they were. So if the user had active desktop enabled, now he has not way of disabling it anymore = very clever! :(
Can anyone help me with these issues?
Thank you in advance.
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
Public Const SPI_SETDESKWALLPAPER = 20
Dim BitmapName As String
BitmapName=".\invi.bmp" 'full path of bitmap
If ChangeWallPaper(BitmapName) then
MsgBox "Wallpaper was succesfuly changed"
MsgBox "Wallpaper was not changed"
Function ChangeWallPaper(WallPaperFullPath As String) As boolean
Dim Succed As Long
'Second and Fouth parameters must be zero (0)
'Succed will be equal to zero (0) if function fails
IF Succed=0 then