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格式。