当前位置:C++技术网 > 资讯 > 程序实现更换Windows桌面壁纸

程序实现更换Windows桌面壁纸

更新时间:2015-06-25 17:42:05浏览次数:1+次

    代码实现:

TCHAR m_strWallPaperPathold[256];// - 原来的壁纸路径
CString strWallPaperPathnew;// - 新壁纸的路径,此处使用CString是方便设置地址
strWallPaperPathnew = _T("D:\\1.png");// - 给新壁纸图片指定文件路径,可以是jpg,bmp图片
SystemParametersInfo(SPI_GETDESKWALLPAPER,256,m_strWallPaperPathold,0);// - 先获取原先的壁纸图片的路径,以备恢复
SystemParametersInfo(SPI_SETDESKWALLPAPER,0,strWallPaperPathnew.GetBuffer(),SPIF_SENDCHANGE);// - 设置新的壁纸图片
strWallPaperPathnew.ReleaseBuffer();// - 释放字符串缓冲
SystemParametersInfo(SPI_SETDESKWALLPAPER,0,m_strWallPaperPathold,SPIF_SENDCHANGE);// - 恢复原先壁纸

    说明:
    SystemParametersInfo函数用于设置系统各种信息的,其中有一个就是设置和获取壁纸的选项,就是第一个参数SPI_SETDESKWALLPAPER就是表示设置壁纸的,而SPI_GETDESKWALLPAPER则是获取壁纸路径的。
    设置壁纸,则第二个参数设置为0,获取壁纸路径则传入接受壁纸的路径的最大字符数。
    第三个参数是字符串缓冲,用于设置或者接受图片路径。
    最后一个参数设置为SPIF_SENDCHANGE,用于通知系统“系统设置”改变了。
    设置完壁纸后,则壁纸的路径存入系统了,并且是与当前主题一块的。当然此处只是简单的设置了桌面壁纸,详细的更多的通知,可以查阅MSDN。本文给大家提供一个学习方向。对于系统的各种设置,都可以通过这个函数SystemParametersInfo来修改。期待大家完善更多,相互学习。