C语言实现设置桌面壁纸

关键代码:

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);

参数说明:

  1. uiAction:该参数指定要查询或设置的系统级参数。
  2. uiParam:uiParam 在参数说明中所有为ulParam均为错误。(一般取值0
  3. pvParam:与查询或设置的系统参数有关。(如果设置壁纸,就填写图片地址
  4. fWinlni:如果设置系统参数,则它用来指定是否更新用户配置文件。(取值0或下面表格中任意一项
SPIF_UPDATEINIFILE把新的系统参数的设置内容写入用户配置文件。
SPIF_SENDCHANGE在更新用户配置文件之后广播WM_SETTINGCHANGE消息。

SystemParametersInfo函数有4个参数,主要为:(与函数原型相对应)

  1. SPI_SETDESKWALLPAPER:设置桌面壁纸。
  2. 第2个参数一般设置为0,即可。
  3. 第3个参数填上图片所在位置
  4. 第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;
}

 保存的图片位置:

 

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Fy哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值