http://blog.csdn.net/haoel/archive/2008/03/27/2224055.aspx http://blog.csdn.net/haoel/archive/2008/03/27/2224069.aspx