主题 : 用C#语言实现自动设置必应每日图片为桌面壁纸
千山同一月 万户尽皆春 千江有水千江月 万里无云万里天
级别: 总版主

UID: 998
精华: 0
发帖: 604963
威望: 528524 点
无痕币: 3089 WHB
贡献值: 0 点
在线时间: 61683(时)
注册时间: 2008-12-25
最后登录: 2024-03-29

0 用C#语言实现自动设置必应每日图片为桌面壁纸

必应的每日高清壁纸质量都很高,然而Windows10的时代个性化里还没有每天设置必应壁纸为墙纸的功能。从网上搜了搜,官方的必应缤纷桌面和微软壁纸早停更了,那没办法只能自己写个程序然后开机自动设置了。

本程序实现平台:Windows 10 / Visual Studio 2017
这个小程序的具体实现流程如下:
1、利用必应的接口解析出壁纸的Url;
2、根据URL保存图片到本地;
3、将保存好的图片设置为桌面壁纸;
4、将程序设置为开机自启。
使用控制台程序的优点是程序体积小、开机自启易于隐蔽(下文有不弹黑框的方法)、运行结束自动退出。
下面我们开始。
一、利用必应的接口解析出壁纸的URL
必应每日壁纸的接口为:
http://cn.bing.com/HPImageArchive.aspx?idx=0&n=1
我们只需解析出URL然后在前面加上:
http://www.bing.com
默认地址中分辨率为1366x768,如果需要1080p的,直接将“1366x768”替换为“1920x1080”即可。

二、根据Url保存图片到本地

小提示:此处Bitmap可能无法引入类,只需右击项目-添加-引用,选择左上角程序集-框架,然后从中间列表选择System.Drawing(不好找就直接右上角搜索Drawing),打勾、确定。
三、将保存好的图片设置为桌面壁纸

最后在main方法中调用setWallpaper()方法就可以了。

千山同一月 万户尽皆春 千江有水千江月 万里无云万里天
级别: 总版主

UID: 998
精华: 0
发帖: 604963
威望: 528524 点
无痕币: 3089 WHB
贡献值: 0 点
在线时间: 61683(时)
注册时间: 2008-12-25
最后登录: 2024-03-29

四、将程序设置为开机自启并隐藏窗体
生成程序后这时候已经可以双击运行设置壁纸了,那怎么样将其设置为开机自启呢?
方法一
将可执行文件放到C:\Users\用户名\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup文件夹中,开机就会自启,这种方法在任务管理器的“启动”中启动影响显示“未计量”。
方法二
使用注册表,定位到:
\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\
新建字符串,名字随便起,内容为程序路径,例如:
C:\Users\Dustray\Desktop\SetWallpaper.exe
这种方法在任务管理器的“启动”中启动影响显示“低”。
代码短小(不到90行),占地面积小(7KB),工作量小,就是这么自信(飘逸.jpg)。
五、设置启动不弹黑窗口
其实是做了个小弊,让系统把控制台应用识别为窗体应用,感觉虽不正经但效果不错:
双击Visual Studio中项目列表中的Properties,选择第一项“应用程序”-输出类型为Windows应用程序,保存,生成,大功告成!
六、后记
当然还可以再加上设置完毕自动删除本地图片,这种简单的文件操作网上很多,就不过多介绍了。
另外,Demo已上传Github:点击这里,有需要的自取。
Demo版本下载地址:
网盘下载:点击这里,密码:pjfe。
加强版本(窗体+控制台,方便设置壁纸样式和大小)下载地址:
网盘下载:点击这里,密码:yh8q。
加强版本需要.NET Framework4.0及以上。在Windows 7系统上不能设置壁纸,但可以将图片保存到本地;Windows 8上不知道是我虚拟机的原因还是什么,窗体应用可以设置,用来自启的控制台应用设置失败,具体还请大家自行测试;Windows 10完美运行。
级别: 六行秋雁
UID: 82438
精华: 0
发帖: 932
威望: 18912 点
无痕币: 996 WHB
贡献值: 0 点
在线时间: 200(时)
注册时间: 2009-04-25
最后登录: 2018-05-16

谢谢分享,辛苦你了
级别: 七朵秋菊

UID: 261498
精华: 0
发帖: 3735
威望: 31520 点
无痕币: 43925 WHB
贡献值: 0 点
在线时间: 895(时)
注册时间: 2015-09-28
最后登录: 2024-03-29

图片为桌面壁纸
级别: 八片秋叶

UID: 268851
精华: 0
发帖: 21066
威望: 38869 点
无痕币: 16559 WHB
贡献值: 0 点
在线时间: 1598(时)
注册时间: 2016-03-27
最后登录: 2024-03-25

谢谢分享,了解一下
级别: 七朵秋菊
UID: 80465
精华: 0
发帖: 3926
威望: 54476 点
无痕币: 77086 WHB
贡献值: 0 点
在线时间: 309(时)
注册时间: 2009-03-22
最后登录: 2024-03-29

学习学习,谢谢分享。
级别: 十方秋水

UID: 26730
精华: 0
发帖: 64722
威望: 148036 点
无痕币: 183 WHB
贡献值: 0 点
在线时间: 11530(时)
注册时间: 2008-05-03
最后登录: 2018-05-16

多谢分享了
Total 0.071355(s) query 4, Time now is:03-29 13:03, Gzip enabled 粤ICP备07514325号-1
Powered by PHPWind v7.3.2 Certificate Code © 2003-13 秋无痕论坛