http://blog.csdn.net/g9yuayon/archive/2007/02/12/1508424.aspx
http://blog.csdn.net/g9yuayon/archive/2007/02/15/1510511.aspx
http://blog.csdn.net/g9yuayon/archive/2007/02/16/1511038.aspx