听说你不会用代码换壁纸?

文章来自公众号【狗子的圈】

听说你每天为了找到一张好看到 Windows 壁纸而疯狂百度?听说你是个开发但是你不会用代码换壁纸?如果是这样,请往下读。

Step 1 创建应用

新建一个 Console 应用

dotnet new console -o BingWallpaper

此段代码暗藏珠玑。

首先,使用了 dotnet core 开发环境。其次,表明图片来源是 Bing 。

接下来就是花里胡哨的 C# 代码

Step 2 上代码

using System;
using System.Net.Http;
using HtmlAgilityPack;
using System.Threading.Tasks;
using System.Net;
using System.Runtime.InteropServices;
using Microsoft.Win32;using System.Drawing;namespace web
{class Program{static void Main(string[] args){var client = new HttpClient();var html = client.GetStringAsync("https://cn.bing.com").GetAwaiter().GetResult();var htmlDoc = new HtmlDocument();htmlDoc.LoadHtml(html);string str = "//*[@id='bgLink']";var imgPath = htmlDoc.DocumentNode.SelectSingleNode(str).Attributes["href"].Value;new WebClient().DownloadFile($"https://cn.bing.com{imgPath}", "bg.jpg");Image image = Image.FromFile("bg.jpg");image.Save("bg.bmp",System.Drawing.Imaging.ImageFormat.Bmp);SystemParametersInfo(20, 0, AppDomain.CurrentDomain.BaseDirectory + "bg.bmp", 1|2);Console.WriteLine("设置成功");}[DllImport("user32.dll", EntryPoint = "SystemParametersInfo")]public static extern int SystemParametersInfo(int uAction,int uParam,string lpvParam,int fuWinIni); }
}

Step 3 解释一套

首先,我们引入了 nuget 包 HtmlAgilityPack,这样我们就可以解析爬取到到 HTML 页面。写出如下代码

// 根据 XPATH 找到指定节点的值
string str = "//*[@id='bgLink']";
var imgPath = htmlDoc.DocumentNode.SelectSingleNode(str).Attributes["href"].Value;

这样我们就得到了 Bing 首页背景图的 URL。

接下来,当然就是把图片 到本地


new WebClient().DownloadFile($"https://cn.bing.com{imgPath}", "bg.jpg");

这么一行代码,就把图片窃取成功啦

嘿嘿

最后干嘛?当然是操作啊

把下载到的图片转为 bmp 后,调用 Win32 API 中的方法 SystemParametersInfo。就可以完成代码换壁纸的操作了。

有图有真相

听说你不会用代码换壁纸相关推荐

  1. 不越狱换壁纸_终于来了!iOS 14.3 正式版,可自动定时换壁纸

    嘿嘿,我没有猜错吧!iOS 14.3 正式版会在12月15日凌晨时段发布,在前几天我就有提到,这一天会发布,主要是与新品 AirPods Max 发售时间与iOS 14.3正式版发布时间一致. 其次这 ...

  2. android 手机壁纸源码,Android工程实现换壁纸功能【附源码】

    最近工作要实现换壁纸小功能,将代码做成demo发出来 没有采用zip格式换肤,因为只是更换一张图片背景 1.将三张图放入drawable-hdpi,我放的是480*800的 2.用sharedPref ...

  3. Python零基础爬虫之回车桌面壁纸并实现自动换壁纸(内附完整源码)

    前言 嗨喽,大家好,这里是魔王~ [课题]: Python零基础爬虫之回车桌面壁纸 [课题介绍]: 壁纸不应该只是一张图片,它应该是一门哲学 回车桌面网100000张无水印,高分辨率,电脑桌面壁纸, ...

  4. 代码换肤术——C#和VB(摘抄)

    代码换肤术(一)--C#和VB  日期:2005-6-13 16:41:00   代码换肤术(一)--C#和VB 现在流行程序"换肤术",就是把操作界面变个样子,程序当然还是原来的 ...

  5. Android图片代码换色,背景换色

    开发过程中有很多图片或者背景需要换色的,又不想麻烦设计帮忙切图,可以自己通过代码换色. 1.获取背景或者Drawable TextView imageView = helper.getView(R.i ...

  6. 【Python高级技能】超炫酷,电脑每天自动换壁纸,这个神器适合你。

    导语​​ Hello,大家好!我是木木子! 今天闲着闲着--发现电脑的壁纸用了百八十年了,几个月都没换了.想着在有时间的时候换下壁纸换下心情✨! 大家是不是经常换壁纸都是下载一个壁纸的软件往下拉的? ...

  7. 计算机桌面怎么自定义,电脑怎么换壁纸自定义

    桌面壁纸吗?    鼠标右键点击桌面   选  属于  再选桌面  再换上你想要的图片,这个那么简单!桌面设置就行了呀 ,点击后再设置,系统设置里面哟的,可以自己选择喜欢的壁纸直接设置成桌面,右键点击 ...

  8. Linux切换壁纸,Linux 随机换壁纸

    Mint的默认壁纸看久了有点不舒服,于是就想换几张图片看看. 找了会,没看到跟windows一样可以随机切壁纸的功能啥的,所有就写了个脚本实现下. 系统是Linux-Mint17.3,不过应该都是通用 ...

  9. window10或XP 定时换壁纸,添加计划到windows任务里,cmd换壁纸

    今天也是突发奇想想着每天固定时间点,让我的电脑自动的换壁纸,于是便写了个 批处理文件换壁纸,但是又想让定时器自动去换 1.右键创建文本文档.---->编辑 @echo offreg add &q ...

最新文章

  1. 中​文​字​号​、​磅​和​像​素​对​照​关​系
  2. 读《Oracle DBA工作笔记》知识点-获取创建语句
  3. 比解决问题更重要的,是找到正确的问题
  4. boost::gregorian模块实现月末日的测试程序
  5. 蚂蚁金服井贤栋:区块链和人工智能是影响未来的关键技术
  6. ubuntu查看gpu使用率_如何监控GPU卡的使用率(Linux)
  7. NodeJS中resolve添加地址无效
  8. 有间距的表格布局 table布局
  9. centos上mysql
  10. Spring Boot application.yml文件语法
  11. MySQL去重保留最大的那条记录(取最新的记录)
  12. 温故js系列(11)-BOM
  13. 物联网卡产品的应用和拓展
  14. 网络 如何解决输入路由器管理地址192.168.1.1进不去
  15. 中国互联网有哪些黑色产业链?
  16. The Network Adapter could not establish the connection解決
  17. Mybatis代码自动生成配置文件
  18. 秒拍3月短视频榜单发布,MCN化是2017年的大势所趋?
  19. MATLAB生成excel表格
  20. 认识蜂鸣器和声音奥秘

热门文章

  1. android 角标最新设置方案
  2. js 编写一个函数,计算任意两个数字之间所能组成的奇数个数
  3. k8s学习笔记(一)
  4. E: 无法下载 http://us.archive.ubuntu.com/ubuntu/dists/xenial/main/binary-armhf/Packages 404 Not Found
  5. 验证一个十六进制的颜色是否合法 合法的字符: #000 #fff #FFF #000000 #ffffff #FFFFFF
  6. 获取搜狗音乐的真实路径方法
  7. 重学Elasticsearch第6章 : SpringBoot整合RestHighLevelClient
  8. activiti——结束事件
  9. Maven私服创建--Nexus
  10. 使用Freepik Academy创建一个奇妙的水果卡片