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