http://blog.csdn.net/CodeJoker/archive/2010/08/25/5837456.aspx http://blog.csdn.net/a345017062/archive/2011/03/15/6250619.aspx http://blog.csdn.net/liaoshengjiong/archive/2009/03/04/3957725.aspx