Is the question how do I change the user's "wallpaper"? If so the answer is - you shouldn't! Windows settings should be up to the user - whether it's Wallpaper, colors, font sizes, screen resolution, etc. - your application should adapt.
If it's how do I add an image to my VFP application window, then this code works for me:
* Program....: SET_APPIMAGE.PRG
LPARAMETER p_cImageName
WITH _screen
**-- Add an image object
*
IF VARTYPE(.myPic) = "O"
.RemoveObject('myPic')
ENDIF
.cls()
.AddObject('myPic','image')
**-- Set the picture property
*
.myPic.Picture = p_cImageName
.myPic.stretch = 1 && isometric
l_nAspectRatio = .MyPic.Height/.MyPic.Width
IF (.Height/.Width) <= l_nAspectRatio
.MyPic.Height = .Height
.MyPic.Width = .Height / l_nAspectRatio
ELSE
.MyPic.Width = .Width
.MyPic.Height = .Width / l_nAspectRatio
ENDIF
**-- Center the control and show it
*
.MyPic.Top = (.Height * .5) - (.myPic.Height * .5)
.MyPic.Left = (.Width * .5) - (.myPic.Width * .5)
IF !EMPTY(.myPic.Picture)
.myPic.Visible = .T.
ENDIF
ENDWITH &&* _screen
*!* EOP: SET_APPIMAGE.PRG
Rick