Setting the wallpaper without restarting Windows
Here is sample that will allow you to change your wall paper with out restarting windows.
Author: Scott Minor

    Const SPIF_UPDATEINIFILE = 1     'update Win.ini Const
    Const SPIF_SENDWININICHANGE = 2  'update Win.ini and tell everyone
    Call WriteIniFile("C:\WINDOWS\WIN.INI", "DeskTop", "TileWallPaper", sValue, iEcode)
    Call SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, ByVal sBMPFileName, SPIF_UPDATEINIFILE)

The Magic is SystemParametersInfo. Without this line you will not get the system to change the Wall Paper.