自动关机功能很简单,你可以用API实现也可以用Command实现,就像我上篇文章提到的用shutdown.exe来实现,不过缺点是只有XP以上版本的系统才有(我想用2000和98的人已经很少了吧)。于是我就用Command实现吧!
先完成一个关机功能的类,这里的一点点技巧就是在C#中运行Command Line程序:
1
public static void Shutdown(bool isCancel, uint interval)
2
}
然后再实现一个延时的功能,这个代码没什么好贴的就是运用DateTime和TimeSpan搞定。2
为了Cool一点,再加上一个最小化到图标栏的功能,并取消Close的功能。
1
private void AutoShutDownForm_FormClosing(object sender, FormClosingEventArgs e)
2
在Close的事件处理函数中要注意, if (e.CloseReason != CloseReason.ApplicationExitCall) 因为我们取消掉了Close的功能,那么退出程序就用Application.Exit()来实现。2
最后再给这个程序加上一个Xml配置文件,就完成了^_^!
1
XmlDocument doc = new XmlDocument();
2
if (!File.Exists(S_CONFIG_FILE))
3
xtw.Close();
2
3
源代码在这里,注意我用的是VS2008开发的,所以呵呵!