zoukankan      html  css  js  c++  java
  • 编写C#程序,自动将bing首页图片设为壁纸

    任务目标:

    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用户名AppDataRoamingMicrosoftWindowsStart MenuProgramsStartup文件夹中,做到开机自启。

    第二种方法是:进入注册表的HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRun,添加一个字符串,内容为文件路径。

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

    Tips:

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

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

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

  • 相关阅读:
    P2426 删数
    P2115 [USACO14MAR]破坏Sabotage
    P2679 子串
    P2979 [USACO10JAN]奶酪塔Cheese Towers
    P1114 “非常男女”计划
    P2105 K皇后
    P4053 [JSOI2007]建筑抢修
    P1294 高手去散步
    P4316 绿豆蛙的归宿
    P2253 好一个一中腰鼓!
  • 原文地址:https://www.cnblogs.com/ldzhangyx/p/7456292.html
Copyright © 2011-2022 走看看