http://www.cnblogs.com/vanezkw/archive/2012/07/19/2599092.html http://blog.csdn.net/cpfdpzc/article/details/8537429