使用 C# 实现Windows桌面壁纸软件

news2024/12/26 0:55:05

一、设置Windows壁纸

将电脑上的图片设置为壁纸,代码如下:

[DllImport("user32.dll", CharSet = CharSet.Auto)]
static extern int SystemParametersInfo(int uAction, int uParam, string lpvParam, int fuWinIni);
const int SPI_SETDESKWALLPAPER = 20;
const int SPIF_UPDATEINIFILE = 0x1;

public void SetWallpaper(string path)
{
    try
    {
        if (!File.Exists(path))
        {
            return;
        }
        FileLogger.Info($"set wallpaper: {path}");
        SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, path, SPIF_UPDATEINIFILE);
    }
    catch (Exception ex)
    {
        FileLogger.Error(ex.ToString());
    }
}

二、随机给windows设置一张壁纸

这里推荐一个接口,可以获取到Bing壁纸:

https://api.vvhan.com/api/bing?type=json //获取今日壁纸
https://api.vvhan.com/api/bing?type=json&rand=sj //获取随机壁纸

返回结果如下:

{
  "success": true,
  "data": {
    "date": 20240623,
    "title": "达卡环形交叉路口的鸟瞰图,孟加拉国 (© Azim Khan Ronnie/Amazing Aerial Agency)",
    "url": "https://cn.bing.com/th?id=OHR.DhakaBangladesh_ZH-CN6777866162_1920x1080.jpg"
  }
}

之后将图片下载下来,使用上文中的方法就可以实现随机设置一张壁纸的功能了

从URL下载图片的方法如下:

public bool SavePhotoFromUrl(string fileName, string url)
{
    bool value = false;
    try
    {
        HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
        WebResponse response = request.GetResponse();
        Stream stream = response.GetResponseStream();
        if (!response.ContentType.ToLower().StartsWith("text/"))
        {
            value = SaveBinaryFile(response, fileName);
        }
    }
    catch (Exception err)
    {
        FileLogger.Error(err.ToString());
    }
    return value;
}
private bool SaveBinaryFile(WebResponse response, string FileName)
{
    bool Value = true;
    byte[] buffer = new byte[1024];

    try
    {
        if (File.Exists(FileName))
            File.Delete(FileName);
        Stream outStream = System.IO.File.Create(FileName);
        Stream inStream = response.GetResponseStream();

        int l;
        do
        {
            l = inStream.Read(buffer, 0, buffer.Length);
            if (l > 0)
                outStream.Write(buffer, 0, l);
        }
        while (l > 0);

        outStream.Close();
        inStream.Close();
    }
    catch
    {
        Value = false;
    }
    return Value;
}

我自己开发了一个随机壁纸小软件,免费无毒无广,欢迎下载使用
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1865006.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

DM达梦数据库分析函数整理

💝💝💝首先,欢迎各位来到我的博客,很高兴能够在这里和您见面!希望您在这里不仅可以有所收获,同时也能感受到一份轻松欢乐的氛围,祝你生活愉快! 💝&#x1f49…

从用户到粉丝,再到“裂变客户”:品牌忠诚度如何升级?

在竞争激烈的商业环境中,品牌忠诚度对于企业的成功至关重要。然而,如何将普通用户转化为忠实粉丝,并进一步升级为“裂变客户”,是每一个品牌都需要深思的问题。 从用户转变为粉丝,品牌需要建立与用户的情感连接 这不…

维吉尼亚密文解密小程序

维吉尼亚密文解密小程序 这几天在看CTF相关的课程,涉及到古典密码学和近代密码学还有现代密码学。自己编了一个解密小程序。 Vigenere 维吉尼亚密码 维吉尼亚是多表替换密码中比较典型的代表,维吉尼亚密码是在凯撒密码基础上产生的一种加密方法&#…

床上用品跨境电商:拥有沃尔玛1P特权的商家享有哪些显著优势?

在全球化的背景下,跨境电商对床上用品行业至关重要。沃尔玛因其品牌影响力、客户资源及物流体系在跨境电商平台中脱颖而出。拥有沃尔玛1P特权的商家享有更多曝光机会和独家优惠。那么,这些特权商家具体有哪些优势呢? 沃尔玛1P特权商家在曝光率上具有显著…

行业案例 | 智能终端设备的数据基础从哪儿来?

智能终端的快速发展让我们在许多科幻电影中看到的“未来场景”正在一步步变为现实:智能家居正在解放我们的双手,工业机器人让生产效率倍增,智能穿戴设备让我们便利地感知自身与外部的连结……然而,要想让万物“智联”,…

能力再升级 分贝通拥抱全场景数电票时代

——接收、入帐、归档,一个平台管理更轻松 分贝通上线机票数电票行程单,从开票、接收、对账入账和归档,全流程无纸化、线上化,告别了诸多麻烦,全面拥抱全场景数电票时代。 开票,告别麻烦沟通:一…

封装图片占位图组件

<laze-image class="image" :url="item.image" :game_name="item.game_name" :placeholder="require(@/static/images/common/placeholder.png)"></laze-image> 1.通过调用组件实现 先加载预览图片,再加载真实的图片 2…

【python】python入门day1

python入门 Python解析器Python注释Python中的变量&#xff08;重点&#xff09;练习&#xff1a;1、用python的print函数描述一段对话2、与计算机模拟一段对话&#xff0c;并且最终计算机需要将输入的内容全部输出3、模拟两个对话场景(根据提示输入内容&#xff0c;并且在后续…

提升红色展厅内容质量,讲好红色故事新篇章!

在当今数字化技术浪潮的推动下&#xff0c;借助多媒体技术的展厅&#xff0c;将红色文化的魅力推向了新的高度。然而&#xff0c;技术的运用仅仅是展厅设计方案中的冰山一角&#xff0c;内容制作作为方案落地的核心环节&#xff0c;其质量直接决定了红色文化展厅的展示效果和观…

说点智驾领域的实话!感知|定位|规划控制|就业……

你们有没有一种感觉&#xff0c;近几年自动驾驶技术栈迭代太快&#xff0c;自己稍不留神就与当下主流技术产生脱节了。 其实说实话&#xff0c;并非只有你如此&#xff0c;行业内的工程师都有类似感受。 智能驾驶行业交流群&#xff1a;点击进 分享几个我们最近聊天中的几位朋…

机票、火车票,YonSuite让企业支出笔笔可控

在数字化浪潮的推动下&#xff0c;企业的商旅管理正迎来一场深刻变革。传统的手动预订、报销模式已无法满足现代企业对效率和成本控制的双重要求。YonSuite商旅费控&#xff0c;作为一款领先的企业商旅管理平台&#xff0c;正以其独特的优势&#xff0c;帮助企业实现机票、火车…

2021年12月电子学会Python编程等级考试一级真题及答案

2021年12月Python一级真题 一、选择题 1.昨天的温度是5摄氏度&#xff0c;今天降温7摄氏度&#xff0c;今天的温度是多少摄氏度&#xff1f;( D ) A.12 B.7 C.2 D.-2 2.分析下面程序&#xff0c;关于程序说法正确的是&#xff1f;( D ) x1"11" x2"12…

什么牌子的开放式耳机质量好?五大优质机型,新手必看!

耳机的应用场景越来越多&#xff0c;各种类型的耳机开石出现&#xff0c;开放式耳机就是其中一种。从最初的单一音效到现在的高清晰度解析&#xff0c;开放式耳机已经是非常成熟的产品。耳机不仅音质纯净&#xff0c;佩戴起来也极为舒适&#xff0c;无论你身在何处&#xff0c;…

msvcp120.dll丢失的7种解决方法,教你如何快速修复msvcp120.dll文件

一、msvcp120.dll 缺失的具体表现 应用程序启动失败 当系统中缺失 msvcp120.dll 文件时&#xff0c;最直接的后果是依赖该文件的程序无法正常启动。据不完全统计&#xff0c;超过70%的基于 Visual C 2013 开发的应用程序在启动时会检查 msvcp120.dll 的存在。缺失此文件会导致…

安卓免费短剧大全v1.0.2/全部无需VIP实时更新全平台短剧

在当今社会&#xff0c;时间成为了许多人最为宝贵的资源。忙碌的工作与繁重的日常事务&#xff0c;常常让我们难以拨出时间沉浸于长篇大幅的影视作品中。对于那些热爱剧情、渴望在生活中点缀一抹戏剧色彩的朋友们而言&#xff0c;这无疑是一种挑战。 然而&#xff0c;随着免费…

独立接口面向对象设计

使用面向对象的编程思想&#xff0c;来进行独立接口面向对象的设计&#xff0c;一个接口测试对应一个类&#xff0c;这样后面做框架也比较规范一些。 类定义包含类的属性和类的方法。 类属性包含接口访问地址和接口测试数据 类方法包含测试方法 1、V1.0 实现一组正常注册数据…

从环型到树型:多种网络拓扑结构的优缺点及应用

网络拓扑作为网络设计的基础&#xff0c;对于网络的性能、可靠性和扩展性起着重要作用。作为网络通信工程师&#xff0c;我们不仅需要了解网络拓扑的基本概念&#xff0c;还需深入掌握其在实际网络设计中的应用。本文将详细介绍网络拓扑&#xff0c;包括物理拓扑、逻辑拓扑&…

1Panel开源面板项目GitHub Star数量突破20,000!

截至2024年6月25日9:00&#xff0c;FIT2CLOUD飞致云旗下开源项目——1Panel开源Linux服务器运维管理面板GitHub Star数超过20,000个&#xff01; 继Halo和JumpServer之后&#xff0c;1Panel成为飞致云旗下第三个GitHub Star数量超过20,000个的开源项目&#xff0c;也是飞致云旗…

【数据分享】《国际统计年鉴》1996-2022

公众号新功能 目前公众号新增以下等功能 1、处理GIS出图、Python制图、区位图、土地利用现状图、土地利用动态度和重心迁移图等等 2、核密度分析、网络od分析、地形分析、空间分析等等 3、地理加权回归、地理探测器、生态环境质量指数、地理加权回归模型影响因素分析、计算…

Typora 更换皮肤

typora 下载激活 上面的链接已经讲了如何下载激活typora工具,本篇说一下如何给typora换肤 typora 中文官网 进入官网,在整体界面布局的上方找到主题 下面以其中一个主题为例,跟换主题皮肤 下载该主题 找到旁边的release 下拉窗体,在Assets里面找这种压缩包,通过名字很容易区…