http://blog.csdn.net/myth822/archive/2005/10/27/517824.aspx http://blog.csdn.net/myth822/archive/2005/11/09/526033.aspx