IT之家学院:用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()方法就可以了。
四、将程序设置为开机自启并隐藏窗体
生成程序后这时候已经可以双击运行设置壁纸了,那怎么样将其设置为开机自启呢?
方法一
将可执行文件放到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完美运行。
广告声明:文内含有的对外跳转链接(包括不限于超链接、二维码、口令等形式),用于传递更多信息,节省甄选时间,结果仅供参考,IT之家所有文章均包含本声明。