编写C#程序,自动将bing首页图片设为壁纸

本文介绍如何使用Bing提供的官方接口获取每日壁纸,并通过.NET Framework和Windows API将其自动设置为桌面背景,最后实现程序的自动化运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

任务目标:

1,获取图片

2,设为壁纸

3,自动化

环境需求:

.NET Framework 4.0+, Visual Studio 2017

====================

1,获取图片

bing提供了一个官方的接口如下:

https://cn.bing.com/HPImageArchive.aspx?idx=0&n=1

进入可得到以下XML:

以今天的壁纸为例,图片的相对路径即红框内路径,得到图片的绝对路径为:

https://cn.bing.com/az/hprichbg/rb/ChamonixClouds_ZH-CN7700889231_1366x768.jpg

后面的1366x768可以直接更改来获得不同分辨率的图片。

自动提取的相关代码如下:

1         Regex regex = new Regex("<Url>(?<MyUrl>.*?)</Url>", RegexOptions.IgnoreCase);
2             MatchCollection collection = regex.Matches(xmlDoc);
3             // 取得匹配项列表
4             string ImageUrl = "http://www.bing.com" + collection[0].Groups["MyUrl"].Value;
5             if (true)
6             {
7                 ImageUrl = ImageUrl.Replace("1366x768", "1920x1080");
8             }

之后保存到本地,方法很多,在此不解释。

2,设置成壁纸

 1 //利用系统的用户接口设置壁纸
 2 [DllImport("user32.dll", EntryPoint = "SystemParametersInfo")]
 3 public static extern int SystemParametersInfo(
 4         int uAction,
 5         int uParam,
 6         string lpvParam,
 7         int fuWinIni
 8         );
 9 public static void setWallpaperApi(string strSavePath) {10             SystemParametersInfo(20, 1, strSavePath, 1);
11         }

这里调用的是Windows的API。

3,自动化

即怎么让这个程序自动运行,这里设置为开机启动一次。

有几种方法,

第一种方法是:将可执行文件放到C:\Users\用户名\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup文件夹中,做到开机自启。

第二种方法是:进入注册表的\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\,添加一个字符串,内容为文件路径。

第三种方法是:找到“计划任务”(可以通过Cortana搜索到),添加这个程序进入计划任务。

 

Tips:

1,怎么让计划任务执行的时候不出现一闪而逝的控制台?

答:将项目变成WPF项目,窗口大小设置为1x1即可。

 

============================

 

转载于:https://www.cnblogs.com/ldzhangyx/p/7456292.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值