根据节气自动换壁纸

前些时候拿到一套壁纸,是周洁的 24 节气,觉得很是不错,于是决定用作壁纸,但是每次节气到了,都要收手工去换,自然是不想的,于是这种事情就想起了 C# 同学,操作步骤很简单,新建一个 C# 控制台项目,然后代码如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using System.Runtime.InteropServices;

namespace AutoSetWallpaperDueToJieqi
{
    class WinAPI
    {
        [DllImport("user32.dll", EntryPoint = "SystemParametersInfo")]
        public static extern int SystemParametersInfo(int uAction, int uParam, string lpvParam, int fuWinIni);
    }

    class Program
    {
        static void Main(string[] args)
        {
            String[] filename = {
                "24大寒.jpg",
                "01立春.jpg",
                "02雨水.jpg",
                "03惊蛰.jpg",
                "04春分.jpg",
                "05清明.jpg",
                "06谷雨.jpg",
                "07立夏.jpg",
                "08小满.jpg",
                "09芒种.jpg",
                "10夏至.jpg",
                "11小暑.jpg",
                "12大暑.jpg",
                "13立秋.jpg",
                "14处暑.jpg",
                "15白露.jpg",
                "16秋分.jpg",
                "17寒露.jpg",
                "18霜降.jpg",
                "19立冬.jpg",
                "20小雪.jpg",
                "21大雪.jpg",
                "22冬至.jpg",
                "23小寒.jpg",
                "24大寒.jpg",
                "01立春.jpg",
            };
            String[] JieqiDate = {
                "2013-01-01",
                "2013-02-04",
                "2013-02-18",
                "2013-03-05",
                "2013-03-20",
                "2013-04-04",
                "2013-04-20",
                "2013-05-05",
                "2013-05-21",
                "2013-06-05",
                "2013-06-21",
                "2013-07-07",
                "2013-07-22",
                "2013-08-07",
                "2013-08-23",
                "2013-09-07",
                "2013-09-23",
                "2013-10-08",
                "2013-10-23",
                "2013-11-07",
                "2013-11-22",
                "2013-12-07",
                "2013-12-22",
                "2014-01-05",
                "2014-01-20",
                "2014-02-04"
            };
            DateTime currDate = DateTime.Now;            
            for (int i = 0; i < JieqiDate.Length-1; i++)
            {
                if (currDate > DateTime.Parse(JieqiDate[i])
                    && currDate < DateTime.Parse(JieqiDate[i + 1]))
                {                    
                    WinAPI.SystemParametersInfo(20, 1, filename[i], 1);
                }
            }            
        }
    }    
}

编译一下,然后把程序拷到壁纸所在目录,运行起来就可以了,然后搞个快捷方式放在启动文件夹里面。

为了避免出现运行时的黑框,看到这里,http://blog.csdn.net/liyifei21…

其实不是什么问题,创建好控制台程序后,选中项目,右键,属性,输出类型选为“windows 应用程序” 这样就没有dos窗口了

over。

Leave a Reply

Your email address will not be published. Required fields are marked *