IT之家学院:用C#语言实现自动设置必应每日图片为桌面壁纸

2017-08-30 16:54IT之家 - Dustray
感谢IT之家网友 Dustray 的线索投递!

必应的每日高清壁纸质量都很高,然而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之家所有文章均包含本声明。

文章价值:
人打分
有价值还可以无价值
置顶评论
    热门评论
      全部评论
      一大波评论正在路上
        取消发送
        软媒旗下人气应用

        如点击保存海报无效,请长按图片进行保存分享