<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>[P]编程技术</title><link>http://caviler.cndev.org/category/581.aspx</link><description>[P]编程技术</description><managingEditor>一无所知</managingEditor><dc:language>zh-CHS</dc:language><generator>.Text Version 0.95.2004.101</generator><item><dc:creator>一无所知</dc:creator><title>【编程】界面 - 皮肤界面(自画窗口标题) </title><link>http://caviler.cndev.org/archive/2005/04/27/11823.aspx</link><pubDate>2005-04-27 12:23:00Z</pubDate><guid>http://caviler.cndev.org/archive/2005/04/27/11823.aspx</guid><wfw:comment>http://caviler.cndev.org/comments/11823.aspx</wfw:comment><comments>http://caviler.cndev.org/archive/2005/04/27/11823.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://caviler.cndev.org/comments/commentRss/11823.aspx</wfw:commentRss><trackback:ping>http://caviler.cndev.org/services/trackbacks/11823.aspx</trackback:ping><description>&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 在皮肤界面中，最难的恐怕就是自画窗口标题了，网上虽然有各种各样的解决方法，但是都不是很完美，而商业皮肤界面程序包是需要花钱买的。&lt;/P&gt;
&lt;P&gt;其中最主要的问题有：&lt;/P&gt;
&lt;P&gt;1、在标题栏或边框移动鼠标时系统会画窗口标题&lt;/P&gt;
&lt;P&gt;2、没有任务栏图标。当取消了 SYS_CAPTION Style 后系统不会画窗口标题了，但是同时该窗口也没有任务栏图标。&lt;/P&gt;
&lt;P&gt;3、最大化后在标题栏按下鼠标时系统会画窗口标题&lt;/P&gt;
&lt;P&gt;4、按下系统按钮再移动鼠标到按钮外后没有正确的重画按钮&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 没办法，只有自己摸索了，研究了网络上的一些代码片段和几个比较成功的皮肤界面程序比如 RealPlay, Microsoft Money ，发现它们采用的手法都不尽相同，而网上关于这个问题也没有很完美的解决方案，总是有点小瑕疵。最后，去研究了一下 Windows 2000 的核心代码中关于窗口管理部分，终于算是比较满意的解决了上面的这些问题，但是，我采用的方法和RealPlay, Microsoft Money 都不太一样，RealPlay 好象没有了 NC_* 的消息，而Microsoft Money 则是采用遮盖的方法，而我是采用直接重画的方法，关键是找到重画的关键点。&lt;/P&gt;
&lt;P align=center&gt;&lt;IMG src="http://blog.csdn.net/images/blog_csdn_net/caviler/78880/o_ThemeWindow.jpg"&gt;&lt;/P&gt;
&lt;P&gt;关键代码：&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="COLOR: #008080"&gt;&amp;nbsp; 1&lt;/SPAN&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/None.gif" align=top&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; BEGIN_MSG_MAP(TCaptionBaseT)&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;&amp;nbsp; 2&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/None.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MESSAGE_HANDLER(WM_NCHITTEST,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OnNCHitTest)&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;&amp;nbsp; 3&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/None.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MESSAGE_HANDLER(WM_NCPAINT,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OnNCPaint)&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;&amp;nbsp; 4&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/None.gif" align=top&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;&amp;nbsp; 5&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/None.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MESSAGE_HANDLER(WM_NCLBUTTONDOWN,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OnNCLButtonDown)&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;&amp;nbsp; 6&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/None.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MESSAGE_HANDLER(WM_NCLBUTTONUP,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OnNCLButtonUp)&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;&amp;nbsp; 7&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/None.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MESSAGE_HANDLER(WM_NCMOUSEMOVE,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OnNCMouseMove)&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;&amp;nbsp; 8&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/None.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MESSAGE_HANDLER(WM_LBUTTONUP,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OnLButtonUp)&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;&amp;nbsp; 9&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/None.gif" align=top&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;10&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/None.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MESSAGE_HANDLER(WM_NCACTIVATE,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OnNCActivate)&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;11&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/None.gif" align=top&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;12&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/None.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MESSAGE_HANDLER(WM_SYSCOMMAND,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OnSysCommand)&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;13&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/None.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MESSAGE_HANDLER(WM_INITMENU,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OnInitMenu)&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;14&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/None.gif" align=top&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;15&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/None.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MESSAGE_HANDLER(WM_SIZE,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OnSizeChanged)&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;16&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/None.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MESSAGE_HANDLER(WM_STYLECHANGED ,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OnStyleChanged)&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;17&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/None.gif" align=top&gt; MESSAGE_HANDLER(WM_SETTINGCHANGE, OnSettingsChange) &lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;18&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/None.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MESSAGE_HANDLER(WM_SETTEXT,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OnSetText)&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;19&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/None.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MESSAGE_HANDLER(WM_SETICON ,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OnSetIcon)&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;20&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/None.gif" align=top&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;21&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/None.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MESSAGE_HANDLER(WM_CREATE,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OnCreate)&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;22&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/None.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MESSAGE_HANDLER(WM_INITDIALOG,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OnInitDialog)&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;23&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/None.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; END_MSG_MAP()&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;24&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/None.gif" align=top&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;25&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/None.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LRESULT OnNCLButtonDown(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;amp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; bHandled)&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;26&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG id=ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_903_1846_Open_Image onclick="this.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_903_1846_Open_Text.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_903_1846_Closed_Image.style.display='inline'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_903_1846_Closed_Text.style.display='inline';" alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top&gt;&lt;IMG id=ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_903_1846_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_903_1846_Closed_Text.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_903_1846_Open_Image.style.display='inline'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_903_1846_Open_Text.style.display='inline';" alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/ContractedBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN id=ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_903_1846_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"&gt;...&lt;/SPAN&gt;&lt;SPAN id=ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_903_1846_Open_Text&gt;&lt;SPAN style="COLOR: #000000"&gt;{&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;27&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;//&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt; wParam 由 OnNcHitTest 返回&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;28&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; T&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;*&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; pT &lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; static_cast&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;T&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;*&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;this&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;);&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;29&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;30&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG id=ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_983_1028_Open_Image onclick="this.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_983_1028_Open_Text.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_983_1028_Closed_Image.style.display='inline'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_983_1028_Closed_Text.style.display='inline';" alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top&gt;&lt;IMG id=ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_983_1028_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_983_1028_Closed_Text.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_983_1028_Open_Image.style.display='inline'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_983_1028_Open_Text.style.display='inline';" alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; POINT pt &lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; &lt;/SPAN&gt;&lt;SPAN id=ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_983_1028_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"&gt;...&lt;/SPAN&gt;&lt;SPAN id=ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_983_1028_Open_Text&gt;&lt;SPAN style="COLOR: #000000"&gt;{ GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam) }&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;31&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mn_ButtonPress &lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; HTNOWHERE;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;32&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;33&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;switch&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;( wParam ) &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;34&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG id=ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1084_1831_Open_Image onclick="this.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1084_1831_Open_Text.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1084_1831_Closed_Image.style.display='inline'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1084_1831_Closed_Text.style.display='inline';" alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top&gt;&lt;IMG id=ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1084_1831_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1084_1831_Closed_Text.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1084_1831_Open_Image.style.display='inline'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1084_1831_Open_Text.style.display='inline';" alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN id=ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1084_1831_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"&gt;...&lt;/SPAN&gt;&lt;SPAN id=ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1084_1831_Open_Text&gt;&lt;SPAN style="COLOR: #000000"&gt;{&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;35&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;case&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; HTMINBUTTON:&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;36&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;case&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; HTMAXBUTTON:&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;37&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;case&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; HTCLOSE:&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;38&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;case&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; HTHELP:&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;39&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mn_ButtonPress&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; wParam;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;40&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mb_OnPressed&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; TRUE;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;41&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bHandled&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; TRUE;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;//&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt; 表示已经处理过了，否则系统会重画按钮且 WM_NC_LBUTTONUP 不会被触发。&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;42&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pT&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;-&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;doReDrawCaption();&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;43&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;break&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;44&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;case&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; HTCAPTION:&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;45&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bHandled &lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; FALSE;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;//&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt; 继续让系统进行缺省处理&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;46&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;&lt;IMG id=ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1371_1760_Open_Image onclick="this.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1371_1760_Open_Text.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1371_1760_Closed_Image.style.display='inline'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1371_1760_Closed_Text.style.display='inline';" alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top&gt;&lt;IMG id=ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1371_1760_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1371_1760_Closed_Text.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1371_1760_Open_Image.style.display='inline'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1371_1760_Open_Text.style.display='inline';" alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN id=ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1371_1760_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"&gt;...&lt;/SPAN&gt;&lt;SPAN id=ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1371_1760_Open_Text&gt;&lt;SPAN style="COLOR: #000000"&gt;{&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;47&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DWORD nStyle &lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; pT&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;-&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;GetStyle();&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;48&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;if&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;(nStyle &lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;amp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; WS_MINIMIZE)&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;49&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG id=ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1441_1527_Open_Image onclick="this.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1441_1527_Open_Text.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1441_1527_Closed_Image.style.display='inline'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1441_1527_Closed_Text.style.display='inline';" alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top&gt;&lt;IMG id=ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1441_1527_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1441_1527_Closed_Text.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1441_1527_Open_Image.style.display='inline'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1441_1527_Open_Text.style.display='inline';" alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN id=ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1441_1527_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"&gt;...&lt;/SPAN&gt;&lt;SPAN id=ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1441_1527_Open_Text&gt;&lt;SPAN style="COLOR: #000000"&gt;{&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;50&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;return&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;0&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;//&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt; BUG: Prevents move of iconic window, but fixes Windows freeze&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;51&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;52&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;else&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;53&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;if&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;(nStyle &lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;amp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; WS_MAXIMIZE)&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;54&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG id=ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1571_1755_Open_Image onclick="this.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1571_1755_Open_Text.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1571_1755_Closed_Image.style.display='inline'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1571_1755_Closed_Text.style.display='inline';" alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top&gt;&lt;IMG id=ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1571_1755_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1571_1755_Closed_Text.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1571_1755_Open_Image.style.display='inline'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1571_1755_Open_Text.style.display='inline';" alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN id=ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1571_1755_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"&gt;...&lt;/SPAN&gt;&lt;SPAN id=ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1571_1755_Open_Text&gt;&lt;SPAN style="COLOR: #000000"&gt;{&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;55&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;//&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt; 在系统最大化的时候需要在鼠标按下时重画标题栏&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;56&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bHandled &lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; TRUE; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;//&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt; 表示已经处理过了，否则系统会重画按钮。&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;57&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;//&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt; 让系统对 HTCAPTION 进行处理&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;58&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pT&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;-&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;DefWindowProc(uMsg, wParam, lParam);&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;59&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pT&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;-&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;doReDrawCaption();&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;60&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;61&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;62&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;break&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;63&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;default&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;:&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;64&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bHandled &lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; FALSE;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;//&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt; 继续让系统进行缺省处理&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;65&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;break&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;66&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;67&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;return&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;0&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;68&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;69&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/None.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;70&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG id=ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1878_1885_Open_Image onclick="this.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1878_1885_Open_Text.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1878_1885_Closed_Image.style.display='inline'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1878_1885_Closed_Text.style.display='inline';" alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top&gt;&lt;IMG id=ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1878_1885_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1878_1885_Closed_Text.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1878_1885_Open_Image.style.display='inline'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1878_1885_Open_Text.style.display='inline';" alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/ContractedBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LRESULT OnNCLButtonUp(UINT &lt;/SPAN&gt;&lt;SPAN id=ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1878_1885_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"&gt;/**/&lt;/SPAN&gt;&lt;SPAN id=ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1878_1885_Open_Text&gt;&lt;SPAN style="COLOR: #008000"&gt;/*&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;uMsg&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;*/&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;, WPARAM wParam, LPARAM lParam, BOOL&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;amp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; bHandled)&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;71&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG id=ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1935_2917_Open_Image onclick="this.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1935_2917_Open_Text.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1935_2917_Closed_Image.style.display='inline'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1935_2917_Closed_Text.style.display='inline';" alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top&gt;&lt;IMG id=ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1935_2917_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1935_2917_Closed_Text.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1935_2917_Open_Image.style.display='inline'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1935_2917_Open_Text.style.display='inline';" alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/ContractedBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN id=ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1935_2917_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"&gt;...&lt;/SPAN&gt;&lt;SPAN id=ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1935_2917_Open_Text&gt;&lt;SPAN style="COLOR: #000000"&gt;{&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;72&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;//&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt; wParam 由 OnNcHitTest 返回&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;73&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; T&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;*&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; pT &lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; static_cast&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;T&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;*&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;this&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;);&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;74&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;75&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mb_OnPressed &lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; FALSE;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;76&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;77&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;if&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;(wParam &lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;==&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; mn_ButtonPress)&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;78&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG id=ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_2058_2872_Open_Image onclick="this.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_2058_2872_Open_Text.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_2058_2872_Closed_Image.style.display='inline'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_2058_2872_Closed_Text.style.display='inline';" alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top&gt;&lt;IMG id=ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_2058_2872_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_2058_2872_Closed_Text.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_2058_2872_Open_Image.style.display='inline'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_2058_2872_Open_Text.style.display='inline';" alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN id=ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_2058_2872_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"&gt;...&lt;/SPAN&gt;&lt;SPAN id=ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_2058_2872_Open_Text&gt;&lt;SPAN style="COLOR: #000000"&gt;{&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;79&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;//&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt; 鼠标按下和释放在相同的按钮上&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;80&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;&lt;IMG id=ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_2095_2140_Open_Image onclick="this.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_2095_2140_Open_Text.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_2095_2140_Closed_Image.style.display='inline'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_2095_2140_Closed_Text.style.display='inline';" alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top&gt;&lt;IMG id=ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_2095_2140_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_2095_2140_Closed_Text.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_2095_2140_Open_Image.style.display='inline'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_2095_2140_Open_Text.style.display='inline';" alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; POINT pt &lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; &lt;/SPAN&gt;&lt;SPAN id=ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_2095_2140_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"&gt;...&lt;/SPAN&gt;&lt;SPAN id=ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_2095_2140_Open_Text&gt;&lt;SPAN style="COLOR: #000000"&gt;{ GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam) }&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;81&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;switch&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;( wParam ) &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;82&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG id=ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_2167_2868_Open_Image onclick="this.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_2167_2868_Open_Text.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_2167_2868_Closed_Image.style.display='inline'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_2167_2868_Closed_Text.style.display='inline';" alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top&gt;&lt;IMG id=ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_2167_2868_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_2167_2868_Closed_Text.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_2167_2868_Open_Image.style.display='inline'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_2167_2868_Open_Text.style.display='inline';" alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN id=ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_2167_2868_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"&gt;...&lt;/SPAN&gt;&lt;SPAN id=ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_2167_2868_Open_Text&gt;&lt;SPAN style="COLOR: #000000"&gt;{&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;83&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;case&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; HTMINBUTTON:&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;84&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pT&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;-&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;PostMessage(WM_SYSCOMMAND, SC_MINIMIZE, MAKELPARAM(pt.x, pt.y));&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;85&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bHandled &lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; TRUE;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;//&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt; 禁止系统做缺省处理&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;86&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;break&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;87&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;case&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; HTMAXBUTTON:&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;88&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mn_ButtonMove &lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; HTNOWHERE;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;//&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt; 最大画后鼠标位置将改变&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;89&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;if&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;(pT&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;-&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;GetStyle() &lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;amp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; WS_MAXIMIZE)&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;90&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pT&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;-&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;PostMessage(WM_SYSCOMMAND, SC_RESTORE,&amp;nbsp; MAKELPARAM(pt.x, pt.y));&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;91&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;else&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;92&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pT&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;-&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;PostMessage(WM_SYSCOMMAND, SC_MAXIMIZE, MAKELPARAM(pt.x, pt.y));&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;93&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bHandled &lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; TRUE;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;//&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt; 禁止系统做缺省处理&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;94&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;break&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;95&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;case&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; HTCLOSE:&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;96&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pT&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;-&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;PostMessage(WM_CLOSE);&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;97&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bHandled &lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; TRUE;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;//&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt; 禁止系统做缺省处理&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;98&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;break&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;99&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;case&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; HTHELP:&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;100&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pT&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;-&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;PostMessage(WM_HELP);&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;101&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bHandled &lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; TRUE;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;//&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt; 禁止系统做缺省处理&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;102&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;break&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;103&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;case&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; HTSYSMENU:&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;104&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;default&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;:&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;105&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bHandled &lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; FALSE;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;//&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt; 让系统进行缺省处理&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;106&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;107&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;108&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mn_ButtonPress &lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; HTNOWHERE;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;109&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;return&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;0&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;110&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;111&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/None.gif" align=top&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;112&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG id=ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_2946_2953_Open_Image onclick="this.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_2946_2953_Open_Text.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_2946_2953_Closed_Image.style.display='inline'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_2946_2953_Closed_Text.style.display='inline';" alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top&gt;&lt;IMG id=ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_2946_2953_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_2946_2953_Closed_Text.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_2946_2953_Open_Image.style.display='inline'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_2946_2953_Open_Text.style.display='inline';" alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/ContractedBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LRESULT OnLButtonUp(UINT &lt;/SPAN&gt;&lt;SPAN id=ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_2946_2953_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"&gt;/**/&lt;/SPAN&gt;&lt;SPAN id=ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_2946_2953_Open_Text&gt;&lt;SPAN style="COLOR: #008000"&gt;/*&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;uMsg&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;*/&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;, WPARAM wParam, LPARAM lParam, BOOL&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;amp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; bHandled)&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;113&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG id=ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_3003_3094_Open_Image onclick="this.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_3003_3094_Open_Text.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_3003_3094_Closed_Image.style.display='inline'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_3003_3094_Closed_Text.style.display='inline';" alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top&gt;&lt;IMG id=ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_3003_3094_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_3003_3094_Closed_Text.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_3003_3094_Open_Image.style.display='inline'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_3003_3094_Open_Text.style.display='inline';" alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/ContractedBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN id=ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_3003_3094_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"&gt;...&lt;/SPAN&gt;&lt;SPAN id=ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_3003_3094_Open_Text&gt;&lt;SPAN style="COLOR: #000000"&gt;{&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;114&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bHandled &lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; FALSE;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;115&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;116&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mb_OnPressed&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; FALSE;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;117&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mn_ButtonPress&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; HTNOWHERE;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;118&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;119&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;return&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;0&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;120&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/IMG&gt;&lt;img src ="http://caviler.cndev.org/aggbug/11823.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>一无所知</dc:creator><title>【编程】ICON - 从 DLL/EXE/ICL 中抽取图标(16 Bit ICL 文件的处理)</title><link>http://caviler.cndev.org/archive/2005/04/04/9964.aspx</link><pubDate>2005-04-04 14:04:00Z</pubDate><guid>http://caviler.cndev.org/archive/2005/04/04/9964.aspx</guid><wfw:comment>http://caviler.cndev.org/comments/9964.aspx</wfw:comment><comments>http://caviler.cndev.org/archive/2005/04/04/9964.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://caviler.cndev.org/comments/commentRss/9964.aspx</wfw:commentRss><trackback:ping>http://caviler.cndev.org/services/trackbacks/9964.aspx</trackback:ping><description>&lt;P&gt;　　一直以来用 AxIcon Workshop 来处理图标，但是 AxIcon Workshop稍微有点问题就是，不支持重复图标过滤，而且，在处理大量图标的时候很容易没有响应！：（&lt;/P&gt;
&lt;P&gt;　　为此，我自己写了一个图标处理工具，可以自动抽取 DLL/EXE/ICL&amp;nbsp;等文件中的图标，并进行重复图标自动过滤，图标扫描等功能，其中比较困难的是对 ICL 文件的处理，ICL 文件本质上是一个 16 Bit 的 DLL 资源文件，但是在 Windows 2000 下好象没有直接操作它的函数，至少我是不知道，查了 Google 也没查到相关资料，没有办法，只有硬来了，查了 16 Bit 的 EXE 的文件结构资料，结合网上可以找到的一些对16 Bit 的 EXE 的读写代码片段，再经过探索和摸索，终于成功的将从 ICL 中分离出 ICON 。其中的关键代码如下：希望给你有帮助&lt;/P&gt;
&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #ccffcc"&gt;typedef UINT16&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; HANDLE16;&lt;BR&gt;typedef HANDLE16&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *LPHANDLE16;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #ccffcc"&gt;DECLARE_HANDLE(FARPROC16);&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #ccffcc"&gt;#pragma pack( push )&lt;BR&gt;#pragma pack( 2 )&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #ccffcc"&gt;typedef struct&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; WORD&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; offset;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; WORD&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; length;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; WORD&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; flags;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; WORD&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; id;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; HANDLE16 handle;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; WORD&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; usage;&lt;BR&gt;} NE_NAMEINFO;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #ccffcc"&gt;typedef struct&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; WORD&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; type_id;&amp;nbsp;&amp;nbsp; /* Type identifier */&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; WORD&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; count;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Number of resources of this type */&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; FARPROC16&amp;nbsp;&amp;nbsp; resloader; /* SetResourceHandler() */&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /*&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * Name info array.&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;BR&gt;} NE_TYPEINFO;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #ccffcc"&gt;typedef struct&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; WORD&amp;nbsp;idReserved;&amp;nbsp;&amp;nbsp;// Reserved (must be 0)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; WORD&amp;nbsp;idType;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Resource Type (1 for icons)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; WORD&amp;nbsp;idCount;&amp;nbsp;&amp;nbsp;// How many images?&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; BYTE&amp;nbsp;bWidth;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Width, in pixels, of the image&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; BYTE&amp;nbsp;bHeight;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Height, in pixels, of the image&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; BYTE&amp;nbsp;bColorCount;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Number of colors in image (0 if &amp;gt;=8bpp)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; BYTE&amp;nbsp;bReserved;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Reserved ( must be 0)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; WORD&amp;nbsp;wPlanes;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Color Planes&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; WORD&amp;nbsp;wBitCount;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Bits per pixel&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DWORD&amp;nbsp;dwBytesInRes;&amp;nbsp;&amp;nbsp;&amp;nbsp; // How many bytes in this resource?&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DWORD&amp;nbsp;dwImageOffset;&amp;nbsp;&amp;nbsp; // Where in the file is this image?&lt;BR&gt;} NE_ICONDIRENTRY, *LPNE_ICONDIRENTRY;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #ccffcc"&gt;// 图标目录&lt;BR&gt;typedef struct &lt;BR&gt;{&lt;BR&gt;&amp;nbsp;WORD&amp;nbsp;idReserved;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Reserved (must be 0)&lt;BR&gt;&amp;nbsp;WORD&amp;nbsp;idType;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Resource type (1 for icons)&lt;BR&gt;&amp;nbsp;WORD&amp;nbsp;idCount;&amp;nbsp;&amp;nbsp;&amp;nbsp;// How many images?&lt;BR&gt;} GRPICONDIR, *LPGRPICONDIR;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #ccffcc"&gt;// 图标项&lt;BR&gt;typedef struct&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;BYTE&amp;nbsp;&amp;nbsp; bWidth;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Width, in pixels, of the image&lt;BR&gt;&amp;nbsp;BYTE&amp;nbsp;&amp;nbsp; bHeight;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Height, in pixels, of the image&lt;BR&gt;&amp;nbsp;BYTE&amp;nbsp;&amp;nbsp; bColorCount;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Number of colors in image (0 if &amp;gt;=8bpp)&lt;BR&gt;&amp;nbsp;BYTE&amp;nbsp;&amp;nbsp; bReserved;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Reserved&lt;BR&gt;&amp;nbsp;WORD&amp;nbsp;&amp;nbsp; wPlanes;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Color Planes&lt;BR&gt;&amp;nbsp;WORD&amp;nbsp;&amp;nbsp; wBitCount;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Bits per pixel&lt;BR&gt;&amp;nbsp;DWORD&amp;nbsp; dwBytesInRes;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // how many bytes in this resource?&lt;BR&gt;&amp;nbsp;WORD&amp;nbsp;&amp;nbsp; nID;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // the ID&lt;BR&gt;} GRPNE_ICONDIRENTRY, *LPGRPNE_ICONDIRENTRY;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #ccffcc"&gt;#pragma pack( pop )&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #ccffcc"&gt;#define NE_RT_CURSOR&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x8001&lt;BR&gt;#define NE_RT_BITMAP&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x8002&lt;BR&gt;#define NE_RT_ICON&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x8003&lt;BR&gt;#define NE_RT_MENU&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x8004&lt;BR&gt;#define NE_RT_DIALOG&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x8005&lt;BR&gt;#define NE_RT_STRING&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x8006&lt;BR&gt;#define NE_RT_FONTDIR&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x8007&lt;BR&gt;#define NE_RT_FONT&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x8008&lt;BR&gt;#define NE_RT_ACCELERATOR&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x8009&lt;BR&gt;#define NE_RT_RCDATA&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x800a&lt;BR&gt;#define NE_RT_GROUP_CURSOR&amp;nbsp;&amp;nbsp; 0x800c&lt;BR&gt;#define NE_RT_GROUP_ICON&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x800e&lt;BR&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #99ccff"&gt;// ICL 图标枚举&lt;BR&gt;HRESULT ICL_EnumResourceNames(IN CONST HANDLE hFile, IN UINT nType, IN NE_ENUM_RES_NAME_PROC pFunc, IN LPARAM lParam)&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;DWORD dwRead = 0;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #99ccff"&gt;&amp;nbsp;// 读区 DOS 文件头&lt;BR&gt;&amp;nbsp;IMAGE_DOS_HEADER oDOSHeader;&lt;BR&gt;&amp;nbsp;if(!::ReadFile( hFile, &amp;amp;oDOSHeader, sizeof(IMAGE_DOS_HEADER), &amp;amp;dwRead, NULL ) )&lt;BR&gt;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;return ::GetLastError();&lt;BR&gt;&amp;nbsp;}&lt;BR&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;// 读区 NE 文件头&lt;BR&gt;&amp;nbsp;IMAGE_OS2_HEADER oNEHeader;&lt;BR&gt;&amp;nbsp;::SetFilePointer(hFile, oDOSHeader.e_lfanew, NULL, FILE_BEGIN);&lt;BR&gt;&amp;nbsp;&amp;nbsp;if(!::ReadFile( hFile, &amp;amp;oNEHeader, sizeof(IMAGE_OS2_HEADER), &amp;amp;dwRead, NULL ) )&lt;BR&gt;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;return ::GetLastError();&lt;BR&gt;&amp;nbsp;}&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #99ccff"&gt;&amp;nbsp;&amp;nbsp;// 读区 RSRC 资源表&lt;BR&gt;&amp;nbsp;DWORD nPos = oDOSHeader.e_lfanew + oNEHeader.ne_rsrctab;&lt;BR&gt;&amp;nbsp;::SetFilePointer(hFile, nPos, NULL, FILE_BEGIN);&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #99ccff"&gt;&amp;nbsp;WORD nSizeShift;&lt;BR&gt;&amp;nbsp;&amp;nbsp;if(!::ReadFile( hFile, &amp;amp;nSizeShift, sizeof(WORD), &amp;amp;dwRead, NULL ) )&lt;BR&gt;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;return ::GetLastError();&lt;BR&gt;&amp;nbsp;}&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #99ccff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; NE_TYPEINFO oInfo;&lt;BR&gt;&amp;nbsp;&amp;nbsp;if(!::ReadFile( hFile, &amp;amp;oInfo, sizeof(NE_TYPEINFO), &amp;amp;dwRead, NULL ) )&lt;BR&gt;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;return ::GetLastError();&lt;BR&gt;&amp;nbsp;}&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #99ccff"&gt;&amp;nbsp;// 枚举所有的资源&lt;BR&gt;&amp;nbsp;DWORD nPosEnd&amp;nbsp; = oDOSHeader.e_lfanew + oNEHeader.ne_restab;&lt;BR&gt;&amp;nbsp;DWORD nPosName = nPosEnd + 4;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #99ccff"&gt;&amp;nbsp;NE_NAMEINFO oName;&lt;BR&gt;&amp;nbsp;UINT nIndex = 0;&lt;BR&gt;&amp;nbsp;while (oInfo.type_id != 0 &amp;amp;&amp;amp; nPos &amp;lt; nPosEnd)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (UINT nCount = oInfo.count; nCount &amp;gt; 0; nCount--)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(!::ReadFile(hFile, &amp;amp;oName, sizeof(NE_NAMEINFO), &amp;amp;dwRead, NULL))&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return ::GetLastError();&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(oInfo.type_id == nType)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// 保存文件位置&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DWORD nPosOld = ::SetFilePointer(hFile, 0, NULL, FILE_CURRENT);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// 资源名&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;BYTE nSize;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;::SetFilePointer(hFile, nPosName, NULL, FILE_BEGIN);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(!::ReadFile( hFile, &amp;amp;nSize, sizeof(BYTE), &amp;amp;dwRead, NULL))&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return ::GetLastError();&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(nSize &amp;gt; 255) return E_FAIL;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #99ccff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;nPosName += sizeof(BYTE) + nSize;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #99ccff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ACHAR sName[255 + 1];&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(!::ReadFile( hFile, sName, nSize, &amp;amp;dwRead, NULL))&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return ::GetLastError();&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(nSize == 1 &amp;amp;&amp;amp; sName[0] == __A(&lt;/FONT&gt;&lt;A href="mailto:'@'"&gt;&lt;FONT style="BACKGROUND-COLOR: #99ccff"&gt;'@'&lt;/FONT&gt;&lt;/A&gt;&lt;FONT style="BACKGROUND-COLOR: #99ccff"&gt;)) nSize = 0;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sName[nSize] = ACHR_NULL;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #99ccff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// 资源组&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GRPICONDIR oDir;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DWORD nPosGroup = oName.offset &amp;lt;&amp;lt; nSizeShift;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;::SetFilePointer(hFile, nPosGroup, NULL, FILE_BEGIN);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(!::ReadFile( hFile, &amp;amp;oDir, sizeof(GRPICONDIR), &amp;amp;dwRead, NULL))&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return ::GetLastError();&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #99ccff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// 处理&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;STK_CONVERSIONU;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;pFunc(hFile, nIndex++, STK_A2T(sName), &amp;amp;oDir, lParam);&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #99ccff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// 恢复文件位置&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;::SetFilePointer(hFile, nPosOld, NULL, FILE_BEGIN);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(!::ReadFile( hFile, &amp;amp;oInfo, sizeof(NE_TYPEINFO), &amp;amp;dwRead, NULL))&lt;BR&gt;&amp;nbsp;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;return ::GetLastError();&lt;BR&gt;&amp;nbsp;&amp;nbsp;}&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;return S_OK;&lt;BR&gt;}&lt;BR&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;img src ="http://caviler.cndev.org/aggbug/9964.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>一无所知</dc:creator><title>【编程】ISAPI - 从 Window 2000 IIS 5.0 升级到 Windows 2003 IIS 6.0</title><link>http://caviler.cndev.org/archive/2005/04/04/9962.aspx</link><pubDate>2005-04-04 13:41:00Z</pubDate><guid>http://caviler.cndev.org/archive/2005/04/04/9962.aspx</guid><wfw:comment>http://caviler.cndev.org/comments/9962.aspx</wfw:comment><comments>http://caviler.cndev.org/archive/2005/04/04/9962.aspx#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://caviler.cndev.org/comments/commentRss/9962.aspx</wfw:commentRss><trackback:ping>http://caviler.cndev.org/services/trackbacks/9962.aspx</trackback:ping><description>&lt;P&gt;以前在Window 2000 IIS5.0下写了一个URL检测 + 重定向 + Session + 入侵检测 + 自动解压+ 自动解密的 ISAPI Filter ，用于数字图书馆项目，一直都很好使， 最近升级到 Widnows 2003 IIS6.0 后，发现　ISAPI Filter 根本运行不起来，后来查了又查，原来是文件的权限问题，IIS 6.0 ISAPI Filter 好象是在　Service 帐号下运行的(具体我也没去查过)&amp;nbsp;,将数据文件的读写权限给予Service 帐号后,ISAPI Filter 终于可以正常运行了，但是，在随后的测试中，我发现，数据解密结果不正确，郁闷啊，查吧............&lt;/P&gt;
&lt;P&gt;经过日志跟踪和分析，终于发现问题所在，原来　IIS 6.0 和 IIS 5.0 发送给客户端的时候应答稍微有点不一样，IIS 5.0 是先单独发应一次答头 HttpFilterProc-&amp;gt;OnSendData，&lt;/P&gt;
&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #99ccff"&gt;HTTP/1.1 200 OK&lt;BR&gt;Server: Microsoft-IIS/5.0&lt;BR&gt;X-Powered-By: ASP.NET&lt;BR&gt;Date: Mon, 04 Apr 2005 05:39:01 GMT&lt;BR&gt;Content-Type: application/octet-stream&lt;BR&gt;Accept-Ranges: bytes&lt;BR&gt;Last-Modified: Mon, 04 Apr 2005 05:39:00 GMT&lt;BR&gt;ETag: W/"90c9399ad838c51:fd1"&lt;BR&gt;Content-Length: 661442&lt;BR&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;然后分多次发送数据　HttpFilterProc-&amp;gt;OnSendData；&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;而 IIS6.0 却是将应答头和数据一起发送的，也就是说IIS 6.0 的第一次HttpFilterProc-&amp;gt;OnSendData　中即包含了应答头，也包含了数据，&lt;/P&gt;
&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #99ccff"&gt;HTTP/1.1 200 OK&lt;BR&gt;Date: Mon, 04 Apr 2005 05:17:09 GMT&lt;BR&gt;Content-Length: 661442&lt;BR&gt;Content-Type: application/pdf&lt;BR&gt;Last-Modified: Mon, 04 Apr 2005 05:16:41 GMT&lt;BR&gt;Accept-Ranges: bytes&lt;BR&gt;ETag: "4c949b7cd538c51:ef5"&lt;BR&gt;Server: Microsoft-IIS/6.0&lt;BR&gt;X-Powered-By: ASP.NET&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #99ccff"&gt;%PDu&#x1F;t&#x1C;v?&#x1C;在&amp;gt;2&#x6;&#x10;&#x7;fW[[;&#x8; e?&#x17;v0F[Z4&#x13;&#x1A;楽=Z&#x10;;&#x16;uJVYCYX(|XES&#x14;&#x18;&#x14;敵蛣?&lt;BR&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;而原先的程序没有为这种情况设计，经过调整后，ISAPI Filter 已经成功的运行在　IIS 5.0 和　IIS 6.0 下了。&lt;/P&gt;&lt;img src ="http://caviler.cndev.org/aggbug/9962.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>一无所知</dc:creator><title>【编程】开源(OpenSource) - 全文检索 - Lucene - CLucene</title><link>http://caviler.cndev.org/archive/2005/02/23/7246.aspx</link><pubDate>2005-02-23 14:58:00Z</pubDate><guid>http://caviler.cndev.org/archive/2005/02/23/7246.aspx</guid><wfw:comment>http://caviler.cndev.org/comments/7246.aspx</wfw:comment><comments>http://caviler.cndev.org/archive/2005/02/23/7246.aspx#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://caviler.cndev.org/comments/commentRss/7246.aspx</wfw:commentRss><trackback:ping>http://caviler.cndev.org/services/trackbacks/7246.aspx</trackback:ping><description>&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 传统的全文检索都是基于数据库的，SQL Server、Oracle、mysql 都提供全文检索，但这些比较大，不适合单机或小应用程序(Mysql4.0以上可以作为整合开发)，Mysql也不支持中文。&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Lucene是一个高性能、纯Java的全文检索引擎，而且免费、开源。Lucene几乎适合于任何需要全文检索的应用，尤其是跨平台的应用。Lucene的作者Doug Cutting是一个资深的全文检索专家，刚开始，Doug Cutting将Lucene发表在自己的主页上，2000年3月将其转移到Sourceforge，于2001年10捐献给Apache，作为Jakarta的一个子工程。&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CLucene是C++版的全文检索引擎,完全移植于Lucene，采用 STL 编写。&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 编译了一下 C++ 版本的 Lucene - CLucene - a C++ search engine&amp;nbsp; &lt;A href="http://sourceforge.net/projects/clucene/"&gt;http://sourceforge.net/projects/clucene/&lt;/A&gt;&lt;BR&gt;在 MSVC6 下修改了一些编译选项后编译成功，测试了一下，好象不支持对中文的全文检索，估计是分词部分对中文不支持，但是据说 Lucene 的全文检索架构是很 NB 的，有空研究研究 Lucene 的全文检索架构然后再加上中文分词功能吧，不加中文分词功能可没办法用。&lt;BR&gt;&lt;BR&gt;BTW: 不知道 Java 版的 Lucene&amp;nbsp;稳定性怎样，但是&amp;nbsp;CLucene 的稳定性比较差，据说还有 n 多的内存泄露。&lt;img src ="http://caviler.cndev.org/aggbug/7246.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>一无所知</dc:creator><title>【编程】编程语言 - 工具 - 代码格式化(Format)/风格化(Style) </title><link>http://caviler.cndev.org/archive/2005/02/01/6091.aspx</link><pubDate>2005-02-01 17:35:00Z</pubDate><guid>http://caviler.cndev.org/archive/2005/02/01/6091.aspx</guid><wfw:comment>http://caviler.cndev.org/comments/6091.aspx</wfw:comment><comments>http://caviler.cndev.org/archive/2005/02/01/6091.aspx#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://caviler.cndev.org/comments/commentRss/6091.aspx</wfw:commentRss><trackback:ping>http://caviler.cndev.org/services/trackbacks/6091.aspx</trackback:ping><description>&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;看源代码的时候免不了要格式化一下代码，Java 当然是用 Eclipse 了，但是 C/C++ 就一直没有一个合适好用的工具来格式化(Format)/风格化(Style)代码，虽然Visual Studio 6.0 - Visual Studio 2005都提供了代码格式化功能，但是，实在是 --- 太简单了，根本不够用！！！&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;后来在网上搜索了一把，发现一个很不错的工具&lt;FONT color=#003399&gt;&lt;A href="http://sourceforge.net/projects/astyle/"&gt;&lt;STRONG&gt;Artistic Style &lt;/STRONG&gt;&lt;/A&gt;&lt;STRONG&gt;，&lt;/STRONG&gt;&lt;FONT color=#000000&gt;功能很强大，支持 C/C++/C# 和 Java，而且开源，目前最后版本是 1.17.0。此版本需要用 CVS 下载并编译，其中还是有些小 Bug, 估计是作者没空改，呵呵。&lt;BR&gt;&lt;/P&gt;
&lt;H1 align=center&gt;Artistic Style 1.17.0-dev &lt;/H1&gt;
&lt;H2&gt;A &lt;A href="file:///E:/UPR/doc/license.html"&gt;Free&lt;/A&gt;, Fast and Small Automatic Formatter&lt;BR&gt;for &lt;EM&gt;C&lt;/EM&gt;, &lt;EM&gt;C++&lt;/EM&gt;, &lt;EM&gt;C#&lt;/EM&gt;, and &lt;EM&gt;Java&lt;/EM&gt; Source Codes &lt;/H2&gt;
&lt;P&gt;
&lt;TABLE&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TH&gt;Project Overview &lt;/TH&gt;
&lt;TD&gt;&lt;A href="http://astyle.sourceforge.net/"&gt;http://astyle.sourceforge.net&lt;/A&gt; &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TH&gt;Sources, Binaries, Bug Tracker, Mailinglists &lt;/TH&gt;
&lt;TD&gt;&lt;A href="http://www.sourceforge.net/projects/astyle/"&gt;http://www.sourceforge.net/projects/astyle/&lt;/A&gt; &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TH&gt;Original Author &lt;/TH&gt;
&lt;TD&gt;&lt;A href="http://www.bigfoot.com/~davidsont/"&gt;Tal Davidson&lt;/A&gt;, Israel (&lt;A href="mailto:tald@users.sourceforge.net"&gt;tald@users.sourceforge.net&lt;/A&gt;) &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TH&gt;Maintainer &lt;/TH&gt;
&lt;TD&gt;&lt;A href="http://www.rootdirectory.de/solar/"&gt;Martin Baute&lt;/A&gt;, Germany (&lt;A href="mailto:devsolar@users.sourceforge.net"&gt;devsolar@sourceforge.net&lt;/A&gt;) &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;P&gt;Artistic Style is a &lt;STRONG&gt;reindenter and reformatter&lt;/STRONG&gt; for &lt;STRONG&gt;C, C++, C#, and Java&lt;/STRONG&gt; source code. &lt;/P&gt;
&lt;P&gt;When indenting source code, we as programmers have a tendency to use both &lt;EM&gt;spaces&lt;/EM&gt; and &lt;EM&gt;tab&lt;/EM&gt; characters to create the wanted indentation. Moreover, some editors by default insert spaces instead of tabs when pressing the tab key, and other editors (Emacs for example) have the ability to "pretty up" lines by automatically setting up the white space before the code on the line, possibly inserting spaces in a code that up to now used only tabs for indentation. &lt;/P&gt;
&lt;P&gt;Since the &lt;STRONG&gt;number&lt;/STRONG&gt; of space characters showed on screen for each tab character in the source code changes between editors (unless the user sets up the number to his liking...), &lt;STRONG&gt;one of the standard problems programmers are facing when moving from one editor to another&lt;/STRONG&gt; is that code containing both spaces and tabs that was up to now perfectly indented, suddently becomes a mess to look at when changing to another editor. Even if you as a programmer take care to &lt;STRONG&gt;only&lt;/STRONG&gt; use spaces or tabs, looking at other peoples source code can still be problematic. &lt;/P&gt;
&lt;P&gt;To address this problem, Artistic Style was created - a filter written in &lt;STRONG&gt;C++&lt;/STRONG&gt;, that automatically reindents &amp;amp; reformats C / C++ / C# / Java source files. It can be used from a &lt;STRONG&gt;command line&lt;/STRONG&gt;, or it can be &lt;STRONG&gt;incorporated in another C++ program&lt;/STRONG&gt;. &lt;/P&gt;
&lt;P&gt;The AStyle executable is distributed under the terms of the &lt;A href="http://www.gnu.org/licenses/gpl.html"&gt;GNU General Public License&lt;/A&gt; (GPL); you may incorporate the core classes (ASBeautifier and ASFormatter) in other projects subject to the &lt;A href="http://www.gnu.org/licenses/lgpl.html"&gt;GNU Lesser General Public License&lt;/A&gt; (LGPL). You may want to read the &lt;A href="http://sourceforge.net/docman/display_doc.php?docid=22446&amp;amp;group_id=2319"&gt;Release Notes&lt;/A&gt;. &lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;img src ="http://caviler.cndev.org/aggbug/6091.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>一无所知</dc:creator><title>【编程】编程语言(C++) - 工具 - 如何重置 Visual Assist X 试用时间</title><link>http://caviler.cndev.org/archive/2005/01/27/5908.aspx</link><pubDate>2005-01-27 11:39:00Z</pubDate><guid>http://caviler.cndev.org/archive/2005/01/27/5908.aspx</guid><wfw:comment>http://caviler.cndev.org/comments/5908.aspx</wfw:comment><comments>http://caviler.cndev.org/archive/2005/01/27/5908.aspx#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://caviler.cndev.org/comments/commentRss/5908.aspx</wfw:commentRss><trackback:ping>http://caviler.cndev.org/services/trackbacks/5908.aspx</trackback:ping><description>Visual Assist X 是一个非常好的 Visual Studio 6.0 IDE 辅助工具, 但我一直没有找到注册码，当 Visual Assist X 过期后，有一种方法可以重置 Visual Assist X 的过期时间，供参考，步骤如下：&lt;BR&gt;1、关闭 Visual Studio 6.0。&lt;BR&gt;2、删除注册表中的 HKLM\Software\Licenses 键值。&lt;BR&gt;3、删除 %TEMP% 中的 .tmp 文件。&lt;BR&gt;4、在注册表中搜索关键字 "nLxxQ" ，会找到一个类似于下面所示的 COM 注册项，删除整个该项。&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;HKCU\CLSID\{BC29421E-12B6-4630-A281-E18D215BC63E}&lt;BR&gt;&lt;BR&gt;&lt;img src ="http://caviler.cndev.org/aggbug/5908.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>一无所知</dc:creator><title>【编程】编程语言(C++) - 编译 - Visual C++ 编译器选项 </title><link>http://caviler.cndev.org/archive/2005/01/19/5708.aspx</link><pubDate>2005-01-19 16:14:00Z</pubDate><guid>http://caviler.cndev.org/archive/2005/01/19/5708.aspx</guid><wfw:comment>http://caviler.cndev.org/comments/5708.aspx</wfw:comment><comments>http://caviler.cndev.org/archive/2005/01/19/5708.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://caviler.cndev.org/comments/commentRss/5708.aspx</wfw:commentRss><trackback:ping>http://caviler.cndev.org/services/trackbacks/5708.aspx</trackback:ping><description>&lt;TABLE class=bannerparthead id=table2 cellSpacing=0&gt;
&lt;TBODY&gt;
&lt;TR id=hdr&gt;
&lt;TD class=runninghead noWrap&gt;Visual C++ 编译器选项&lt;/TD&gt;
&lt;TD class=product noWrap&gt;　&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;H1 class=dtH1&gt;按字母顺序列出的编译器选项&lt;/H1&gt;
&lt;P&gt;下面是一个完整的按字母顺序的编译器选项列表。要得到按类别排序的列表，请参见&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/_core_compiler_options_listed_by_category.asp"&gt;按类别列出的编译器选项&lt;/A&gt;。&lt;/P&gt;
&lt;TABLE style="BORDER-RIGHT: #000000 1px solid; BORDER-TOP: #000000 1px solid; BORDER-LEFT: #000000 1px solid; BORDER-BOTTOM: #000000 1px solid" cellSpacing=1 cellPadding=2 border=0&gt;
&lt;TBODY&gt;
&lt;TR vAlign=top&gt;
&lt;TH width="22%" bgColor=#c0c0c0&gt;选项&lt;/TH&gt;
&lt;TH bgColor=#c0c0c0&gt;目的&lt;/TH&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/vctbsspecifyresponsefile.asp"&gt;@&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;指定响应文件&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/_core_.2f.help.asp"&gt;/?&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;列出编译器选项&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/vclrfaispecifymetadatadirectories.asp"&gt;/AI&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;指定在解析传递到 #using 指令的文件引用时搜索的目录&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/vclrfarchminimumcpuarchitecture.asp"&gt;/arch&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;使用 SSE 或 SSE2 指令生成代码&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/_core_.2f.c_uc.asp"&gt;/C&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;在预处理期间保留注释&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/_core_.2f.c_lc.asp"&gt;/c&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;编译但不链接&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/vcrefeecomcompilation.asp"&gt;/clr&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;启用 C++ 的托管扩展并产生在公共语言运行库上运行的输出文件&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/_core_.2f.d.asp"&gt;/D&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;定义常数和宏&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/_core_.2f.e.asp"&gt;/E&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;将预处理器输出复制到标准输出&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/_core_.2f.eh.asp"&gt;/EH&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;指定异常处理模型&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/_core_.2f.ep.asp"&gt;/EP&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;将预处理器输出复制到标准输出&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/_core_.2f.f.asp"&gt;/F&lt;/A&gt; &lt;/TD&gt;
&lt;TD&gt;设置堆栈大小&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/_core_.2f.fa.asp"&gt;/FA&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;创建列表文件&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/_core_.2f.fa.asp"&gt;/Fa&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;设置列表文件名&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/_core_.2f.fd.asp"&gt;/Fd&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;重命名程序数据库文件&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/_core_.2f.fe.asp"&gt;/Fe&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;重命名可执行文件&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/_core_.2f.fi.asp"&gt;/FI&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;预处理指定的包含文件&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/_core_.2f.fm.asp"&gt;/Fm&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;创建映射文件&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/_core_.2f.fo.asp"&gt;/Fo&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;创建对象文件&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/_core_.2f.fp.asp"&gt;/Fp&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;指定预编译头文件名&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/_core_.2f.fr.2c_2f.fr.asp"&gt;/FR&lt;/A&gt;&lt;BR&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/_core_.2f.fr.2c_2f.fr.asp"&gt;/Fr&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;生成浏览器文件&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/vclrffunameforcedusingfile.asp"&gt;/FU&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;强制使用文件名，就像它已被传递到 #using 指令一样&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/vcrefFxMergeInjectedCode.asp"&gt;/Fx&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;将插入的代码与源文件合并&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/_core_.2f.g.asp"&gt;/G3&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;优化代码以优选 386 处理器。在 Visual C++ 5.0 中已经停用，编译器将忽略此选项&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/_core_.2f.g.asp"&gt;/G4&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;优化代码以优选 486 处理器。在 Visual C++ 5.0 中已经停用，编译器将忽略此选项&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/_core_.2f.g.asp"&gt;/G5&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;优化代码以优选 Pentium 处理器&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/_core_.2f.g.asp"&gt;/G6&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;优化代码以优选 Pentium Pro、Pentium II 和 Pentium III 处理器&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/_core_.2f.g.asp"&gt;/G7&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;针对 Pentium 4 或 Athlon 优化代码。&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/_core_.2f.ga.asp"&gt;/GA&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;优化 Windows 应用程序的代码&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/_core_.2f.g.asp"&gt;/GB&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;与 /G6 等效；将 _M_IX86 的值设置为 600&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/_core_.2f.gd.2c_2f.gr.2c_2f.gz.asp"&gt;/Gd&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;使用 &lt;B&gt;__cdecl&lt;/B&gt; 调用约定&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/_core_.2f.ge.asp"&gt;/Ge&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;激活堆栈探测&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/_core_.2f.gf.asp"&gt;/GF&lt;/A&gt;&lt;BR&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/_core_.2f.gf.asp"&gt;/Gf&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;启用字符串池&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/vcrefghenable__pexithookfunction.asp"&gt;/GH&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;调用挂钩函数 &lt;B&gt;_pexit&lt;/B&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/_core_.2f.gh.asp"&gt;/Gh&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;调用挂钩函数 &lt;B&gt;_penter&lt;/B&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/vcgrfglwholeprogramoptimization.asp"&gt;/GL&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;启用全程序优化&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/_core_.2f.gm_minimal.asp"&gt;/Gm&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;启用最小重新生成&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/_core_.2f.gr_option.asp"&gt;/GR&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;启用运行时类型信息 (RTTI)&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/_core_.2f.gd.2c_2f.gr.2c_2f.gz.asp"&gt;/Gr&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;使用 &lt;B&gt;__fastcall&lt;/B&gt; 调用约定&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/vclrfgsbuffersecurity.asp"&gt;/GS&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;缓冲区安全检查&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/_core_.2f.gs.asp"&gt;/Gs&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;控制堆栈探测&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/_core_.2f.gt.asp"&gt;/GT&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;支持使用静态线程本地存储区分配的数据的纤程安全&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/_core_.2f.gx.asp"&gt;/GX&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;启用同步异常处理&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/_core_.2f.gy.asp"&gt;/Gy&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;启用函数级链接&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/vcrefgz(catchrelease-builderrorsindebugbuild).asp"&gt;/GZ&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;与 &lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/vcrefrtcruntimechecks.asp"&gt;/RTC1&lt;/A&gt; 相同&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/_core_.2f.gd.2c_2f.gr.2c_2f.gz.asp"&gt;/Gz&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;使用 &lt;B&gt;__stdcall&lt;/B&gt; 调用约定&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/_core_.2f.h.asp"&gt;/H&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;限制外部（公共）名称的长度&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/_core_.2f.help.asp"&gt;/HELP&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;列出编译器选项&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/_core_.2f.i.asp"&gt;/I&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;在目录中搜索包含文件&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/_core_.2f.j.asp"&gt;/J&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;更改默认的 &lt;B&gt;char&lt;/B&gt; 类型&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/_core_.2f.md.2c_2f.ml.2c_2f.mt.2c_2f.ld.asp"&gt;/LD&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;创建动态链接库&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/_core_.2f.md.2c_2f.ml.2c_2f.mt.2c_2f.ld.asp"&gt;/LDd&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;创建调试动态链接库&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/_core_.2f.link.asp"&gt;/link&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;将指定的选项传递给 LINK&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/_core_.2f.md.2c_2f.ml.2c_2f.mt.2c_2f.ld.asp"&gt;/MD&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;使用 MSVCRT.lib 创建多线程 DLL&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/_core_.2f.md.2c_2f.ml.2c_2f.mt.2c_2f.ld.asp"&gt;/MDd&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;使用 MSVCRTD.lib 创建调试多线程 DLL&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/_core_.2f.md.2c_2f.ml.2c_2f.mt.2c_2f.ld.asp"&gt;/ML&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;使用 LIBC.lib 创建单线程可执行文件&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/_core_.2f.md.2c_2f.ml.2c_2f.mt.2c_2f.ld.asp"&gt;/MLd&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;使用 LIBCD.lib 创建调试单线程可执行文件&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/_core_.2f.md.2c_2f.ml.2c_2f.mt.2c_2f.ld.asp"&gt;/MT&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;使用 LIBCMT.lib 创建多线程可执行文件&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/_core_.2f.md.2c_2f.ml.2c_2f.mt.2c_2f.ld.asp"&gt;/MTd&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;使用 LIBCMTD.lib 创建调试多线程可执行文件&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/vclrfnologosuppressdisplayofbanner.asp"&gt;/nologo&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;取消显示登录版权标志&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/_core_.2f.o1.2c_2f.o2.asp"&gt;/O1&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;创建小代码&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/_core_.2f.o1.2c_2f.o2.asp"&gt;/O2&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;创建快速代码&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/_core_.2f.oa.2c_2f.ow.asp"&gt;/Oa&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;假设没有别名&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/_core_.2f.ob.asp"&gt;/Ob&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;控制内联展开&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/_core_.2f.od.asp"&gt;/Od&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;禁用优化&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/_core_.2f.og.asp"&gt;/Og&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;使用全局优化&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/_core_.2f.oi.asp"&gt;/Oi&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;生成内部函数&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/_core_.2f.op.asp"&gt;/Op&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;改善浮点数一致性&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/_core_.2f.os.asp"&gt;/Os&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;代码大小优先&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/_core_.2f.os.asp"&gt;/Ot&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;代码速度优先&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/_core_.2f.oa.2c_2f.ow.asp"&gt;/Ow&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;假定在函数调用中使用别名&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/_core_.2f.ox.asp"&gt;/Ox&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;使用最大优化 (/Ob2gity /Gs)&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/_core_.2f.oy.asp"&gt;/Oy&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;省略框架指针&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/_core_.2f.qi0f.asp"&gt;/QI0f&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;执行 Pentium 0x0f 错误修复&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/_core_.2f.qifdiv.asp"&gt;/QIfdiv&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;执行 Pentium FDIV 错误修复&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/vcrefqifistsuppress_ftol.asp"&gt;/QIfist&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;当需要从浮点类型转换为整型时取消 &lt;B&gt;_ftol&lt;/B&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/_core_.2f.p.asp"&gt;/P&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;将预处理器输出写入文件&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/vcrefrtcruntimechecks.asp"&gt;/RTC&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;启用运行时错误检查&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/vcrefshowincludes.asp"&gt;/showIncludes&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;在编译期间显示包含文件的列表&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/_core_.2f.tc.2c_2f.tp.asp"&gt;/Tc&lt;/A&gt;&lt;BR&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/_core_.2f.tc.2c_2f.tp.asp"&gt;/TC&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;指定 C 源文件&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/_core_.2f.tc.2c_2f.tp.asp"&gt;/Tp&lt;/A&gt;&lt;BR&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/_core_.2f.tc.2c_2f.tp.asp"&gt;/TP&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;指定 C++ 源文件&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/_core_.2f.u.2c_2f.u.asp"&gt;/U&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;移除预定义宏&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/_core_.2f.u.2c_2f.u.asp"&gt;/u&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;移除所有的预定义宏&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/_core_.2f.v.asp"&gt;/V&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;设置版本字符串&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/_core_.2f.vd.asp"&gt;/vd&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;取消或启用隐藏的 vtordisp 类成员&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/_core_.2f.vmb.2c_2f.vmg.asp"&gt;/vmb&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;对指向成员的指针使用最佳的基&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/_core_.2f.vmb.2c_2f.vmg.asp"&gt;/vmg&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;对指向成员的指针使用完全一般性&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/_core_.2f.vmm.2c_2f.vms.2c_2f.vmv.asp"&gt;/vmm&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;声明多重继承&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/_core_.2f.vmm.2c_2f.vms.2c_2f.vmv.asp"&gt;/vms&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;声明单一继承&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/_core_.2f.vmm.2c_2f.vms.2c_2f.vmv.asp"&gt;/vmv&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;声明虚拟继承&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/_core_.2f.w.2c_2f.w.asp"&gt;/W&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;设置警告等级&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/_core_.2f.w.2c_2f.w.asp"&gt;/w&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;禁用所有警告&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/_core_.2f.w.2c_2f.w.asp"&gt;/Wall&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;启用所有警告，包括默认情况下禁用的警告&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/vcrefwlenableonelinediagnostics.asp"&gt;/WL&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;在从命令行编译 C++ 源代码时启用错误信息和警告消息的单行诊断&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/vchowwp64detect64bitportabilityproblems.asp"&gt;/Wp64&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;检测 64 位可移植性问题&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/_core_.2f.x.asp"&gt;/X&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;忽略标准包含目录&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/vclrfyignoreprecompiledheaderoptions.asp"&gt;/Y-&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;忽略当前生成中的所有其他预编译头编译器选项&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/_core_.2f.yc.asp"&gt;/Yc&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;创建预编译头文件&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/_core_.2f.yd.asp"&gt;/Yd&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;将完整的调试信息放在所有对象文件中&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/vcrefylinjectpchreferencefordebuglib.asp"&gt;/Yl&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;创建调试库时插入 PCH 引用&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/_core_.2f.yu.asp"&gt;/Yu&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;在生成期间使用预编译头文件&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/_core_.2f.yx.asp"&gt;/YX&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;自动处理预编译头&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/_core_.2f.z7.2c_2f.zd.2c_2f.zi.asp"&gt;/Z7&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;生成与 C 7.0 兼容的调试信息&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/_core_.2f.za.2c_2f.ze.asp"&gt;/Za&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;禁用语言扩展&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/vcrefzcconformance.asp"&gt;/Zc&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;在 &lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/_core_.2f.za.2c_2f.ze.asp"&gt;/Ze&lt;/A&gt; 下指定标准行为&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/_core_.2f.z7.2c_2f.zd.2c_2f.zi.asp"&gt;/Zd&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;生成行号&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/_core_.2f.za.2c_2f.ze.asp"&gt;/Ze&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;启用语言扩展&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/_core_.2f.zg.asp"&gt;/Zg&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;生成函数原型&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A class=POPUP href="http://msdn.microsoft.com/library/CHS/vccore/html/_core_.2f.z7.2c_2f.zd.2c_2f.zi.asp"&gt;/ZI&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;将调试信息包含在与&amp;#8220;编辑并继续&amp;#8221;兼容的程序数据库中&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/_core_.2f.z7.2c_2f.zd.2c_2f.zi.asp"&gt;/Zi&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;生成完整的调试信息&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/_core_.2f.zl.asp"&gt;/Zl&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;从 .obj 文件中移除默认库名&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/_core_.2f.zm.asp"&gt;/Zm&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;指定预编译头内存分配限制&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/_core_.2f.zp.asp"&gt;/Zp&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;封装结构成员&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width="22%"&gt;&lt;A href="http://msdn.microsoft.com/library/CHS/vccore/html/_core_.2f.zs.asp"&gt;/Zs&lt;/A&gt;&lt;/TD&gt;
&lt;TD&gt;只检查语法&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;img src ="http://caviler.cndev.org/aggbug/5708.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>一无所知</dc:creator><title>【编程】编程语言(C++) - 编译 - MSVCRTD.LIB LIBCMTD.LIB 的顺序导致的编译错误！</title><link>http://caviler.cndev.org/archive/2005/01/19/5697.aspx</link><pubDate>2005-01-19 11:03:00Z</pubDate><guid>http://caviler.cndev.org/archive/2005/01/19/5697.aspx</guid><wfw:comment>http://caviler.cndev.org/comments/5697.aspx</wfw:comment><comments>http://caviler.cndev.org/archive/2005/01/19/5697.aspx#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://caviler.cndev.org/comments/commentRss/5697.aspx</wfw:commentRss><trackback:ping>http://caviler.cndev.org/services/trackbacks/5697.aspx</trackback:ping><description>&lt;P&gt;在编译 JXTA-C 的时候发现一个有趣的现象，就是老是出现 LNK2005 错误&lt;/P&gt;
&lt;P&gt;Linking...&lt;BR&gt;MSVCRTD.LIB(MSVCRTD.dll) : error LNK2005: __errno already defined in LIBCMTD.LIB(dosmap.obj)&lt;BR&gt;MSVCRTD.LIB(MSVCRTD.dll) : error LNK2005: _free already defined in LIBCMTD.LIB(dbgheap.obj)&lt;BR&gt;MSVCRTD.LIB(MSVCRTD.dll) : error LNK2005: _realloc already defined in LIBCMTD.LIB(dbgheap.obj)&lt;BR&gt;MSVCRTD.LIB(MSVCRTD.dll) : error LNK2005: _malloc already defined in LIBCMTD.LIB(dbgheap.obj)&lt;BR&gt;MSVCRTD.LIB(MSVCRTD.dll) : error LNK2005: _memmove already defined in LIBCMTD.LIB(memmove.obj)&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;但是仔细查看了所用的链接库又都没有问题，没办法，只好一个库一个库的找，后来发现原来是MSVCRTD.LIB LIBCMTD.LIB 这两个库的先后顺序导致的问题，正确的顺序应该是&lt;/P&gt;
&lt;P&gt;MSVCRTD.LIB LIBCMTD.LIB 而不是 LIBCMTD.LIB&amp;nbsp;MSVCRTD.LIB&lt;/P&gt;
&lt;P&gt;不知道什么原因？？？&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src ="http://caviler.cndev.org/aggbug/5697.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>一无所知</dc:creator><title>【编程】对等网络(P2P) - JXTA 介绍 </title><link>http://caviler.cndev.org/archive/2005/01/18/5675.aspx</link><pubDate>2005-01-18 18:39:00Z</pubDate><guid>http://caviler.cndev.org/archive/2005/01/18/5675.aspx</guid><wfw:comment>http://caviler.cndev.org/comments/5675.aspx</wfw:comment><comments>http://caviler.cndev.org/archive/2005/01/18/5675.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://caviler.cndev.org/comments/commentRss/5675.aspx</wfw:commentRss><trackback:ping>http://caviler.cndev.org/services/trackbacks/5675.aspx</trackback:ping><description>&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;STRONG&gt;JXTA&lt;/STRONG&gt; 是 &lt;STRONG&gt;Juxtapose&lt;/STRONG&gt; (并列)的缩写。JXTA最早起源于2000年的夏天，现在大家把JXTA看成是P2P的平台，JXTA的目标是要解决几个技术与商业上的难题。第一是解决众多P2P系统互不相通的问题。2000年，是P2P突飞猛进的高潮年，但高潮背后却是许多小公司用自己的封闭系统试图在Internet上圈一块地。Sun认为，只有互通才能真正发挥出P2P的优势，就好像IM(Instant Messaging)，能互连的人越多，越有价值。所以Sun决定出面发布一个平台，使所有P2P系统都能连接起来，只有Sun这样位置中立、但在技术上有雄存实力被大家认可的公司才有希望做成这一平台。&lt;BR&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;JXTA的另外一个目的就是找寻一套数量最少、概念最简单的系统构成的&amp;#8220;积木&amp;#8221;。如果成功，这几块积木就会是今后大家构架信息系统的基本模块，从而帮助人们摆脱像Windows或TCP/IP这样的传统软件带来的包袱。但JXTA与众不同，它是由一系列网络协议构成的，用任何语言都可以实现，并不只限于Java，只有彻底独立于操作系统、网络传输技术以及程序设计语言，才真正达到了跨平台，而这样的技术，最容易受到业界的认同。&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;JXTA 采用了第三代 P2P 网络模型为主的混合型网络模型，由于要做到通用化，设计上不免复杂了些。虽然 JXTA 协议被设计成独立于编程语言和独立于传输协议，它可用Java ,C/ C + + , Perl 和其它许多编程语言实现，但是，目前大家的主要精力还是放在 Java 版的实现上，其他语言的实现明显的比较不受重视，最近我自己正在研究 JXTA-C ，但是发现 JXTA-C 项目几乎是处在停滞状态？？？很多 JXTA 的特性它都没有实现，而且代码凌乱，不知道还有哪位朋友也在研究这个？大家可以交流交流。&lt;BR&gt;&lt;FONT face=宋体&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 9pt; FONT-STYLE: normal; mso-hansi-font-family: 宋体"&gt;&lt;BR&gt;JXTA&lt;/SPAN&gt;&lt;/B&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-STYLE: normal; mso-hansi-font-family: 宋体"&gt;历史&lt;SPAN lang=EN-US&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;DIV align=center&gt;
&lt;TABLE class=MsoTableGrid style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse; mso-border-alt: solid windowtext .5pt; mso-yfti-tbllook: 480; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-border-insideh: .5pt solid windowtext; mso-border-insidev: .5pt solid windowtext" cellSpacing=0 cellPadding=0 border=1&gt;
&lt;TBODY&gt;
&lt;TR style="mso-yfti-irow: 0; mso-yfti-firstrow: yes"&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 64.8pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt" vAlign=top width=86&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="FONT-SIZE: 9pt; COLOR: black; mso-hansi-font-family: 宋体; mso-bidi-font-family: 宋体"&gt;&lt;FONT face=宋体&gt;发布日期&lt;SPAN lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f2ecd7; WIDTH: 182.85pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" vAlign=top width=244&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center&gt;&lt;FONT face=宋体&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="FONT-SIZE: 9pt; mso-hansi-font-family: 宋体"&gt;版本&lt;/SPAN&gt;&lt;/B&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 9pt; mso-hansi-font-family: 宋体; mso-bidi-font-family: 宋体"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f2ecd7; WIDTH: 126.95pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" vAlign=top width=169&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="FONT-SIZE: 9pt; mso-hansi-font-family: 宋体"&gt;&lt;FONT face=宋体&gt;说明&lt;SPAN lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 1"&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f2ecd7; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 64.8pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=86&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center&gt;&lt;FONT face=宋体&gt;&lt;?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" /&gt;&lt;st1:chsdate IsROCDate="False" IsLunarDate="False" Day="13" Month="12" Year="2004" w:st="on"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 9pt; COLOR: black; mso-hansi-font-family: 宋体"&gt;2004-12-13&lt;/SPAN&gt;&lt;/st1:chsdate&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 9pt; COLOR: black; mso-hansi-font-family: 宋体; mso-bidi-font-family: 宋体"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f2ecd7; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f2ecd7; WIDTH: 182.85pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=244&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;FONT face=宋体&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 9pt; mso-hansi-font-family: 宋体"&gt;JXTA-Jav&lt;st1:chsdate IsROCDate="False" IsLunarDate="False" Day="30" Month="12" Year="1899" w:st="on"&gt;a 2.3.2&lt;/st1:chsdate&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 9pt; mso-hansi-font-family: 宋体; mso-bidi-font-family: 宋体"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f2ecd7; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f2ecd7; WIDTH: 126.95pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=169&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 9pt; mso-hansi-font-family: 宋体"&gt;&lt;o:p&gt;&lt;FONT face=宋体&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 2"&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f2ecd7; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 64.8pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=86&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center&gt;&lt;FONT face=宋体&gt;&lt;st1:chsdate IsROCDate="False" IsLunarDate="False" Day="15" Month="9" Year="2004" w:st="on"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 9pt; COLOR: black; mso-hansi-font-family: 宋体"&gt;2004-09-15&lt;/SPAN&gt;&lt;/st1:chsdate&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 9pt; COLOR: black; mso-hansi-font-family: 宋体; mso-bidi-font-family: 宋体"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f2ecd7; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f2ecd7; WIDTH: 182.85pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=244&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;FONT face=宋体&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 9pt; mso-hansi-font-family: 宋体"&gt;JXTA-Jav&lt;st1:chsdate IsROCDate="False" IsLunarDate="False" Day="30" Month="12" Year="1899" w:st="on"&gt;a 2.3.1&lt;/st1:chsdate&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 9pt; mso-hansi-font-family: 宋体; mso-bidi-font-family: 宋体"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f2ecd7; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f2ecd7; WIDTH: 126.95pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=169&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 9pt; mso-hansi-font-family: 宋体"&gt;&lt;o:p&gt;&lt;FONT face=宋体&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 3"&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f2ecd7; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 64.8pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=86&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center&gt;&lt;FONT face=宋体&gt;&lt;st1:chsdate IsROCDate="False" IsLunarDate="False" Day="15" Month="6" Year="2004" w:st="on"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 9pt; COLOR: black; mso-hansi-font-family: 宋体"&gt;2004-06-15&lt;/SPAN&gt;&lt;/st1:chsdate&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 9pt; COLOR: black; mso-hansi-font-family: 宋体; mso-bidi-font-family: 宋体"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f2ecd7; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f2ecd7; WIDTH: 182.85pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=244&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;FONT face=宋体&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 9pt; mso-hansi-font-family: 宋体"&gt;JXTA-Jav&lt;st1:chsdate IsROCDate="False" IsLunarDate="False" Day="30" Month="12" Year="1899" w:st="on"&gt;a 2.3.0&lt;/st1:chsdate&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 9pt; mso-hansi-font-family: 宋体; mso-bidi-font-family: 宋体"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f2ecd7; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f2ecd7; WIDTH: 126.95pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=169&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 9pt; mso-hansi-font-family: 宋体"&gt;&lt;o:p&gt;&lt;FONT face=宋体&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 4"&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f2ecd7; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 64.8pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=86&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center&gt;&lt;FONT face=宋体&gt;&lt;st1:chsdate IsROCDate="False" IsLunarDate="False" Day="15" Month="3" Year="2004" w:st="on"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 9pt; COLOR: black; mso-hansi-font-family: 宋体"&gt;2004-03-15&lt;/SPAN&gt;&lt;/st1:chsdate&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 9pt; COLOR: black; mso-hansi-font-family: 宋体; mso-bidi-font-family: 宋体"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f2ecd7; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f2ecd7; WIDTH: 182.85pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=244&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;FONT face=宋体&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 9pt; mso-hansi-font-family: 宋体"&gt;JXTA-Jav&lt;st1:chsdate IsROCDate="False" IsLunarDate="False" Day="30" Month="12" Year="1899" w:st="on"&gt;a &lt;st1:chsdate IsROCDate="False" IsLunarDate="False" Day="30" Month="12" Year="1899" w:st="on"&gt;2.2.1&lt;/st1:chsdate&gt;&lt;/st1:chsdate&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 9pt; mso-hansi-font-family: 宋体; mso-bidi-font-family: 宋体"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f2ecd7; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f2ecd7; WIDTH: 126.95pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=169&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 9pt; mso-hansi-font-family: 宋体"&gt;&lt;o:p&gt;&lt;FONT face=宋体&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 5"&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f2ecd7; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 64.8pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=86&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center&gt;&lt;FONT face=宋体&gt;&lt;st1:chsdate IsROCDate="False" IsLunarDate="False" Day="15" Month="12" Year="2003" w:st="on"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 9pt; COLOR: black; mso-hansi-font-family: 宋体"&gt;2003-12-15&lt;/SPAN&gt;&lt;/st1:chsdate&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 9pt; COLOR: black; mso-hansi-font-family: 宋体; mso-bidi-font-family: 宋体"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f2ecd7; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f2ecd7; WIDTH: 182.85pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=244&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;FONT face=宋体&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 9pt; mso-hansi-font-family: 宋体"&gt;JXTA-Jav&lt;st1:chsdate IsROCDate="False" IsLunarDate="False" Day="30" Month="12" Year="1899" w:st="on"&gt;a 2.2.0&lt;/st1:chsdate&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 9pt; mso-hansi-font-family: 宋体; mso-bidi-font-family: 宋体"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f2ecd7; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f2ecd7; WIDTH: 126.95pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=169&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 9pt; mso-hansi-font-family: 宋体"&gt;&lt;o:p&gt;&lt;FONT face=宋体&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 6"&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f2ecd7; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 64.8pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=86&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center&gt;&lt;FONT face=宋体&gt;&lt;st1:chsdate IsROCDate="False" IsLunarDate="False" Day="15" Month="9" Year="2003" w:st="on"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 9pt; COLOR: black; mso-hansi-font-family: 宋体"&gt;2003-09-15&lt;/SPAN&gt;&lt;/st1:chsdate&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 9pt; COLOR: black; mso-hansi-font-family: 宋体; mso-bidi-font-family: 宋体"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f2ecd7; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f2ecd7; WIDTH: 182.85pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=244&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;FONT face=宋体&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 9pt; mso-hansi-font-family: 宋体"&gt;JXTA-Jav&lt;st1:chsdate IsROCDate="False" IsLunarDate="False" Day="30" Month="12" Year="1899" w:st="on"&gt;a 2.1.1&lt;/st1:chsdate&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 9pt; mso-hansi-font-family: 宋体; mso-bidi-font-family: 宋体"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f2ecd7; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f2ecd7; WIDTH: 126.95pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=169&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 9pt; mso-hansi-font-family: 宋体"&gt;&lt;o:p&gt;&lt;FONT face=宋体&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 7"&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f2ecd7; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 64.8pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=86&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center&gt;&lt;FONT face=宋体&gt;&lt;st1:chsdate IsROCDate="False" IsLunarDate="False" Day="8" Month="6" Year="2003" w:st="on"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 9pt; COLOR: black; mso-hansi-font-family: 宋体"&gt;2003-06-08&lt;/SPAN&gt;&lt;/st1:chsdate&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 9pt; COLOR: black; mso-hansi-font-family: 宋体; mso-bidi-font-family: 宋体"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f2ecd7; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f2ecd7; WIDTH: 182.85pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=244&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;FONT face=宋体&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 9pt; mso-hansi-font-family: 宋体"&gt;JXTA-Jav&lt;st1:chsdate IsROCDate="False" IsLunarDate="False" Day="30" Month="12" Year="1899" w:st="on"&gt;a 2.1.0&lt;/st1:chsdate&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 9pt; mso-hansi-font-family: 宋体; mso-bidi-font-family: 宋体"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f2ecd7; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f2ecd7; WIDTH: 126.95pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=169&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 9pt; mso-hansi-font-family: 宋体"&gt;&lt;o:p&gt;&lt;FONT face=宋体&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 8"&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f2ecd7; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 64.8pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=86&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center&gt;&lt;FONT face=宋体&gt;&lt;st1:chsdate IsROCDate="False" IsLunarDate="False" Day="1" Month="3" Year="2003" w:st="on"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 9pt; COLOR: black; mso-hansi-font-family: 宋体"&gt;2003-03-01&lt;/SPAN&gt;&lt;/st1:chsdate&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 9pt; COLOR: black; mso-hansi-font-family: 宋体; mso-bidi-font-family: 宋体"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f2ecd7; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f2ecd7; WIDTH: 182.85pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=244&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;FONT face=宋体&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 9pt; mso-hansi-font-family: 宋体"&gt;JXTA-Jav&lt;st1:chsdate IsROCDate="False" IsLunarDate="False" Day="30" Month="12" Year="1899" w:st="on"&gt;a 2.0.0&lt;/st1:chsdate&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 9pt; mso-hansi-font-family: 宋体; mso-bidi-font-family: 宋体"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f2ecd7; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f2ecd7; WIDTH: 126.95pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=169&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 9pt; mso-hansi-font-family: 宋体"&gt;&lt;o:p&gt;&lt;FONT face=宋体&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 9"&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f2ecd7; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 64.8pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=86&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center&gt;&lt;FONT face=宋体&gt;&lt;st1:chsdate IsROCDate="False" IsLunarDate="False" Day="24" Month="9" Year="2002" w:st="on"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 9pt; COLOR: black; mso-hansi-font-family: 宋体"&gt;2002-09-24&lt;/SPAN&gt;&lt;/st1:chsdate&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 9pt; COLOR: black; mso-hansi-font-family: 宋体; mso-bidi-font-family: 宋体"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f2ecd7; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f2ecd7; WIDTH: 182.85pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=244&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;FONT face=宋体&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 9pt; mso-hansi-font-family: 宋体"&gt;JXTA-Jav&lt;st1:chsdate IsROCDate="False" IsLunarDate="False" Day="30" Month="12" Year="1899" w:st="on"&gt;a 1.0.0&lt;/st1:chsdate&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 9pt; mso-hansi-font-family: 宋体; mso-bidi-font-family: 宋体"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f2ecd7; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f2ecd7; WIDTH: 126.95pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=169&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 9pt; mso-hansi-font-family: 宋体"&gt;&lt;o:p&gt;&lt;FONT face=宋体&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 10"&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f2ecd7; PADDING-LEFT: 5.4pt; BACKGROUND: #e6e6e6; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 374.6pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=499 colSpan=3&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 9pt; mso-hansi-font-family: 宋体"&gt;&lt;FONT face=宋体&gt;JXTA-C&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 11"&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f2ecd7; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 64.8pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=86&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center&gt;&lt;FONT face=宋体&gt;&lt;st1:chsdate IsROCDate="False" IsLunarDate="False" Day="9" Month="6" Year="2004" w:st="on"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 9pt; COLOR: black; mso-hansi-font-family: 宋体"&gt;2004-06-09&lt;/SPAN&gt;&lt;/st1:chsdate&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 9pt; COLOR: black; mso-hansi-font-family: 宋体; mso-bidi-font-family: 宋体"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f2ecd7; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f2ecd7; WIDTH: 182.85pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=244&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 9pt; mso-hansi-font-family: 宋体"&gt;&lt;FONT face=宋体&gt;JXTA-C 2.0 Release Candidate&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f2ecd7; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f2ecd7; WIDTH: 126.95pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=169&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 9pt; mso-hansi-font-family: 宋体"&gt;&lt;o:p&gt;&lt;FONT face=宋体&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 12; mso-yfti-lastrow: yes"&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f2ecd7; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 64.8pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=86&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center&gt;&lt;FONT face=宋体&gt;&lt;st1:chsdate IsROCDate="False" IsLunarDate="False" Day="9" Month="4" Year="2004" w:st="on"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 9pt; COLOR: black; mso-hansi-font-family: 宋体"&gt;2004-04-09&lt;/SPAN&gt;&lt;/st1:chsdate&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 9pt; COLOR: black; mso-hansi-font-family: 宋体; mso-bidi-font-family: 宋体"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f2ecd7; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f2ecd7; WIDTH: 182.85pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=244&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;FONT face=宋体&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 9pt; mso-hansi-font-family: 宋体"&gt;JXTA-C 1.1 Release&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 9pt; mso-hansi-font-family: 宋体; mso-bidi-font-family: 宋体"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f2ecd7; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #f2ecd7; WIDTH: 126.95pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=169&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 9pt; mso-hansi-font-family: 宋体"&gt;&lt;o:p&gt;&lt;FONT face=宋体&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/DIV&gt;&lt;img src ="http://caviler.cndev.org/aggbug/5675.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>undefine</dc:creator><title>【链接】Microsoft - Longhorn </title><link>http://caviler.cndev.org/archive/2005/01/18/5657.aspx</link><pubDate>2005-01-18 11:31:00Z</pubDate><guid>http://caviler.cndev.org/archive/2005/01/18/5657.aspx</guid><wfw:comment>http://caviler.cndev.org/comments/5657.aspx</wfw:comment><comments>http://caviler.cndev.org/archive/2005/01/18/5657.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://caviler.cndev.org/comments/commentRss/5657.aspx</wfw:commentRss><trackback:ping>http://caviler.cndev.org/services/trackbacks/5657.aspx</trackback:ping><description>&lt;A style="FONT-WEIGHT: bold" href="http://msdn.microsoft.com/Longhorn/community/newsgroups/default.aspx"&gt;Longhorn Newsgroups&lt;/A&gt;&lt;BR&gt;&lt;BR&gt;&lt;A style="FONT-WEIGHT: bold" href="http://msdn.microsoft.com/Longhorn/community/events/default.aspx"&gt;&lt;FONT color=#002c99&gt;Longhorn Training &amp;amp; Events&lt;/FONT&gt;&lt;/A&gt;&lt;BR&gt;&lt;BR&gt;&lt;A style="FONT-WEIGHT: bold" href="http://msdn.microsoft.com/Longhorn/community/related/default.aspx"&gt;&lt;FONT color=#002c99&gt;Longhorn Related Sites&lt;/FONT&gt;&lt;/A&gt;&lt;BR&gt;&lt;BR&gt;&lt;A onmousedown="return clk(this,'res',5)" href="http://www.microsoft.com/china/msdn/developercenter/Longhorn/default.mspx" target=_blank&gt;&lt;FONT color=#551a8b&gt;Longhorn 开发中心&lt;/FONT&gt;&lt;/A&gt;&lt;BR&gt;&lt;A href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnintlong/html/longhornintro.asp"&gt;&lt;BR&gt;Introducing "Longhorn" for Developers&lt;/A&gt;&lt;BR&gt;&lt;BR&gt;&lt;A id=rssChris_dgFeed__ctl6_hylTitle style="FONT-WEIGHT: bold" onclick="" href="http://sellsbrothers.com/fun/solfx/" LinkID="" LinkArea="rssChris"&gt;Avalon Nov. '04 CTP Sample: SolFx&lt;/A&gt; &lt;BR&gt;&lt;BR&gt;&lt;A id=rssChris_dgFeed__ctl10_hylTitle style="FONT-WEIGHT: bold" onclick="" href="http://www.mobiform.com/2005/XAML/xamlhome.htm#aurora" LinkID="" LinkArea="rssChris"&gt;&lt;FONT color=#002c99&gt;Mobiform Aurora XAML Editor&lt;/FONT&gt;&lt;/A&gt;&lt;img src ="http://caviler.cndev.org/aggbug/5657.aspx" width = "1" height = "1" /&gt;</description></item></channel></rss>