找了半天支找到这个,可以改变wallpaper的选项
typedef struct _tagWALLPAPEROPT {
    DWORD dwSize;
    DWORD dwStyle;
} WALLPAPEROPT;Members
dwSize 
Unsigned long integer value that contains the size of the WALLPAPEROPT structure. 
dwStyle 
Unsigned long integer value that contains the wallpaper style. Can be one of the following values: WPSTYLE_CENTER 
WPSTYLE_TILE 
WPSTYLE_STRETCH 
WPSTYLE_MAX 

解决方案 »

  1.   

    minotaurus(弥诺陶络斯),愿闻其详,谢谢yinx(yinx),这个好像只是改变现有wallpaper的属性吧。不能解决我的问题啊
      

  2.   

    void SetDesktopWallpaper(CString strFileName)
    {
    LPCTSTR pszStr = (LPCTSTR) strFileName;
    SystemParametersInfo(SPI_SETDESKWALLPAPER,NULL,(LPVOID)pszStr,NULL);
    }
      

  3.   

    拷到C:\windows下不就行了。
      

  4.   

    erehw(疯狂CS):LPCTSTR pszStr = (LPCTSTR) strFileName;int a = SystemParametersInfo(SPI_SETDESKWALLPAPER,NULL,(LPVOID)pszStr,NULL);int b = GetLastError();执行结果a = 0 //说明函数失败
            b = 0 //说明没错! 晕倒!
      

  5.   

    SystemParametersInfo(SPI_SETDESKWALLPAPER,
    0,
    "yourpath\\yourfilename",
    SPIF_SENDCHANGE|SPIF_UPDATEINIFILE);
      

  6.   

    朽木 is right . that is the answer ! 
      

  7.   

    同意xiumu 但是只有bmp文件才行
      

  8.   

    jason802(小糊涂仙):
    :)
    还好,我没遇到。
      

  9.   

    BOOL flag=::SystemParametersInfo(SPI_SETDESKWALLPAPER,0,"c:\\win98\\安装程序.bmp",SPIF_SENDCHANGE|SPIF_UPDATEINIFILE);  为什么调用这个函数没有用,返回为0???
      

  10.   

    我用了bmp文件,也用了SPIF_SENDCHANGE¦SPIF_UPDATEINIFILE,还是返回0,错误代码居然也返回0.