http://blog.csdn.net/outrace/archive/2005/04/16/349993.aspx http://blog.csdn.net/outrace/archive/2005/04/16/349999.aspx http://blog.csdn.net/outrace/archive/2005/04/16/350048.aspx