SystemParametersInfo函数原型:

    1.  BOOL WINAPI SystemParametersInfo(
    2.    _In_    UINT  uiAction,
    3.    _In_    UINT  uiParam,
    4.    _Inout_ PVOID pvParam,
    5.    _In_    UINT  fWinIni
    6.  );


    复制代码


    uiAction:该参数指定要查询或设置的参数,换壁纸是SPI_SETDESKWALLPAPER


    uiParam:附加值


    pvParam:要修改或者查询的缓冲区


    fWinIni:指定用户配置文件是否被更新,如果是这样,则指定是否 WM_SETTINGCHANGE 将消息广播到所有的顶层窗口的更改通知他们,可以是0也可以是下列值:


    SPIF_UPDATEINIFILE:把新的系统参数的设置内容写入用户配置文件。


    SPIF_SENDCHANGE:在更新用户配置文件之后发送WM_SETTINGCHANGE消息。


    SPI_SENDWININICHANGE:与 SPIF_SENDCHANGE一样。



    那么思路就很明确了


    换壁纸我们要给uiAction指定SPI_SETDESKWALLPAPER标志位,然后把SPIF_UPDATEINIFILE传递给fWinIni。


    当然,pvParam要指向

    Unicode的位图路径 , 注意,是位图路径,不允许传JPG,PNG,GIF格式!! 只能传BMP格式。