关键代码:

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

保存的图片位置:

C语言实现设置桌面壁纸相关推荐

  1. vb.net 设置桌面壁纸

    '修改桌面背景 Try '将MyFileName指定为一个图片文件的文件名 Dim MyFileName As String = Application.StartupPath & " ...

  2. win7没有个性化如何把计算机放到桌面,win7系统家庭版右键没有个性化设置桌面壁纸...

    很多朋友的电脑是win7系统家庭版的,想要给电脑桌面的壁纸更换,就会发现电脑右键没有个性化选项,那么如何把个性化选项给设置出来呢?其实很好解决,下面就由小编带你解决win7右键没有个性化设置桌面壁纸的 ...

  3. 计算机桌面图片怎么设置大小,怎么设置桌面壁纸大小

    很多人都知道怎麽设置电脑桌面,可真正找到适合自己屏幕的可能很少,图片或大或小,小编为大家分享了设置桌面壁纸大小的方法,下面大家跟着小编一起来了解一下吧. 设置桌面壁纸大小方法 先查看自己电脑屏幕分辨率 ...

  4. c++编程 设置桌面壁纸以及设置壁纸失效的解决办法

    c++编程 设置桌面壁纸以及设置壁纸失效的解决办法 最近项目中需要一个小工具来设置桌面壁纸,于是想自己尝试用c++写一个. 刚开始,发现COM组件IActiveDesktop 可以设置壁纸.代码如下: ...

  5. C++ 设置桌面壁纸

    定义一个函数来实现主要的功能: HRESULT SetDesktopWallpaper(PWSTR pszFile, WallpaperStyle style); WallpaperStyle是一个枚 ...

  6. Ubuntu20 设置桌面壁纸自动切换

    最近电脑系统换成了ubuntu,想把桌面壁纸设置撑自动切换,搜了一下发现都是要修改cml文件的.最后终于找到一个不用修改的方法: 1.首先创建一个文件夹,里面存放下载的所有壁纸 2.打开shotwel ...

  7. windows 2019 server AD域统一设置桌面壁纸

    1.首先任意一网络共享路径,我测试环境,就放在域控里面,并且注意,一定要设置能访问的权限,我这里设置Everyone,我的壁纸名叫paper.jpg 2.打开组策略 3.启用Active Deskto ...

  8. 代码设置桌面壁纸或者屏保

    今天公司让弄一个把图片和视频设置为屏保和壁纸的功能,刚开始在网上找了很多资料 设置壁纸很好实现 一句话就可以了,这个可以参考这个人写的代码 图片视频设置为壁纸 但是实现设置锁屏屏保就不大好实现了,后来 ...

  9. 怎么把html设置桌面壁纸,win7系统怎么把桌面更换成自己喜欢的桌面背景?

    win7系统有间隔一定时间自动更换桌面壁纸的功能,我们也可以在网上下载自己的喜欢的主题,里面自带了一些精美的桌面壁纸图片,有些时候我们可能会很喜欢一个电脑主题,但是不喜欢其中的桌面壁纸图片,这时,可以 ...

最新文章

  1. python编程问题---第一次
  2. 8种优秀预训练模型大盘点,NLP应用so easy!
  3. JVM插码之三:javaagent介绍及javassist介绍
  4. P3195 [HNOI2008]玩具装箱TOY(斜率优化)
  5. JAVA入门级教学之(参数传递)
  6. linux和windows和鸿蒙,linux很好,但为何大家都用Win,鸿蒙系统站错阵营了吗?
  7. 安装第三方插件BeautifulSoup
  8. Linux USB驱动程序设计
  9. 62. Event shiftKey 事件属性
  10. P1359 租用游艇 (线性dp
  11. 超级实用的软著申请源代码材料格式文档生成辅助工具——软著源代码工具
  12. Excel 里筛选手机号码所属运营商
  13. 如何在 Mac 上录制屏幕?mac录屏教程分享
  14. 弘辽科技:拼多多商品转化率多少正常?怎么提高?
  15. ElasticSearch-2
  16. P6091 【模板】原根
  17. macos 中先安装了pyqt5再安装opencv出现的QtCore冲突问题
  18. 银行使用计算机和网络实现个人存款,观察值与算术平均数的差数称为离均差,其总和为( )。...
  19. 中国移动话费查询,短信查询,各种免费查询!以后别打10086了
  20. 中山大学编译原理实验——实现PL0语言的编译程序(无坑有缩进版)

热门文章

  1. 利用js写一个函数,实现翻转任意数组。 写一个函数,实现对数字数组的排序。
  2. 91.【SpringBoot-03】
  3. 按键精灵使用百度文字识别(百度ocr)教程
  4. 公众账号迁移:微信订阅号怎么升级服务号?
  5. 【MATLAB】改变坐标轴范围
  6. 史上最恐怖的10篇超短篇鬼故事(转…
  7. Referer的作用
  8. 如何使用ContentProvider打造自己的本地图片库
  9. JS查询日出日落时间和太阳月亮位置
  10. 亚马逊6页纸开会方法!