Code for Setting Windows Desktop Wallpaper in VB 2005

Code for Setting Windows Desktop Wallpaper in VB 2005

Here is some Visual Basic 2005 code for setting the Windows desktop wallpaper to an arbitrary image on the user’s local drive. It illustrates use of VB2005 “My” classes, in this case to find the location of the user’s My Pictures directory without a lot of coding.

To use, paste the following code into the top of your class module. This code requires Visual Basic 2005 to work.

Private Const SPI_SETDESKWALLPAPER As Integer = &H14Private Const SPIF_UPDATEINIFILE As Integer = &H1Private Const SPIF_SENDWININICHANGE As Integer = &H2Private Declare Auto Function SystemParametersInfo Lib "user32.dll" (ByVal uAction As Integer,_
ByVal uParam As Integer, ByVal lpvParam As String, ByVal fuWinIni As Integer) As Integer' change this to whatever filename you want to useConst WallpaperFile As String = "MovieCollectionImage.bmp"''' ''' Sets the background of your Windows desktop. The image will be saved in MyPictures_
and the background wallpaper updated.'''
''' The image to be set as the background.''' Friend Sub SetWallpaper(ByVal img As Image) Dim imageLocation As String imageLocation = My.Computer.FileSystem.CombinePath_
(My.Computer.FileSystem.SpecialDirectories.MyPictures, WallpaperFile) Try img.Save(imageLocation, System.Drawing.Imaging.ImageFormat.Bmp) SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, imageLocation,_
SPIF_UPDATEINIFILE Or SPIF_SENDWININICHANGE) Catch Ex As Exception MsgBox("There was an error setting the wallpaper: " & Ex.Message) End TryEnd Sub

Now, use the following code to set the wallpaper to the desired image. This example shows how to set the wallpaper to an image contained in a Windows Forms picture box:

SetWallpaper (Me.PictureBox1.Image)


Share the Post: