关键代码:
SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, "C:\\Users\\star-dream\\Pictures\\Saved Pictures\\1.jpg", SPIF_SENDCHANGE|SPIF_UPDATEINIFILE);
更多资料,请参考百度百科
今天的主角是:如何通过C语言实现桌面壁纸
函数原型:
BOOL SystemParametersInfo(UINT uiAction,UINT uiParam,PVOID pvParam,UINT fWinlni);
参数说明:
- uiAction:该参数指定要查询或设置的系统级参数。
- uiParam:uiParam 在参数说明中所有为ulParam均为错误。(一般取值0)
- pvParam:与查询或设置的系统参数有关。(如果设置壁纸,就填写图片地址)
- fWinlni:如果设置系统参数,则它用来指定是否更新用户配置文件。(取值0或下面表格中任意一项)
SPIF_UPDATEINIFILE 把新的系统参数的设置内容写入用户配置文件。 SPIF_SENDCHANGE 在更新用户配置文件之后广播WM_SETTINGCHANGE消息。
SystemParametersInfo函数有4个参数,主要为:(与函数原型相对应)
- SPI_SETDESKWALLPAPER:设置桌面壁纸。
- 第2个参数一般设置为0,即可。
- 第3个参数填上图片所在位置
- 第4个参数可以填0,或者SPIF_UPDATEINIFILE | SPIF_SENDCHANGE
代码示例(仅供参考)
#include <stdio.h>
#include <stdlib.h>
#include <Windows.h>
void menu()
{
printf("----------------------\n");
printf("| 1.樱花 |\n");
printf("| 2.精美 |\n");
printf("| 3.风景 |\n");
printf("| 4.循环 |\n");
printf("----------------------\n");
}
int main()
{
int choice = 0;
int count = 10;
menu();
printf("请输入选项:");
scanf("%d",&choice);
switch(choice)
{
case 1:
SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, "C:\\Users\\star-dream\\Pictures\\Saved Pictures\\1.jpg", SPIF_SENDCHANGE|SPIF_UPDATEINIFILE);
break;
case 2:
SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, "C:\\Users\\star-dream\\Pictures\\Saved Pictures\\2.jpg", SPIF_SENDCHANGE|SPIF_UPDATEINIFILE);
break;
case 3:
SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, "C:\\Users\\star-dream\\Pictures\\Saved Pictures\\3.png", SPIF_SENDCHANGE|SPIF_UPDATEINIFILE);
break;
case 4:
while(count)
{
SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, "C:\\Users\\star-dream\\Pictures\\Saved Pictures\\1.jpg", SPIF_SENDCHANGE|SPIF_UPDATEINIFILE);
Sleep(2000);
SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, "C:\\Users\\star-dream\\Pictures\\Saved Pictures\\2.jpg", SPIF_SENDCHANGE|SPIF_UPDATEINIFILE);
Sleep(2000);
SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, "C:\\Users\\star-dream\\Pictures\\Saved Pictures\\3.png", SPIF_SENDCHANGE|SPIF_UPDATEINIFILE);
Sleep(2000);
count--;
}
break;
}
return 0;
}
保存的图片位置: