前些时候拿到一套壁纸,是周洁的 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。