SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, "E:\\Ice Cream\\1.bmp", SPIF_UPDATEINIFILE);这个有什么错吗?
运行后返回值是0,也就是失败
SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, "", SPIF_UPDATEINIFILE);
这样运行后桌面还是老样子,但从桌面属性里面看壁纸已经是“none”,为什么桌面没有变化??

解决方案 »

  1.   

    在这个函数调用后面加上
    DWORD dwTemp = GetLastError();
    然后根据dwTemp值到msdn里面找错误代码
    你就知道是哪儿出错了
      

  2.   

    SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, "E:\\Ice Cream\\1.bmp", SPIF_UPDATEINIFILE|SPIF_SENDWININICHANGE);另外改变
    HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System\下
    WallpaperStyle的值可以改变壁纸的显示方式
      

  3.   

    你的函数是对的,在我的计算机上能成功运行。可能出错的原因应该是你的壁纸的路径不正确,可以搞个简单的,例如c:\1.bmp试试,还有就是你的1.bmp不是bmp格式的。
      

  4.   

    你的函数是对的,在我的计算机上能成功运行。可能出错的原因应该是你的壁纸的路径不正确,可以搞个简单的,例如c:\1.bmp试试,还有就是你的1.bmp不是bmp格式的。
      

  5.   

    CString sPath;
    sPath = "c:\\a.bmp";

    SystemParametersInfo(SPI_SETDESKWALLPAPER, sPath.GetLength(),
    sPath.GetBuffer(sPath.GetLength()),    
             SPIF_UPDATEINIFILE+SPIF_SENDWININICHANGE);
    sPath.ReleaseBuffer();
      

  6.   

    哦??一定要bmp各式的??*.jpg or *.html都不行??