http://blog.csdn.net/zhouruijie2007/archive/2007/03/18/1533117.aspx http://blog.csdn.net/cxzhq2002/archive/2006/03/30/644620.aspx