听说你不会用代码换壁纸
听说你不会用代码换壁纸?
文章来自公众号【狗子的圈】
听说你每天为了找到一张好看到 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。就可以完成代码换壁纸的操作了。
有图有真相
听说你不会用代码换壁纸相关推荐
- 不越狱换壁纸_终于来了!iOS 14.3 正式版,可自动定时换壁纸
嘿嘿,我没有猜错吧!iOS 14.3 正式版会在12月15日凌晨时段发布,在前几天我就有提到,这一天会发布,主要是与新品 AirPods Max 发售时间与iOS 14.3正式版发布时间一致. 其次这 ...
- android 手机壁纸源码,Android工程实现换壁纸功能【附源码】
最近工作要实现换壁纸小功能,将代码做成demo发出来 没有采用zip格式换肤,因为只是更换一张图片背景 1.将三张图放入drawable-hdpi,我放的是480*800的 2.用sharedPref ...
- Python零基础爬虫之回车桌面壁纸并实现自动换壁纸(内附完整源码)
前言 嗨喽,大家好,这里是魔王~ [课题]: Python零基础爬虫之回车桌面壁纸 [课题介绍]: 壁纸不应该只是一张图片,它应该是一门哲学 回车桌面网100000张无水印,高分辨率,电脑桌面壁纸, ...
- 代码换肤术——C#和VB(摘抄)
代码换肤术(一)--C#和VB 日期:2005-6-13 16:41:00 代码换肤术(一)--C#和VB 现在流行程序"换肤术",就是把操作界面变个样子,程序当然还是原来的 ...
- Android图片代码换色,背景换色
开发过程中有很多图片或者背景需要换色的,又不想麻烦设计帮忙切图,可以自己通过代码换色. 1.获取背景或者Drawable TextView imageView = helper.getView(R.i ...
- 【Python高级技能】超炫酷,电脑每天自动换壁纸,这个神器适合你。
导语 Hello,大家好!我是木木子! 今天闲着闲着--发现电脑的壁纸用了百八十年了,几个月都没换了.想着在有时间的时候换下壁纸换下心情✨! 大家是不是经常换壁纸都是下载一个壁纸的软件往下拉的? ...
- 计算机桌面怎么自定义,电脑怎么换壁纸自定义
桌面壁纸吗? 鼠标右键点击桌面 选 属于 再选桌面 再换上你想要的图片,这个那么简单!桌面设置就行了呀 ,点击后再设置,系统设置里面哟的,可以自己选择喜欢的壁纸直接设置成桌面,右键点击 ...
- Linux切换壁纸,Linux 随机换壁纸
Mint的默认壁纸看久了有点不舒服,于是就想换几张图片看看. 找了会,没看到跟windows一样可以随机切壁纸的功能啥的,所有就写了个脚本实现下. 系统是Linux-Mint17.3,不过应该都是通用 ...
- window10或XP 定时换壁纸,添加计划到windows任务里,cmd换壁纸
今天也是突发奇想想着每天固定时间点,让我的电脑自动的换壁纸,于是便写了个 批处理文件换壁纸,但是又想让定时器自动去换 1.右键创建文本文档.---->编辑 @echo offreg add &q ...
最新文章
- 中​文​字​号​、​磅​和​像​素​对​照​关​系
- 读《Oracle DBA工作笔记》知识点-获取创建语句
- 比解决问题更重要的,是找到正确的问题
- boost::gregorian模块实现月末日的测试程序
- 蚂蚁金服井贤栋:区块链和人工智能是影响未来的关键技术
- ubuntu查看gpu使用率_如何监控GPU卡的使用率(Linux)
- NodeJS中resolve添加地址无效
- 有间距的表格布局 table布局
- centos上mysql
- Spring Boot application.yml文件语法
- MySQL去重保留最大的那条记录(取最新的记录)
- 温故js系列(11)-BOM
- 物联网卡产品的应用和拓展
- 网络 如何解决输入路由器管理地址192.168.1.1进不去
- 中国互联网有哪些黑色产业链?
- The Network Adapter could not establish the connection解決
- Mybatis代码自动生成配置文件
- 秒拍3月短视频榜单发布,MCN化是2017年的大势所趋?
- MATLAB生成excel表格
- 认识蜂鸣器和声音奥秘
热门文章
- android 角标最新设置方案
- js 编写一个函数,计算任意两个数字之间所能组成的奇数个数
- k8s学习笔记(一)
- E: 无法下载 http://us.archive.ubuntu.com/ubuntu/dists/xenial/main/binary-armhf/Packages 404 Not Found
- 验证一个十六进制的颜色是否合法 合法的字符: #000 #fff #FFF #000000 #ffffff #FFFFFF
- 获取搜狗音乐的真实路径方法
- 重学Elasticsearch第6章 : SpringBoot整合RestHighLevelClient
- activiti——结束事件
- Maven私服创建--Nexus
- 使用Freepik Academy创建一个奇妙的水果卡片