http://www.cnblogs.com/wqj1212/archive/2008/01/25/1052868.html http://topic.csdn.net/t/20031021/09/2377418.html