http://www.cnblogs.com/royenhome/archive/2010/05/22/1741592.html http://blog.csdn.net/softkexin/article/details/7424959