﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><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>C++博客-Life &amp; Code</title><link>http://www.cppblog.com/lovelypig/</link><description>代码是咒语,我是魔法师</description><language>zh-cn</language><lastBuildDate>Thu, 08 Jan 2009 07:11:36 GMT</lastBuildDate><pubDate>Thu, 08 Jan 2009 07:11:36 GMT</pubDate><ttl>60</ttl><item><title>100行代码去除QQ广告</title><link>http://www.cppblog.com/lovelypig/archive/2008/10/26/65130.html</link><dc:creator>橙子</dc:creator><author>橙子</author><pubDate>Sun, 26 Oct 2008 12:18:00 GMT</pubDate><guid>http://www.cppblog.com/lovelypig/archive/2008/10/26/65130.html</guid><wfw:comment>http://www.cppblog.com/lovelypig/comments/65130.html</wfw:comment><comments>http://www.cppblog.com/lovelypig/archive/2008/10/26/65130.html#Feedback</comments><slash:comments>10</slash:comments><wfw:commentRss>http://www.cppblog.com/lovelypig/comments/commentRss/65130.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/lovelypig/services/trackbacks/65130.html</trackback:ping><description><![CDATA[<p>为什么写这个:&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp; 1，像我这么爱干净的人，当然不能容忍和MM聊天的时候，看到一个内衣广告在上面一闪一闪，这不引诱老纳么；<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2，为什么不用其它外挂？珊瑚虫已S，再没用过其它。现有的外挂实现了一些我不想要的功能，看IP也没必要，聊天的都是熟人。另外，不知道它做了些什么事情；<br>&nbsp;&nbsp;&nbsp;&nbsp; 3，打发这个无聊的周末。<br><br>怎样实现：<br>&nbsp;&nbsp;&nbsp;&nbsp; 1，万能的HOOK<br><br>现在用到的是全局的SHELL HOOK，Hook的是窗口创建完成的消息；</p>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;g_hShellHook&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;SetWindowsHookEx(&nbsp;WH_SHELL,<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(HOOKPROC)ShellHook,<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;g_hInstance,<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">);</span></div>
<p>&nbsp;ShellHook 的实现如下:</p>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #0000ff">static</span><span style="COLOR: #000000">&nbsp;LRESULT&nbsp;CALLBACK&nbsp;ShellHook(UINT&nbsp;nCode,&nbsp;WPARAM&nbsp;wParam,&nbsp;LPARAM&nbsp;lParam)<br><img id=Codehighlighter1_76_342_Open_Image onclick="this.style.display='none'; Codehighlighter1_76_342_Open_Text.style.display='none'; Codehighlighter1_76_342_Closed_Image.style.display='inline'; Codehighlighter1_76_342_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_76_342_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_76_342_Closed_Text.style.display='none'; Codehighlighter1_76_342_Open_Image.style.display='inline'; Codehighlighter1_76_342_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_76_342_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"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_76_342_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(nCode&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">goto</span><span style="COLOR: #000000">&nbsp;CallOrg;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(&nbsp;HSHELL_WINDOWCREATED&nbsp;</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">&nbsp;nCode&nbsp;)<br><img id=Codehighlighter1_149_267_Open_Image style="DISPLAY: inline" onclick="this.style.display='none'; Codehighlighter1_149_267_Open_Text.style.display='none'; Codehighlighter1_149_267_Closed_Image.style.display='inline'; Codehighlighter1_149_267_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_149_267_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_149_267_Closed_Text.style.display='none'; Codehighlighter1_149_267_Open_Image.style.display='inline'; Codehighlighter1_149_267_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_149_267_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"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_149_267_Open_Text style="DISPLAY: inline"><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(&nbsp;</span><span style="COLOR: #000000">!</span><span style="COLOR: #000000">isQQWnd(&nbsp;(HWND)wParam&nbsp;)&nbsp;)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">goto</span><span style="COLOR: #000000">&nbsp;CallOrg;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EnumChildWindows(&nbsp;(HWND)wParam,&nbsp;EnumChildProc,&nbsp;(LPARAM)</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">&nbsp;);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>CallOrg:<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;CallNextHookEx(&nbsp;g_hShellHook,&nbsp;nCode,&nbsp;wParam,&nbsp;lParam);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000">&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span></div>
<p><br>在收到窗口创建后的消息时，就判断这个窗口是不是QQ的,这里用到了 GetWindowThreadProcessId ，它返回窗口相关的进程ID</p>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">BOOL&nbsp;isQQWnd(HWND&nbsp;hWnd)<br><img id=Codehighlighter1_24_284_Open_Image onclick="this.style.display='none'; Codehighlighter1_24_284_Open_Text.style.display='none'; Codehighlighter1_24_284_Closed_Image.style.display='inline'; Codehighlighter1_24_284_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_24_284_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_24_284_Closed_Text.style.display='none'; Codehighlighter1_24_284_Open_Image.style.display='inline'; Codehighlighter1_24_284_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_24_284_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"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_24_284_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(&nbsp;g_pContext&nbsp;</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">&nbsp;NULL&nbsp;)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;FALSE;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(&nbsp;g_dwQQProcessID&nbsp;</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">&nbsp;)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;g_dwQQProcessID&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;GetQQProcessID();<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;DWORD&nbsp;dwWndProcessID;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(&nbsp;GetWindowThreadProcessId(&nbsp;hWnd,&nbsp;</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">dwWndProcessID&nbsp;)&nbsp;</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">&nbsp;)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;FALSE;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;dwWndProcessID&nbsp;</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">&nbsp;g_dwQQProcessID;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span></div>
<p><br>然后枚举它的子窗口，看它的子窗口有没有广告控件，有的话就给子控件发送个WM_CLOSE的消息.</p>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">BOOL&nbsp;CALLBACK&nbsp;EnumChildProc(HWND&nbsp;hwnd,&nbsp;LPARAM&nbsp;lParam&nbsp;&nbsp;)<br><img id=Codehighlighter1_56_339_Open_Image onclick="this.style.display='none'; Codehighlighter1_56_339_Open_Text.style.display='none'; Codehighlighter1_56_339_Closed_Image.style.display='inline'; Codehighlighter1_56_339_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_56_339_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_56_339_Closed_Text.style.display='none'; Codehighlighter1_56_339_Open_Image.style.display='inline'; Codehighlighter1_56_339_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_56_339_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"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_56_339_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;DWORD&nbsp;dwID&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;GetDlgCtrlID(&nbsp;hwnd&nbsp;);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(&nbsp;dwID&nbsp;</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0x3e9</span><span style="COLOR: #000000">&nbsp;)<br><img id=Codehighlighter1_116_251_Open_Image onclick="this.style.display='none'; Codehighlighter1_116_251_Open_Text.style.display='none'; Codehighlighter1_116_251_Closed_Image.style.display='inline'; Codehighlighter1_116_251_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_116_251_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_116_251_Closed_Text.style.display='none'; Codehighlighter1_116_251_Open_Image.style.display='inline'; Codehighlighter1_116_251_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_116_251_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"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_116_251_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;HWND&nbsp;hPrarent&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;GetParent(&nbsp;hwnd&nbsp;);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PostMessage(hwnd,&nbsp;WM_CLOSE,&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">&nbsp;);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sleep(&nbsp;</span><span style="COLOR: #000000">10</span><span style="COLOR: #000000">&nbsp;);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PostMessage(hPrarent,&nbsp;WM_PAINT,&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">&nbsp;);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(&nbsp;dwID&nbsp;</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0x643f</span><span style="COLOR: #000000">&nbsp;)<br><img id=Codehighlighter1_281_322_Open_Image onclick="this.style.display='none'; Codehighlighter1_281_322_Open_Text.style.display='none'; Codehighlighter1_281_322_Closed_Image.style.display='inline'; Codehighlighter1_281_322_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_281_322_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_281_322_Closed_Text.style.display='none'; Codehighlighter1_281_322_Open_Image.style.display='inline'; Codehighlighter1_281_322_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_281_322_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"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_281_322_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PostMessage(hwnd,&nbsp;WM_CLOSE,&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">&nbsp;);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;TRUE;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span></div>
<p>其中的两个硬编码是用 spy++ 分析出来的，可能因为版本的不同，会有差异。所以我不确定能不能关闭其它版本的QQ广告。我使用的版本是QQ2008贺岁版。<br><br>--------------------------------------------------------------------------<br><br>后记:<br>&nbsp;&nbsp;&nbsp;尽管实现的技术很简单,但还是花了我大半天的时间.&nbsp;写完之后觉得枚举子窗口的方式太低效, 或者还有其它高效点的方式。另外还有全局钩子,可能没有必要。如果下午周末持续无聊，我会尝试改进一下。<br><br>&nbsp;&nbsp;&nbsp;QQ的聊天对话框很简单,不像MSN的对话框,铁板一块,用spy++啥都看不到.但是可以用 AccExplorer 分析.想在MSN的对话框上加点东西进去，实现起来很困难。对这方面有研究的同学不妨与我讨论一下实现，一起学习、进步。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;代码的行数没数，有效代码估计也就百把行吧，呵呵，我承认我是标题党。<br><br>附:&nbsp;&nbsp;&nbsp;<a href="http://www.cppblog.com/Files/lovelypig/QQWndHook.rar">源代码 + bin</a></p>
<img src ="http://www.cppblog.com/lovelypig/aggbug/65130.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/lovelypig/" target="_blank">橙子</a> 2008-10-26 20:18 <a href="http://www.cppblog.com/lovelypig/archive/2008/10/26/65130.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>把头文件全部导出的脚本</title><link>http://www.cppblog.com/lovelypig/archive/2008/02/19/42963.html</link><dc:creator>橙子</dc:creator><author>橙子</author><pubDate>Tue, 19 Feb 2008 14:06:00 GMT</pubDate><guid>http://www.cppblog.com/lovelypig/archive/2008/02/19/42963.html</guid><wfw:comment>http://www.cppblog.com/lovelypig/comments/42963.html</wfw:comment><comments>http://www.cppblog.com/lovelypig/archive/2008/02/19/42963.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.cppblog.com/lovelypig/comments/commentRss/42963.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/lovelypig/services/trackbacks/42963.html</trackback:ping><description><![CDATA[<p>&nbsp;</p>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #008000">#</span><span style="COLOR: #008000">&nbsp;-*-&nbsp;coding:&nbsp;cp936&nbsp;-*-</span><span style="COLOR: #008000"><br></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000">&nbsp;re<br></span><span style="COLOR: #0000ff">from</span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;os.path&nbsp;&nbsp;</span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000">&nbsp;dirname<br></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000">&nbsp;shutil<br></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000">&nbsp;os<br>pattern&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800000">'</span><span style="COLOR: #800000">^#\s*include\s+(&lt;)(.+)(&gt;)(.*)$</span><span style="COLOR: #800000">'</span><span style="COLOR: #000000"><br>prog&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;re.compile(pattern)<br>find_sets&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;[]<br><br><br></span><span style="COLOR: #0000ff">def</span><span style="COLOR: #000000">&nbsp;create_dir(file_dir):<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">#</span><span style="COLOR: #008000">print&nbsp;dirname(_dir);</span><span style="COLOR: #008000"><br></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;_dir&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;dirname(file_dir)<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">not</span><span style="COLOR: #000000">&nbsp;os.path.exists(_dir):<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;os.makedirs(_dir)<br><br></span><span style="COLOR: #0000ff">def</span><span style="COLOR: #000000">&nbsp;copyHeadFile(root_dir,&nbsp;src_path,&nbsp;des_path,&nbsp;deep&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;0):<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">((root_dir&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;src_path)&nbsp;</span><span style="COLOR: #0000ff">in</span><span style="COLOR: #000000">&nbsp;find_sets):&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(&nbsp;</span><span style="COLOR: #0000ff">not</span><span style="COLOR: #000000">&nbsp;os.path.exists(root_dir&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;src_path)&nbsp;):<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"><br>&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;create_dir(des_path&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;src_path)&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;shutil.copyfile(root_dir&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;src_path,&nbsp;des_path&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;src_path);<br>&nbsp;&nbsp;&nbsp;&nbsp;find_sets.append(root_dir&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;src_path)<br>&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;src_file&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;open(root_dir&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;src_path,&nbsp;</span><span style="COLOR: #800000">'</span><span style="COLOR: #800000">r</span><span style="COLOR: #800000">'</span><span style="COLOR: #000000">)<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">print</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800000">''</span><span style="COLOR: #000000">.rjust(deep)&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;des_path&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;src_path<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">&nbsp;line&nbsp;</span><span style="COLOR: #0000ff">in</span><span style="COLOR: #000000">&nbsp;src_file:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">&nbsp;&nbsp;prog.search(line):<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;line&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;re.sub(</span><span style="COLOR: #800000">'</span><span style="COLOR: #800000">(^#\s*include\s+(&lt;))|(&gt;)(.*)$</span><span style="COLOR: #800000">'</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #800000">''</span><span style="COLOR: #000000">,&nbsp;line)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;line&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;line.replace(</span><span style="COLOR: #800000">'</span><span style="COLOR: #800000">/</span><span style="COLOR: #800000">'</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #800000">'</span><span style="COLOR: #800000">\\</span><span style="COLOR: #800000">'</span><span style="COLOR: #000000">)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;line&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;line.rstrip(</span><span style="COLOR: #800000">'</span><span style="COLOR: #800000">\n</span><span style="COLOR: #800000">'</span><span style="COLOR: #000000">)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;copyHeadFile(&nbsp;root_dir,&nbsp;line,&nbsp;des_path,&nbsp;(deep&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">4</span><span style="COLOR: #000000">))<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>copyHeadFile(</span><span style="COLOR: #800000">"</span><span style="COLOR: #800000">D:\\Program&nbsp;Files\\Microsoft&nbsp;Visual&nbsp;Studio&nbsp;8\\VC\\include\\</span><span style="COLOR: #800000">"</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #800000">"</span><span style="COLOR: #800000">stdafx.h</span><span style="COLOR: #800000">"</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #800000">"</span><span style="COLOR: #800000">d:\\need_hpp\\</span><span style="COLOR: #800000">"</span><span style="COLOR: #000000">&nbsp;)</span></div>
<br><br>Python偶而玩玩也很爽。 这个脚本的来例：我写的demo用到了不少boost的东西，代码交给领导检查的时候，又不能把整个boost 都拷贝给他，这个脚本能把引用到的头文件导出到指定的目录里面。
<img src ="http://www.cppblog.com/lovelypig/aggbug/42963.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/lovelypig/" target="_blank">橙子</a> 2008-02-19 22:06 <a href="http://www.cppblog.com/lovelypig/archive/2008/02/19/42963.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>日记</title><link>http://www.cppblog.com/lovelypig/archive/2007/11/23/37215.html</link><dc:creator>橙子</dc:creator><author>橙子</author><pubDate>Fri, 23 Nov 2007 08:42:00 GMT</pubDate><guid>http://www.cppblog.com/lovelypig/archive/2007/11/23/37215.html</guid><wfw:comment>http://www.cppblog.com/lovelypig/comments/37215.html</wfw:comment><comments>http://www.cppblog.com/lovelypig/archive/2007/11/23/37215.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.cppblog.com/lovelypig/comments/commentRss/37215.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/lovelypig/services/trackbacks/37215.html</trackback:ping><description><![CDATA[&nbsp;
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><st1:chsdate w:st="on" Year="2007" Month="11" Day="22" IsLunarDate="False" IsROCDate="False"><span lang=EN-US>2007</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">年</span><span lang=EN-US>11</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">月</span><span lang=EN-US>22</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">日</span></st1:chsdate><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">星期四</span><span lang=EN-US><span style="mso-spacerun: yes">&nbsp; </span></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">下午</span><span lang=EN-US>7</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">时</span><span lang=EN-US>29</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">分</span></p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><span lang=EN-US><o:p>&nbsp;</o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">外面已经一片</span><span lang=EN-US>7</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">黑。室友</span><span lang=EN-US>H</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">君还没回来，他怕一回来就玩游戏。我不怕玩游戏，一个人，在哪都一样，只喜欢安静。</span></p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">一段音乐，一杯咖啡，一本书，一段代码，一个晚上。有点喜欢这种感觉了。</span><span lang=EN-US> </span></p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">&nbsp;&nbsp;&nbsp; 乐心说得对，要对生活有要求。呵呵。</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">看来我的要求也不高。</span> </p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><span lang=EN-US><o:p>&nbsp;</o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">上次星期公司新员工培训，内容是&#8220;我的五样&#8221;，&#8220;七个习惯&#8221;。我的五样，就是先写下自己最在乎的五样东西，然后在忧怨的音乐声中，一个一个的划去，只留下最后一个，以期帮你找到自己的目标。</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">我只写了三样，而且一样都没有划去，我觉得它们并不矛盾，而且那就是我生命的意义。想知道是哪三样吗？</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">嘿嘿，我可不告诉你。</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">接着就是《高效能人士的七个习惯》，这本书我早就看过电子版的，当时一边看一边想：这不就是说我的习惯吗？</span><span lang=EN-US>kao</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">讲课的老师水平一般，很能忽悠，还不如给我们放陈安之老师的成功学。一堂培训下来，也没什么长进，浪费我一下午的时间。完了之后，集体去楼下的西餐厅吃蛋炒饭，味道还不错。这个星期又有培训，也不知道能不能吃到好吃的蛋炒饭。</span></p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"><span lang=EN-US><o:p>&nbsp;</o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">想想最近还有什么有趣的事。前天项目组搞每月一次的聚餐，我们一行八人，去了附近的一家小肥羊。涮涮涮，很开心。喝了白酒</span><span lang=EN-US>+</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">啤酒。回到宿舍，晕呼呼的睡着了，没盖被子，结果睡着睡着，半夜里两鼻孔被堵起来了，难受，翻出一粒感康，服下，半梦半醒到天亮。</span></p>
<img src ="http://www.cppblog.com/lovelypig/aggbug/37215.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/lovelypig/" target="_blank">橙子</a> 2007-11-23 16:42 <a href="http://www.cppblog.com/lovelypig/archive/2007/11/23/37215.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>我是一只小青蛙，呱呱呱呱呱</title><link>http://www.cppblog.com/lovelypig/archive/2007/11/14/36618.html</link><dc:creator>橙子</dc:creator><author>橙子</author><pubDate>Wed, 14 Nov 2007 10:43:00 GMT</pubDate><guid>http://www.cppblog.com/lovelypig/archive/2007/11/14/36618.html</guid><wfw:comment>http://www.cppblog.com/lovelypig/comments/36618.html</wfw:comment><comments>http://www.cppblog.com/lovelypig/archive/2007/11/14/36618.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cppblog.com/lovelypig/comments/commentRss/36618.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/lovelypig/services/trackbacks/36618.html</trackback:ping><description><![CDATA[<span>今天是星期五，来广州那天是星期二，离开</span><span>TW</span><span>是上个星期五，离开</span><span>SPL</span><span>是上个星期二。离开</span><span>SPL</span><span>的时候，实在没有想到自己会在这个陌生的地方开始谋生。短短的十来天，变化的东西很多，而不变的只有一心想成为优秀的程序员的理想（我想，这也是变化的原因）。</span>
<p><span>为什么离开</span><span>SPL</span><span>：</span></p>
<p><span><span>一、<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span>呆了两年多，对外面的事物很好奇，有些东西，如果不身临其境的去体会，永远无法知道；</span></p>
<p><span><span>二、<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span>真的想知道，一个大的项目是怎么被分割成很多小部分，然后有条不紊被执行，然后一次交付，然后有计划的升级、维护；</span></p>
<p><span><span>三、<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span>不喜欢三天两头的为程序加新功能；</span></p>
<p><span><span>四、<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span>不喜欢一个星期上六天班；</span></p>
<p><span><span>五、<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span>不喜欢宿舍太吵，一两点钟还被关门的声音震醒；</span></p>
<p><span><span>六、<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span>不喜欢技术没有进步，整天干同样的活（一个游戏天天玩通关，你还喜欢玩吗？）；</span></p>
<p><span><span>七、<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span>不喜欢一个人在战斗的时候，看着旁边的胖子偷懒，而且工资比你还高。</span></p>
<p>&nbsp;</p>
<p><span>为什么离开</span><span>TW</span><span>：</span></p>
<p><span><span>一、</span></span><span>对烟厂的业务实在没有兴趣，做得好还好，做得不好，被开除了，我应该去干嘛？我可以去干嘛？当初花那么多时间去学习的东西，然后离开的时候，一无是处，是不是浪费自己的时间；</span></p>
<p><span><span>二、</span></span><span>对工控不感兴趣；看着那些电气设备，我想自己如果在这行发展，不会比那个有电子和计算机双学位的同学更牛；</span></p>
<p><span><span>三、</span></span><span>对带头大哥的技术水平感到失望，尤其是看了他写的代码之后，本来一个很简单的东西，经过他的手就变得异常复杂，还故作高深。整个程序充满了硬编码，而且把逻辑和界面混淆在一起；可能他做为带头大哥，在别的地方，如业务、工控方面有所建树，但是我对那些一点兴趣都没，我怎能强迫自己跟着你？</span></p>
<p><span><span>四、</span></span><span>感觉不会有太大的长进，我一向认为写低级界面是体力活；</span></p>
<p><span><span>五、</span></span><span>不喜欢在烟厂职工面前装孙子讨好他们，凭什么？我在</span><span>SPL</span><span>还是爷呢。</span></p>
<p><span>够了，做自己不喜欢的工作，就像出卖自己的灵魂。不如早点结束，趁自己有选择的能力。</span></p>
<p>&nbsp;</p>
<p><span>辗转来到广州：</span></p>
<p><span>只所以在这待着是因为：</span></p>
<p><span><span>一、</span></span><span>我喜欢系统底层，我以前就喜欢，只是没有时间去了解；</span></p>
<p><span><span>二、</span></span><span>项目组的同事相处起来不错，没什么架子，很好交流；</span></p>
<p><span><span>三、</span></span><span>广州和长沙的消费似乎差不多，而且这公司还答应包住，所以，每月能剩下的钱就多点了。</span></p>
<p><span><span>四、</span></span><span>即便是被开除了，在广州这地，混个饭似乎也不难，如果没有虚度时光的话。这边</span><span>IT</span><span>公司挺多的；</span></p>
<p><span><span>五、</span></span><span>趁着年轻，想出来见见世面（如果这也是理由的话）；</span></p>
<p>&nbsp;</p>
<p><span>自己做出的这些决定，放了一些人的鸽子，我向你们道歉，你们都是好人，我辜负了你们对我的信任，那是因为我的优柔寡断和性格上的其它缺陷引起的。这里提到的一些人被定义为：</span><span>TW</span><span>的</span><span>HR</span><span>和</span><span>YM</span><span>大哥，还有雨花亭的杨大哥。</span></p>
<p><span>HR</span><span>在给我办入职的时候和我说：你不会做两三天就走人吧？我说：应该不会吧。可是我走了，为了我所谓的理想，我对不起你；</span></p>
<p><span>YM</span><span>：我们最后一次分开时，我对你说：做这个主要是对业务的理解吧？你拍拍我的肩膀对我说：所以你要每天下车间去看看。我知道你是为我好，如你所说，在长沙找个这样的工作不容易。可这并不是我想要的生活，也许在将来的某天，我会后悔自己失去了一次稳定的机会，但，决不是现在。再次向你说声对不起。</span></p>
<p><span>雨花亭的杨大哥：准备和你合租房子的前一天，我离开长沙了，所以你的鸽子不得不放。</span></p>
<p><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></p>
<p><span>想起来是自己的不对，就觉得挺难过，而且从心里开始</span><span>BS</span><span>自己，如果你看到这些，也请</span><span>BS</span><span>一下我，让我能在你</span><span>BS</span><span>的眼神中吸取教训，如果下次有类似的事情，会处理得好。</span> <span>写着写着就觉得有些压抑，而我也不知道怎样才能不压抑些。</span> </p>
<p><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></p>
<p><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>放一些<a href="http://www.cppblog.com/lovelypig/gallery/3737.html">图片</a>吧，作为记录，而这一切，都已经是回忆。</span></p>
<img src ="http://www.cppblog.com/lovelypig/aggbug/36618.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/lovelypig/" target="_blank">橙子</a> 2007-11-14 18:43 <a href="http://www.cppblog.com/lovelypig/archive/2007/11/14/36618.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>改变应用程序的图标</title><link>http://www.cppblog.com/lovelypig/archive/2007/08/09/29656.html</link><dc:creator>橙子</dc:creator><author>橙子</author><pubDate>Thu, 09 Aug 2007 10:40:00 GMT</pubDate><guid>http://www.cppblog.com/lovelypig/archive/2007/08/09/29656.html</guid><wfw:comment>http://www.cppblog.com/lovelypig/comments/29656.html</wfw:comment><comments>http://www.cppblog.com/lovelypig/archive/2007/08/09/29656.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/lovelypig/comments/commentRss/29656.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/lovelypig/services/trackbacks/29656.html</trackback:ping><description><![CDATA[<p>今天发生一件有趣的事情,我要为程序换个图标..<br><br>程序有很多ICO资源,例如&nbsp; ICO_1,ICO_2,ICO_3,ICO_4....<br>我新增了一个APP_ICO（程序图标要换成这个）. 我把以前的图标删了，然后ID改为以前那个，可是ReBuild之后，程序图标竟然是 ICO_1。很奇怪。<br><br>找了半天，发现ICO_1的ID值是最小的。于是我把APP_ICO的ID值改为最小。Rebuild.终于把程序图标给换了过来。<br></p>
<img src ="http://www.cppblog.com/lovelypig/aggbug/29656.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/lovelypig/" target="_blank">橙子</a> 2007-08-09 18:40 <a href="http://www.cppblog.com/lovelypig/archive/2007/08/09/29656.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>搜索内存取得QQ号码</title><link>http://www.cppblog.com/lovelypig/archive/2006/12/13/16347.html</link><dc:creator>橙子</dc:creator><author>橙子</author><pubDate>Tue, 12 Dec 2006 16:36:00 GMT</pubDate><guid>http://www.cppblog.com/lovelypig/archive/2006/12/13/16347.html</guid><wfw:comment>http://www.cppblog.com/lovelypig/comments/16347.html</wfw:comment><comments>http://www.cppblog.com/lovelypig/archive/2006/12/13/16347.html#Feedback</comments><slash:comments>6</slash:comments><wfw:commentRss>http://www.cppblog.com/lovelypig/comments/commentRss/16347.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/lovelypig/services/trackbacks/16347.html</trackback:ping><description><![CDATA[
		<p>这样的帖子,不知道可不可以放到首页..如果不行,麻烦管理员清理. 谢谢.</p>
		<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee">
				<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />
				<span style="COLOR: #000000">HANDLE GetQQProcess();<br /><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" /></span>
				<span style="COLOR: #0000ff">bool</span>
				<span style="COLOR: #000000"> SeachQQNumber(HANDLE _hProcess,</span>
				<span style="COLOR: #0000ff">string</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #000000">&amp;</span>
				<span style="COLOR: #000000">strQQ);<br /><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" /></span>
				<span style="COLOR: #0000ff">int</span>
				<span style="COLOR: #000000"> _tmain(</span>
				<span style="COLOR: #0000ff">int</span>
				<span style="COLOR: #000000"> argc, _TCHAR</span>
				<span style="COLOR: #000000">*</span>
				<span style="COLOR: #000000"> argv[])<br /><img id="Codehighlighter1_112_295_Open_Image" onclick="this.style.display='none'; Codehighlighter1_112_295_Open_Text.style.display='none'; Codehighlighter1_112_295_Closed_Image.style.display='inline'; Codehighlighter1_112_295_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_112_295_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_112_295_Closed_Text.style.display='none'; Codehighlighter1_112_295_Open_Image.style.display='inline'; Codehighlighter1_112_295_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span>
				<span id="Codehighlighter1_112_295_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">
						<img src="http://www.cppblog.com/images/dot.gif" />
				</span>
				<span id="Codehighlighter1_112_295_Open_Text">
						<span style="COLOR: #000000">{<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    HANDLE hProces </span>
						<span style="COLOR: #000000">=</span>
						<span style="COLOR: #000000"> GetQQProcess() ;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">if</span>
						<span style="COLOR: #000000">(hProces</span>
						<span style="COLOR: #000000">==</span>
						<span style="COLOR: #000000"> NULL)<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        cout </span>
						<span style="COLOR: #000000">&lt;&lt;</span>
						<span style="COLOR: #000000">"</span>
						<span style="COLOR: #000000">No run QQ!</span>
						<span style="COLOR: #000000">"</span>
						<span style="COLOR: #000000">&lt;&lt;</span>
						<span style="COLOR: #000000">endl;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" /><br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">string</span>
						<span style="COLOR: #000000"> strQQ;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    SeachQQNumber(hProces,strQQ);<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    cout </span>
						<span style="COLOR: #000000">&lt;&lt;</span>
						<span style="COLOR: #000000">strQQ</span>
						<span style="COLOR: #000000">&lt;&lt;</span>
						<span style="COLOR: #000000">endl;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    system(</span>
						<span style="COLOR: #000000">"</span>
						<span style="COLOR: #000000">pause</span>
						<span style="COLOR: #000000">"</span>
						<span style="COLOR: #000000">);<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">return</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #000000">0</span>
						<span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span>
				</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />
						<br />
						<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: #0000ff">bool</span>
				<span style="COLOR: #000000"> SeachQQNumber(HANDLE _hProcess, </span>
				<span style="COLOR: #0000ff">string</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #000000">&amp;</span>
				<span style="COLOR: #000000">strQQ)<br /><img id="Codehighlighter1_350_1592_Open_Image" onclick="this.style.display='none'; Codehighlighter1_350_1592_Open_Text.style.display='none'; Codehighlighter1_350_1592_Closed_Image.style.display='inline'; Codehighlighter1_350_1592_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_350_1592_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_350_1592_Closed_Text.style.display='none'; Codehighlighter1_350_1592_Open_Image.style.display='inline'; Codehighlighter1_350_1592_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span>
				<span id="Codehighlighter1_350_1592_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">
						<img src="http://www.cppblog.com/images/dot.gif" />
				</span>
				<span id="Codehighlighter1_350_1592_Open_Text">
						<span style="COLOR: #000000">{<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    SuspendThread(_hProcess);<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    <br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    DWORD dwBaseAddress; <br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    MEMORY_BASIC_INFORMATION mbi;<br /><img id="Codehighlighter1_462_464_Open_Image" onclick="this.style.display='none'; Codehighlighter1_462_464_Open_Text.style.display='none'; Codehighlighter1_462_464_Closed_Image.style.display='inline'; Codehighlighter1_462_464_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_462_464_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_462_464_Closed_Text.style.display='none'; Codehighlighter1_462_464_Open_Image.style.display='inline'; Codehighlighter1_462_464_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">char</span>
						<span style="COLOR: #000000">  process_mem[</span>
						<span style="COLOR: #000000">4096</span>
						<span style="COLOR: #000000">] </span>
						<span style="COLOR: #000000">=</span>
						<span style="COLOR: #000000"> </span>
						<span id="Codehighlighter1_462_464_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">
								<img src="http://www.cppblog.com/images/dot.gif" />
						</span>
						<span id="Codehighlighter1_462_464_Open_Text">
								<span style="COLOR: #000000">{</span>
								<span style="COLOR: #000000">0</span>
								<span style="COLOR: #000000">}</span>
						</span>
						<span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    DWORD number_of_bytes_read </span>
						<span style="COLOR: #000000">=</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #000000">0</span>
						<span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    SYSTEM_INFO si; <br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    GetSystemInfo(</span>
						<span style="COLOR: #000000">&amp;</span>
						<span style="COLOR: #000000">si);<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    dwBaseAddress </span>
						<span style="COLOR: #000000">=</span>
						<span style="COLOR: #000000"> (DWORD)si.lpMinimumApplicationAddress; <br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">while</span>
						<span style="COLOR: #000000">(dwBaseAddress </span>
						<span style="COLOR: #000000">&lt;</span>
						<span style="COLOR: #000000"> (DWORD)si.lpMaximumApplicationAddress) <br /><img id="Codehighlighter1_660_1549_Open_Image" onclick="this.style.display='none'; Codehighlighter1_660_1549_Open_Text.style.display='none'; Codehighlighter1_660_1549_Closed_Image.style.display='inline'; Codehighlighter1_660_1549_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_660_1549_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_660_1549_Closed_Text.style.display='none'; Codehighlighter1_660_1549_Open_Image.style.display='inline'; Codehighlighter1_660_1549_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span>
						<span id="Codehighlighter1_660_1549_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">
								<img src="http://www.cppblog.com/images/dot.gif" />
						</span>
						<span id="Codehighlighter1_660_1549_Open_Text">
								<span style="COLOR: #000000">{ <br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        mbi.BaseAddress </span>
								<span style="COLOR: #000000">=</span>
								<span style="COLOR: #000000"> (LPVOID)dwBaseAddress; <br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        VirtualQueryEx(_hProcess, (LPVOID)dwBaseAddress, </span>
								<span style="COLOR: #000000">&amp;</span>
								<span style="COLOR: #000000">mbi, </span>
								<span style="COLOR: #0000ff">sizeof</span>
								<span style="COLOR: #000000">(mbi));<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        dwBaseAddress </span>
								<span style="COLOR: #000000">=</span>
								<span style="COLOR: #000000"> (DWORD)mbi.BaseAddress </span>
								<span style="COLOR: #000000">+</span>
								<span style="COLOR: #000000"> mbi.RegionSize; <br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        </span>
								<span style="COLOR: #0000ff">if</span>
								<span style="COLOR: #000000">(mbi.State </span>
								<span style="COLOR: #000000">!=</span>
								<span style="COLOR: #000000"> MEM_COMMIT </span>
								<span style="COLOR: #000000">||</span>
								<span style="COLOR: #000000"> mbi.AllocationProtect </span>
								<span style="COLOR: #000000">!=</span>
								<span style="COLOR: #000000"> PAGE_READWRITE) </span>
								<span style="COLOR: #008000">//</span>
								<span style="COLOR: #008000">跳过未分配或不可读写的区域 </span>
								<span style="COLOR: #008000">
										<br />
										<img id="Codehighlighter1_930_949_Open_Image" onclick="this.style.display='none'; Codehighlighter1_930_949_Open_Text.style.display='none'; Codehighlighter1_930_949_Closed_Image.style.display='inline'; Codehighlighter1_930_949_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" />
										<img id="Codehighlighter1_930_949_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_930_949_Closed_Text.style.display='none'; Codehighlighter1_930_949_Open_Image.style.display='inline'; Codehighlighter1_930_949_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />
								</span>
								<span style="COLOR: #000000">        </span>
								<span id="Codehighlighter1_930_949_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">
										<img src="http://www.cppblog.com/images/dot.gif" />
								</span>
								<span id="Codehighlighter1_930_949_Open_Text">
										<span style="COLOR: #000000">{ <br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />            </span>
										<span style="COLOR: #0000ff">continue</span>
										<span style="COLOR: #000000">; <br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />        }</span>
								</span>
								<span style="COLOR: #000000"> <br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        <br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        </span>
								<span style="COLOR: #008000">//</span>
								<span style="COLOR: #008000">搜索</span>
								<span style="COLOR: #008000">
										<br />
										<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />
								</span>
								<span style="COLOR: #000000">        </span>
								<span style="COLOR: #0000ff">for</span>
								<span style="COLOR: #000000">(DWORD i </span>
								<span style="COLOR: #000000">=</span>
								<span style="COLOR: #000000"> (DWORD)mbi.BaseAddress; i </span>
								<span style="COLOR: #000000">&lt;</span>
								<span style="COLOR: #000000"> dwBaseAddress; i</span>
								<span style="COLOR: #000000">+=</span>
								<span style="COLOR: #000000">4096</span>
								<span style="COLOR: #000000">)<br /><img id="Codehighlighter1_1032_1546_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1032_1546_Open_Text.style.display='none'; Codehighlighter1_1032_1546_Closed_Image.style.display='inline'; Codehighlighter1_1032_1546_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_1032_1546_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1032_1546_Closed_Text.style.display='none'; Codehighlighter1_1032_1546_Open_Image.style.display='inline'; Codehighlighter1_1032_1546_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />        </span>
								<span id="Codehighlighter1_1032_1546_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">
										<img src="http://www.cppblog.com/images/dot.gif" />
								</span>
								<span id="Codehighlighter1_1032_1546_Open_Text">
										<span style="COLOR: #000000">{<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />            </span>
										<span style="COLOR: #0000ff">if</span>
										<span style="COLOR: #000000">(</span>
										<span style="COLOR: #000000">!</span>
										<span style="COLOR: #000000">ReadProcessMemory(_hProcess,LPCVOID(i),process_mem,</span>
										<span style="COLOR: #000000">4096</span>
										<span style="COLOR: #000000">,</span>
										<span style="COLOR: #000000">&amp;</span>
										<span style="COLOR: #000000">number_of_bytes_read))<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />                </span>
										<span style="COLOR: #0000ff">break</span>
										<span style="COLOR: #000000">;            <br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />            </span>
										<span style="COLOR: #0000ff">for</span>
										<span style="COLOR: #000000">(</span>
										<span style="COLOR: #0000ff">int</span>
										<span style="COLOR: #000000"> j</span>
										<span style="COLOR: #000000">=</span>
										<span style="COLOR: #000000">0</span>
										<span style="COLOR: #000000">;j</span>
										<span style="COLOR: #000000">&lt;</span>
										<span style="COLOR: #000000">4096</span>
										<span style="COLOR: #000000"> </span>
										<span style="COLOR: #000000">-</span>
										<span style="COLOR: #000000"> </span>
										<span style="COLOR: #000000">9</span>
										<span style="COLOR: #000000">;j</span>
										<span style="COLOR: #000000">++</span>
										<span style="COLOR: #000000">)<br /><img id="Codehighlighter1_1169_1542_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1169_1542_Open_Text.style.display='none'; Codehighlighter1_1169_1542_Closed_Image.style.display='inline'; Codehighlighter1_1169_1542_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_1169_1542_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1169_1542_Closed_Text.style.display='none'; Codehighlighter1_1169_1542_Open_Image.style.display='inline'; Codehighlighter1_1169_1542_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />            </span>
										<span id="Codehighlighter1_1169_1542_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">
												<img src="http://www.cppblog.com/images/dot.gif" />
										</span>
										<span id="Codehighlighter1_1169_1542_Open_Text">
												<span style="COLOR: #000000">{<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />                </span>
												<span style="COLOR: #0000ff">if</span>
												<span style="COLOR: #000000">(</span>
												<span style="COLOR: #000000">!</span>
												<span style="COLOR: #000000">memcmp(</span>
												<span style="COLOR: #000000">&amp;</span>
												<span style="COLOR: #000000">process_mem[j],</span>
												<span style="COLOR: #000000">"</span>
												<span style="COLOR: #000000">\\MsgEx.db</span>
												<span style="COLOR: #000000">"</span>
												<span style="COLOR: #000000">,</span>
												<span style="COLOR: #000000">9</span>
												<span style="COLOR: #000000">) )<br /><img id="Codehighlighter1_1226_1537_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1226_1537_Open_Text.style.display='none'; Codehighlighter1_1226_1537_Closed_Image.style.display='inline'; Codehighlighter1_1226_1537_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_1226_1537_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1226_1537_Closed_Text.style.display='none'; Codehighlighter1_1226_1537_Open_Image.style.display='inline'; Codehighlighter1_1226_1537_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />                </span>
												<span id="Codehighlighter1_1226_1537_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">
														<img src="http://www.cppblog.com/images/dot.gif" />
												</span>
												<span id="Codehighlighter1_1226_1537_Open_Text">
														<span style="COLOR: #000000">{<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />                    </span>
														<span style="COLOR: #008000">//</span>
														<span style="COLOR: #008000">printf("begin\n");</span>
														<span style="COLOR: #008000">
																<br />
																<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />
														</span>
														<span style="COLOR: #000000">                    </span>
														<span style="COLOR: #0000ff">for</span>
														<span style="COLOR: #000000">(</span>
														<span style="COLOR: #0000ff">int</span>
														<span style="COLOR: #000000"> k</span>
														<span style="COLOR: #000000">=</span>
														<span style="COLOR: #000000">j</span>
														<span style="COLOR: #000000">-</span>
														<span style="COLOR: #000000">1</span>
														<span style="COLOR: #000000">; k </span>
														<span style="COLOR: #000000">&gt;</span>
														<span style="COLOR: #000000"> j</span>
														<span style="COLOR: #000000">-</span>
														<span style="COLOR: #000000">12</span>
														<span style="COLOR: #000000">; k</span>
														<span style="COLOR: #000000">--</span>
														<span style="COLOR: #000000">)<br /><img id="Codehighlighter1_1295_1440_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1295_1440_Open_Text.style.display='none'; Codehighlighter1_1295_1440_Closed_Image.style.display='inline'; Codehighlighter1_1295_1440_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_1295_1440_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1295_1440_Closed_Text.style.display='none'; Codehighlighter1_1295_1440_Open_Image.style.display='inline'; Codehighlighter1_1295_1440_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />                    </span>
														<span id="Codehighlighter1_1295_1440_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">
																<img src="http://www.cppblog.com/images/dot.gif" />
														</span>
														<span id="Codehighlighter1_1295_1440_Open_Text">
																<span style="COLOR: #000000">{<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />                        </span>
																<span style="COLOR: #0000ff">if</span>
																<span style="COLOR: #000000">(process_mem[k] </span>
																<span style="COLOR: #000000">&gt;=</span>
																<span style="COLOR: #000000"> </span>
																<span style="COLOR: #000000">'</span>
																<span style="COLOR: #000000">0</span>
																<span style="COLOR: #000000">'</span>
																<span style="COLOR: #000000"> </span>
																<span style="COLOR: #000000">&amp;&amp;</span>
																<span style="COLOR: #000000"> process_mem[k] </span>
																<span style="COLOR: #000000">&lt;=</span>
																<span style="COLOR: #000000"> </span>
																<span style="COLOR: #000000">'</span>
																<span style="COLOR: #000000">9</span>
																<span style="COLOR: #000000">'</span>
																<span style="COLOR: #000000">)<br /><img id="Codehighlighter1_1360_1408_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1360_1408_Open_Text.style.display='none'; Codehighlighter1_1360_1408_Closed_Image.style.display='inline'; Codehighlighter1_1360_1408_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_1360_1408_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1360_1408_Closed_Text.style.display='none'; Codehighlighter1_1360_1408_Open_Image.style.display='inline'; Codehighlighter1_1360_1408_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />                        </span>
																<span id="Codehighlighter1_1360_1408_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">
																		<img src="http://www.cppblog.com/images/dot.gif" />
																</span>
																<span id="Codehighlighter1_1360_1408_Open_Text">
																		<span style="COLOR: #000000">{<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />                            strQQ </span>
																		<span style="COLOR: #000000">=</span>
																		<span style="COLOR: #000000">  process_mem[k] </span>
																		<span style="COLOR: #000000">+</span>
																		<span style="COLOR: #000000"> strQQ;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />                        }</span>
																</span>
																<span style="COLOR: #000000">
																		<br />
																		<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />                        </span>
																<span style="COLOR: #0000ff">else</span>
																<span style="COLOR: #000000">
																		<br />
																		<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />                            </span>
																<span style="COLOR: #0000ff">break</span>
																<span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />                    }</span>
														</span>
														<span style="COLOR: #000000">
																<br />
																<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />                    </span>
														<span style="COLOR: #0000ff">if</span>
														<span style="COLOR: #000000">(strQQ.length())<br /><img id="Codehighlighter1_1471_1528_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1471_1528_Open_Text.style.display='none'; Codehighlighter1_1471_1528_Closed_Image.style.display='inline'; Codehighlighter1_1471_1528_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_1471_1528_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1471_1528_Closed_Text.style.display='none'; Codehighlighter1_1471_1528_Open_Image.style.display='inline'; Codehighlighter1_1471_1528_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />                    </span>
														<span id="Codehighlighter1_1471_1528_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">
																<img src="http://www.cppblog.com/images/dot.gif" />
														</span>
														<span id="Codehighlighter1_1471_1528_Open_Text">
																<span style="COLOR: #000000">{<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />                        ResumeThread(_hProcess);<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />                        </span>
																<span style="COLOR: #0000ff">return</span>
																<span style="COLOR: #000000"> </span>
																<span style="COLOR: #0000ff">true</span>
																<span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />                    }</span>
														</span>
														<span style="COLOR: #000000">            <br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />                }</span>
												</span>
												<span style="COLOR: #000000">
														<br />
														<img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />            }</span>
										</span>
										<span style="COLOR: #000000">
												<br />
												<img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />        }</span>
								</span>
								<span style="COLOR: #000000">
										<br />
										<img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span>
						</span>
						<span style="COLOR: #000000">
								<br />
								<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    ResumeThread(_hProcess);<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">return</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #0000ff">false</span>
						<span style="COLOR: #000000">;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span>
				</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />
						<br />
						<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />
						<br />
						<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />HANDLE GetQQProcess()<br /><img id="Codehighlighter1_1618_2045_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1618_2045_Open_Text.style.display='none'; Codehighlighter1_1618_2045_Closed_Image.style.display='inline'; Codehighlighter1_1618_2045_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_1618_2045_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1618_2045_Closed_Text.style.display='none'; Codehighlighter1_1618_2045_Open_Image.style.display='inline'; Codehighlighter1_1618_2045_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span>
				<span id="Codehighlighter1_1618_2045_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">
						<img src="http://www.cppblog.com/images/dot.gif" />
				</span>
				<span id="Codehighlighter1_1618_2045_Open_Text">
						<span style="COLOR: #000000">{<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    PROCESSENTRY32 pe;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    pe.dwSize </span>
						<span style="COLOR: #000000">=</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #0000ff">sizeof</span>
						<span style="COLOR: #000000">(PROCESSENTRY32);<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    HANDLE hSnapshot </span>
						<span style="COLOR: #000000">=</span>
						<span style="COLOR: #000000"> CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, </span>
						<span style="COLOR: #000000">0</span>
						<span style="COLOR: #000000">);<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    Process32First(hSnapshot, </span>
						<span style="COLOR: #000000">&amp;</span>
						<span style="COLOR: #000000">pe);<br /><img id="Codehighlighter1_1782_1967_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1782_1967_Open_Text.style.display='none'; Codehighlighter1_1782_1967_Closed_Image.style.display='inline'; Codehighlighter1_1782_1967_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_1782_1967_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1782_1967_Closed_Text.style.display='none'; Codehighlighter1_1782_1967_Open_Image.style.display='inline'; Codehighlighter1_1782_1967_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">do</span>
						<span id="Codehighlighter1_1782_1967_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">
								<img src="http://www.cppblog.com/images/dot.gif" />
						</span>
						<span id="Codehighlighter1_1782_1967_Open_Text">
								<span style="COLOR: #000000">{<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        </span>
								<span style="COLOR: #0000ff">if</span>
								<span style="COLOR: #000000">(</span>
								<span style="COLOR: #000000">!</span>
								<span style="COLOR: #000000">_tcsicmp(pe.szExeFile,_T(</span>
								<span style="COLOR: #000000">"</span>
								<span style="COLOR: #000000">qq.exe</span>
								<span style="COLOR: #000000">"</span>
								<span style="COLOR: #000000">)))<br /><img id="Codehighlighter1_1829_1926_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1829_1926_Open_Text.style.display='none'; Codehighlighter1_1829_1926_Closed_Image.style.display='inline'; Codehighlighter1_1829_1926_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_1829_1926_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1829_1926_Closed_Text.style.display='none'; Codehighlighter1_1829_1926_Open_Image.style.display='inline'; Codehighlighter1_1829_1926_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />        </span>
								<span id="Codehighlighter1_1829_1926_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">
										<img src="http://www.cppblog.com/images/dot.gif" />
								</span>
								<span id="Codehighlighter1_1829_1926_Open_Text">
										<span style="COLOR: #000000">{<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />            CloseHandle(hSnapshot);<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />            </span>
										<span style="COLOR: #0000ff">return</span>
										<span style="COLOR: #000000"> OpenProcess(PROCESS_ALL_ACCESS,FALSE,pe.th32ProcessID);<br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />        }</span>
								</span>
								<span style="COLOR: #000000">
										<br />
										<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />        pe.dwSize </span>
								<span style="COLOR: #000000">=</span>
								<span style="COLOR: #000000"> </span>
								<span style="COLOR: #0000ff">sizeof</span>
								<span style="COLOR: #000000">(PROCESSENTRY32);<br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span>
						</span>
						<span style="COLOR: #0000ff">while</span>
						<span style="COLOR: #000000">(Process32Next(hSnapshot, </span>
						<span style="COLOR: #000000">&amp;</span>
						<span style="COLOR: #000000">pe));<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    CloseHandle(hSnapshot);<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">return</span>
						<span style="COLOR: #000000"> NULL;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span>
				</span>
		</div>
<img src ="http://www.cppblog.com/lovelypig/aggbug/16347.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/lovelypig/" target="_blank">橙子</a> 2006-12-13 00:36 <a href="http://www.cppblog.com/lovelypig/archive/2006/12/13/16347.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>boost::filesystem的文件遍历</title><link>http://www.cppblog.com/lovelypig/archive/2006/12/13/16346.html</link><dc:creator>橙子</dc:creator><author>橙子</author><pubDate>Tue, 12 Dec 2006 16:29:00 GMT</pubDate><guid>http://www.cppblog.com/lovelypig/archive/2006/12/13/16346.html</guid><wfw:comment>http://www.cppblog.com/lovelypig/comments/16346.html</wfw:comment><comments>http://www.cppblog.com/lovelypig/archive/2006/12/13/16346.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cppblog.com/lovelypig/comments/commentRss/16346.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/lovelypig/services/trackbacks/16346.html</trackback:ping><description><![CDATA[
		<p> </p>
		<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee">
				<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />
				<span style="COLOR: #000000">#include </span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">boost/filesystem/operations.hpp</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />#include </span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">boost/filesystem/path.hpp</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />#include </span>
				<span style="COLOR: #000000">&lt;</span>
				<span style="COLOR: #000000">iostream</span>
				<span style="COLOR: #000000">&gt;</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: #0000ff">using</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #0000ff">namespace</span>
				<span style="COLOR: #000000"> std;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" /></span>
				<span style="COLOR: #0000ff">namespace</span>
				<span style="COLOR: #000000"> fs </span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> boost::filesystem;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" /></span>
				<span style="COLOR: #0000ff">void</span>
				<span style="COLOR: #000000"> PrintAllFile(fs::path </span>
				<span style="COLOR: #000000">&amp;</span>
				<span style="COLOR: #000000">full_path);<br /><img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" /><br /></span>
				<span style="COLOR: #000000">
						<br />
						<br />
						<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: #0000ff">int</span>
				<span style="COLOR: #000000"> main( </span>
				<span style="COLOR: #0000ff">int</span>
				<span style="COLOR: #000000"> argc, </span>
				<span style="COLOR: #0000ff">char</span>
				<span style="COLOR: #000000">*</span>
				<span style="COLOR: #000000"> argv[] )<br /><img id="Codehighlighter1_303_376_Open_Image" onclick="this.style.display='none'; Codehighlighter1_303_376_Open_Text.style.display='none'; Codehighlighter1_303_376_Closed_Image.style.display='inline'; Codehighlighter1_303_376_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_303_376_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_303_376_Closed_Text.style.display='none'; Codehighlighter1_303_376_Open_Image.style.display='inline'; Codehighlighter1_303_376_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span>
				<span id="Codehighlighter1_303_376_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">
						<img src="http://www.cppblog.com/images/dot.gif" />
				</span>
				<span id="Codehighlighter1_303_376_Open_Text">
						<span style="COLOR: #000000">{<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" /><br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    fs::path full_path( </span>
						<span style="COLOR: #000000">"</span>
						<span style="COLOR: #000000">D:\\</span>
						<span style="COLOR: #000000">"</span>
						<span style="COLOR: #000000"> ,fs::native);<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    PrintAllFile(full_path);<br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span>
				</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: #0000ff">void</span>
				<span style="COLOR: #000000"> PrintAllFile(fs::path </span>
				<span style="COLOR: #000000">&amp;</span>
				<span style="COLOR: #000000">full_path)<br /><img id="Codehighlighter1_417_804_Open_Image" onclick="this.style.display='none'; Codehighlighter1_417_804_Open_Text.style.display='none'; Codehighlighter1_417_804_Closed_Image.style.display='inline'; Codehighlighter1_417_804_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_417_804_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_417_804_Closed_Text.style.display='none'; Codehighlighter1_417_804_Open_Image.style.display='inline'; Codehighlighter1_417_804_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span>
				<span id="Codehighlighter1_417_804_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">
						<img src="http://www.cppblog.com/images/dot.gif" />
				</span>
				<span id="Codehighlighter1_417_804_Open_Text">
						<span style="COLOR: #000000">{<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" /> </span>
						<span style="COLOR: #0000ff">if</span>
						<span style="COLOR: #000000">(fs::exists(full_path))<br /><img id="Codehighlighter1_447_802_Open_Image" onclick="this.style.display='none'; Codehighlighter1_447_802_Open_Text.style.display='none'; Codehighlighter1_447_802_Closed_Image.style.display='inline'; Codehighlighter1_447_802_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_447_802_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_447_802_Closed_Text.style.display='none'; Codehighlighter1_447_802_Open_Image.style.display='inline'; Codehighlighter1_447_802_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" /> </span>
						<span id="Codehighlighter1_447_802_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">
								<img src="http://www.cppblog.com/images/dot.gif" />
						</span>
						<span id="Codehighlighter1_447_802_Open_Text">
								<span style="COLOR: #000000">{<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />  fs::directory_iterator item_begin(full_path);<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />  fs::directory_iterator item_end;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />  </span>
								<span style="COLOR: #0000ff">for</span>
								<span style="COLOR: #000000">( ;item_begin  </span>
								<span style="COLOR: #000000">!=</span>
								<span style="COLOR: #000000"> item_end; item_begin</span>
								<span style="COLOR: #000000">++</span>
								<span style="COLOR: #000000">)<br /><img id="Codehighlighter1_581_799_Open_Image" onclick="this.style.display='none'; Codehighlighter1_581_799_Open_Text.style.display='none'; Codehighlighter1_581_799_Closed_Image.style.display='inline'; Codehighlighter1_581_799_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_581_799_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_581_799_Closed_Text.style.display='none'; Codehighlighter1_581_799_Open_Image.style.display='inline'; Codehighlighter1_581_799_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />  </span>
								<span id="Codehighlighter1_581_799_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">
										<img src="http://www.cppblog.com/images/dot.gif" />
								</span>
								<span id="Codehighlighter1_581_799_Open_Text">
										<span style="COLOR: #000000">{<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />   <br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />   </span>
										<span style="COLOR: #0000ff">if</span>
										<span style="COLOR: #000000">(fs::is_directory(</span>
										<span style="COLOR: #000000">*</span>
										<span style="COLOR: #000000">item_begin))<br /><img id="Codehighlighter1_627_726_Open_Image" onclick="this.style.display='none'; Codehighlighter1_627_726_Open_Text.style.display='none'; Codehighlighter1_627_726_Closed_Image.style.display='inline'; Codehighlighter1_627_726_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_627_726_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_627_726_Closed_Text.style.display='none'; Codehighlighter1_627_726_Open_Image.style.display='inline'; Codehighlighter1_627_726_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />   </span>
										<span id="Codehighlighter1_627_726_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">
												<img src="http://www.cppblog.com/images/dot.gif" />
										</span>
										<span id="Codehighlighter1_627_726_Open_Text">
												<span style="COLOR: #000000">{<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    cout </span>
												<span style="COLOR: #000000">&lt;&lt;</span>
												<span style="COLOR: #000000">item_begin</span>
												<span style="COLOR: #000000">-&gt;</span>
												<span style="COLOR: #000000">native_file_string()</span>
												<span style="COLOR: #000000">&lt;&lt;</span>
												<span style="COLOR: #000000">"</span>
												<span style="COLOR: #000000">\t[dir]</span>
												<span style="COLOR: #000000">"</span>
												<span style="COLOR: #000000">&lt;&lt;</span>
												<span style="COLOR: #000000">endl;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    PrintAllFile(</span>
												<span style="COLOR: #000000">*</span>
												<span style="COLOR: #000000">item_begin);<br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />   }</span>
										</span>
										<span style="COLOR: #000000">
												<br />
												<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />   </span>
										<span style="COLOR: #0000ff">else</span>
										<span style="COLOR: #000000">
												<br />
												<img id="Codehighlighter1_739_795_Open_Image" onclick="this.style.display='none'; Codehighlighter1_739_795_Open_Text.style.display='none'; Codehighlighter1_739_795_Closed_Image.style.display='inline'; Codehighlighter1_739_795_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" />
												<img id="Codehighlighter1_739_795_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_739_795_Closed_Text.style.display='none'; Codehighlighter1_739_795_Open_Image.style.display='inline'; Codehighlighter1_739_795_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />   </span>
										<span id="Codehighlighter1_739_795_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">
												<img src="http://www.cppblog.com/images/dot.gif" />
										</span>
										<span id="Codehighlighter1_739_795_Open_Text">
												<span style="COLOR: #000000">{<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    cout </span>
												<span style="COLOR: #000000">&lt;&lt;</span>
												<span style="COLOR: #000000">item_begin</span>
												<span style="COLOR: #000000">-&gt;</span>
												<span style="COLOR: #000000">native_file_string()</span>
												<span style="COLOR: #000000">&lt;&lt;</span>
												<span style="COLOR: #000000">endl;<br /><img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />   }</span>
										</span>
										<span style="COLOR: #000000">
												<br />
												<img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />  }</span>
								</span>
								<span style="COLOR: #000000">
										<br />
										<img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" /> }</span>
						</span>
						<span style="COLOR: #000000">
								<br />
								<img src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span>
				</span>
		</div>
<img src ="http://www.cppblog.com/lovelypig/aggbug/16346.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/lovelypig/" target="_blank">橙子</a> 2006-12-13 00:29 <a href="http://www.cppblog.com/lovelypig/archive/2006/12/13/16346.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>FTP扫描器(纯娱乐)</title><link>http://www.cppblog.com/lovelypig/archive/2006/12/13/16345.html</link><dc:creator>橙子</dc:creator><author>橙子</author><pubDate>Tue, 12 Dec 2006 16:19:00 GMT</pubDate><guid>http://www.cppblog.com/lovelypig/archive/2006/12/13/16345.html</guid><wfw:comment>http://www.cppblog.com/lovelypig/comments/16345.html</wfw:comment><comments>http://www.cppblog.com/lovelypig/archive/2006/12/13/16345.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/lovelypig/comments/commentRss/16345.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/lovelypig/services/trackbacks/16345.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: #include 				"				stdafx.h				"																#include 				&lt;				iostream				&gt;																#include 				"				ace/INET_Addr.h				"																#include ...&nbsp;&nbsp;<a href='http://www.cppblog.com/lovelypig/archive/2006/12/13/16345.html'>阅读全文</a><img src ="http://www.cppblog.com/lovelypig/aggbug/16345.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/lovelypig/" target="_blank">橙子</a> 2006-12-13 00:19 <a href="http://www.cppblog.com/lovelypig/archive/2006/12/13/16345.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>近况</title><link>http://www.cppblog.com/lovelypig/archive/2006/11/22/15565.html</link><dc:creator>橙子</dc:creator><author>橙子</author><pubDate>Wed, 22 Nov 2006 15:08:00 GMT</pubDate><guid>http://www.cppblog.com/lovelypig/archive/2006/11/22/15565.html</guid><wfw:comment>http://www.cppblog.com/lovelypig/comments/15565.html</wfw:comment><comments>http://www.cppblog.com/lovelypig/archive/2006/11/22/15565.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cppblog.com/lovelypig/comments/commentRss/15565.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/lovelypig/services/trackbacks/15565.html</trackback:ping><description><![CDATA[
		<p>最近工作比较闲. 因此看了一些书,一些电影.<br /><br />&lt;设计模式&gt;开始看第二遍.. 感觉实际开发中用不着.. 来公司一年多,项目实在少.真想找个高人带着我乘风破浪..不说乘风破浪,平时有个人讨论都好.<br />看了一会儿&lt;wxWidgets&gt;. 随便一个对话框程序都占了几M内存,文件牛大..算了. 跨平台现在还用不着,放弃.<br />看了一会儿&lt;病毒入门&gt;.汇编看得想死..罗云彬老师的Win32汇编书写得像个&lt;Window程序设计&gt;的翻版. <br />看了一会儿&lt;Python&gt;. .现在的开发用不着.. 屠龙之技. <br />昨天发现用Flash做界面真是好. 又漂亮又简单, 现在的Flash8.0可以很好的和本地程序交互了. 感觉是黑暗中的明灯.<br /><br />看名字叫&lt;越狱&gt;的电影. 觉得外国连续剧可看性很高..T-Bag是只打不死的小强. 麦克.Scofield真牛. 外国政治也黑暗. 外国监狱真好.  司法制度真体帖.<br /><br />觉得自己会用的形容词很少.尽是些 "真","很","好"<br /><br />哈哈.<br /><br />这周末王斌和周芬结婚了. 我要回家参加他们的婚礼. 心情有些许复杂. 难以名状. . 尽管如此,我还是要给他们献上杨某人最诚挚的祝福. 无论如何,一定要幸福.<br /></p>
<img src ="http://www.cppblog.com/lovelypig/aggbug/15565.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/lovelypig/" target="_blank">橙子</a> 2006-11-22 23:08 <a href="http://www.cppblog.com/lovelypig/archive/2006/11/22/15565.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>&lt;瓶中时光&gt;.摘自&lt;菊花香&gt;</title><link>http://www.cppblog.com/lovelypig/archive/2006/11/07/14785.html</link><dc:creator>橙子</dc:creator><author>橙子</author><pubDate>Tue, 07 Nov 2006 03:46:00 GMT</pubDate><guid>http://www.cppblog.com/lovelypig/archive/2006/11/07/14785.html</guid><wfw:comment>http://www.cppblog.com/lovelypig/comments/14785.html</wfw:comment><comments>http://www.cppblog.com/lovelypig/archive/2006/11/07/14785.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/lovelypig/comments/commentRss/14785.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/lovelypig/services/trackbacks/14785.html</trackback:ping><description><![CDATA[
		<p>如果我能存时间入瓶    我最想做的事情   就是保存每个日子    直到我们老去  </p>
		<p>只为能与你再次共度  如果我能让时光永驻  我会珍藏每个日子  然后  再一次  与你共度</p>
		<p>你找到你想做的事情时  却总是发现  已没有足够时间   我历经寻寻觅觅  才发现</p>
		<p>你就是那个  我愿共度一生的人  如果我有盒子 盛着从未实现的梦与希望</p>
		<p>那么它将会空荡荡  除了那些  你为我圆梦的记忆</p>
<img src ="http://www.cppblog.com/lovelypig/aggbug/14785.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/lovelypig/" target="_blank">橙子</a> 2006-11-07 11:46 <a href="http://www.cppblog.com/lovelypig/archive/2006/11/07/14785.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>失眠</title><link>http://www.cppblog.com/lovelypig/archive/2006/10/27/14267.html</link><dc:creator>橙子</dc:creator><author>橙子</author><pubDate>Thu, 26 Oct 2006 22:47:00 GMT</pubDate><guid>http://www.cppblog.com/lovelypig/archive/2006/10/27/14267.html</guid><wfw:comment>http://www.cppblog.com/lovelypig/comments/14267.html</wfw:comment><comments>http://www.cppblog.com/lovelypig/archive/2006/10/27/14267.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/lovelypig/comments/commentRss/14267.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/lovelypig/services/trackbacks/14267.html</trackback:ping><description><![CDATA[
		<p> 一大早醒来,想了很多. 睡不着.<br /><br />不能再玩游戏了.希望部门的技术氛围能浓一些, 在一起,不是讨论游戏,而是讨论技术.<br /><br />玩了这么些年游戏,得到了什么,失去了什么.不想再作追究.只是不想再为了它失去一些宝贵的东西,譬如时间.<br /> </p>
<img src ="http://www.cppblog.com/lovelypig/aggbug/14267.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/lovelypig/" target="_blank">橙子</a> 2006-10-27 06:47 <a href="http://www.cppblog.com/lovelypig/archive/2006/10/27/14267.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>＜Dive Into Python＞节选.</title><link>http://www.cppblog.com/lovelypig/archive/2006/10/25/14120.html</link><dc:creator>橙子</dc:creator><author>橙子</author><pubDate>Wed, 25 Oct 2006 02:17:00 GMT</pubDate><guid>http://www.cppblog.com/lovelypig/archive/2006/10/25/14120.html</guid><wfw:comment>http://www.cppblog.com/lovelypig/comments/14120.html</wfw:comment><comments>http://www.cppblog.com/lovelypig/archive/2006/10/25/14120.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/lovelypig/comments/commentRss/14120.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/lovelypig/services/trackbacks/14120.html</trackback:ping><description><![CDATA[
		<h3 class="title">例 7.14. 处理开始字符</h3>
		<pre class="screen">
				<br />．．.				<br /><tt class="prompt">＞＞＞ </tt><span class="userinput">phonePattern = re.compile(r<span class="pystring">'^\D*(\d{3})\D*(\d{3})\D*(\d{4})\D*(\d*)$'</span>)</span> 1
<tt class="prompt">＞＞＞ </tt><span class="userinput">phonePattern.search(<span class="pystring">'(800)5551212 ext. 1234'</span>).groups()</span>                 2
<span class="computeroutput">('800', '555', '1212', '1234')<br /></span><tt class="prompt">＞＞＞ </tt><span class="userinput">phonePattern.search(<span class="pystring">'800-555-1212'</span>).groups()</span>                           3
<span class="computeroutput">('800', '555', '1212', '')<br /></span><tt class="prompt">＞＞＞ </tt><span class="userinput">phonePattern.search(<span class="pystring">'work 1-(800) 555.1212 #1234'</span>)</span>                     4<br /><tt class="prompt">＞＞＞ </tt></pre>
		<div class="calloutlist">
				<table summary="Callout list" border="0">
						<tbody>
								<tr>
										<td valign="top" align="left" width="12">1</td>
										<td valign="top" align="left">这个正则表达式和前面的几乎相同，除了在第一个记忆组（区号）前面匹配<tt class="literal">\D*</tt>，0或者多个非数字字符。注意，此处你没有记忆这些非数字字符（他们没有被括号括起来）。如果你发现他们，只是跳过他们，接着只要匹配上就开始记忆区号。<br /></td>
								</tr>
								<tr>
										<td valign="top" align="left" width="12"> 2</td>
										<td valign="top" align="left">你可以成功的解析电话号码，即使在区号前面有一个左括号。(在区号后面的右括号也已经被处理，它被看成非数字字符分隔符，由第一个记忆组后面的 <tt class="literal">\D*</tt>匹配。)<br /></td>
								</tr>
								<tr>
										<td valign="top" align="left" width="12"> 3</td>
										<td valign="top" align="left">进行仔细的检查，保证你没有破坏前面能够匹配的任何情况。由于首字符是完全可选的，这个模式匹配字符串的开始，接着是0个非数字字符，接着是一个有三个数字字符的记忆组(<tt class="literal">800</tt>)，接着是1个非数字字符（连字符），接着是一个有三个数字字符的记忆组(<tt class="literal">555</tt>)，接着是1个非数字字符（连字符），接着是一个有四个数字字符的记忆组(<tt class="literal">1212</tt>)，接着是0个非数字字符，接着是一个有0个数字位的记忆组，最后是字符串的结尾。<br /></td>
								</tr>
								<tr>
										<td valign="top" align="left" width="12"> 4</td>
										<td valign="top" align="left">此处是正则表达式让我产生了找一个硬东西挖出自己的眼睛的冲动。为什么这个电话号码没有匹配上？因为在它的区号前面有一个 <tt class="literal">1</tt>，但是你认为在区号前面的所有字符都是非数字字符(<tt class="literal">\D*</tt>)。 Aargh.</td>
								</tr>
						</tbody>
				</table>
		</div>
<img src ="http://www.cppblog.com/lovelypig/aggbug/14120.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/lovelypig/" target="_blank">橙子</a> 2006-10-25 10:17 <a href="http://www.cppblog.com/lovelypig/archive/2006/10/25/14120.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>罗马字母 </title><link>http://www.cppblog.com/lovelypig/archive/2006/10/24/14070.html</link><dc:creator>橙子</dc:creator><author>橙子</author><pubDate>Tue, 24 Oct 2006 01:52:00 GMT</pubDate><guid>http://www.cppblog.com/lovelypig/archive/2006/10/24/14070.html</guid><wfw:comment>http://www.cppblog.com/lovelypig/comments/14070.html</wfw:comment><comments>http://www.cppblog.com/lovelypig/archive/2006/10/24/14070.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/lovelypig/comments/commentRss/14070.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/lovelypig/services/trackbacks/14070.html</trackback:ping><description><![CDATA[
		<div class="abstract">
				<p>&lt;载自:Dive Into Python&gt;<br /><br />你可能经常看到罗马数字，即使你没有意识到他们。你可能曾经在老电影或者电视中看到他们（“<span class="quote">版权所有 <tt class="literal">MCMXLVI</tt></span>” 而不是 “<span class="quote">版权所有<tt class="literal">1946</tt></span>”），或者在某图书馆或某大学的贡献墙上看到他们(“<span class="quote">成立于 <tt class="literal">MDCCCLXXXVIII</tt></span>”而不是“<span class="quote">成立于<tt class="literal">1888</tt></span>”)。你也可能在某些文献的大纲或者目录上看到他们。这是一个表示数字的系统，他能够真正回溯到远古的罗马帝国（因此而得名）。</p>
		</div>
		<p>在罗马数字中，利用7个不同字母进行重复或者组合来表达各式各样的数字。</p>
		<div class="itemizedlist">
				<ul>
						<li>
								<tt class="literal">I</tt> = <tt class="literal">1</tt></li>
						<li>
								<tt class="literal">V</tt> = <tt class="literal">5</tt></li>
						<li>
								<tt class="literal">X</tt> = <tt class="literal">10</tt></li>
						<li>
								<tt class="literal">L</tt> = <tt class="literal">50</tt></li>
						<li>
								<tt class="literal">C</tt> = <tt class="literal">100</tt></li>
						<li>
								<tt class="literal">D</tt> = <tt class="literal">500</tt></li>
						<li>
								<tt class="literal">M</tt> = <tt class="literal">1000</tt></li>
				</ul>
		</div>
		<p>下面是关于构造罗马数字的一些通用的规则的介绍：</p>
		<div class="itemizedlist">
				<ul>
						<li>字符是叠加的。 <tt class="literal">I</tt>表示<tt class="constant">1</tt>, <tt class="literal">II</tt>表示<tt class="literal">2</tt>, 而<tt class="literal">III</tt>表示<tt class="literal">3</tt>. <tt class="literal">VI</tt> 表示 <tt class="literal">6</tt> (字面上为逐字符相加, “<span class="quote"><tt class="literal">5</tt> 加 <tt class="literal">1</tt></span>”), <tt class="literal">VII</tt> 表示 <tt class="literal">7</tt>, <tt class="literal">VIII</tt> 表示 <tt class="literal">8</tt>. 
</li>
						<li>能够被10整除的字符(<tt class="literal">I</tt>, <tt class="literal">X</tt>, <tt class="literal">C</tt>, 和 <tt class="literal">M</tt>)至多可以重复三次. 对于<tt class="literal">4</tt>, 你则需要利用下一个最大的能够被5整除的字符进行减操作得到，你不能把<tt class="literal">4</tt> 表示成 <tt class="literal">IIII</tt>; 而应表示为 <tt class="literal">IV</tt> (比“<span class="quote"><tt class="literal">5</tt>小 <tt class="literal">1</tt></span>”)。数字<tt class="literal">40</tt>写成<tt class="literal">XL</tt> (比<tt class="literal">50</tt>小<tt class="literal">10</tt>), <tt class="literal">41</tt> 写成 <tt class="literal">XLI</tt>, <tt class="literal">42</tt> 写成 <tt class="literal">XLII</tt>, <tt class="literal">43</tt> 写成 <tt class="literal">XLIII</tt>, 而 <tt class="literal">44</tt> 写成 <tt class="literal">XLIV</tt> (比<tt class="literal">50</tt> 小<tt class="literal">10</tt>, 然后比<tt class="literal">5</tt>小<tt class="literal">1</tt>). 
</li>
						<li>类似的，对于数字 <tt class="literal">9</tt>,你必须利用下一个能够被10整除的字符进行减操作得到: <tt class="literal">8</tt> 表示为 <tt class="literal">VIII</tt>, 而 <tt class="literal">9</tt> 则表示为 <tt class="literal">IX</tt> (比<tt class="literal">10</tt> 小<tt class="literal">1</tt>), 而不是 <tt class="literal">VIIII</tt> (因为字符<tt class="literal">I</tt> 不能连续重复四次)。数字<tt class="literal">90</tt> 表示为 <tt class="literal">XC</tt>, <tt class="literal">900</tt> 表示为 <tt class="literal">CM</tt>. 
</li>
						<li>被5整除的字符不能重复。数字<tt class="literal">10</tt> 常表示为<tt class="literal">X</tt>, 而从来不用<tt class="literal">VV</tt>来表示。数字<tt class="literal">100</tt>常表示为<tt class="literal">C</tt>, 也从来不表示为 <tt class="literal">LL</tt>. 
</li>
						<li>罗马数字经常从高位到低位书写，从左到右阅读，因此不同顺序的字符意义大不相同。<tt class="literal">DC</tt> 表示 <tt class="literal">600</tt>; 而<tt class="literal">CD</tt> 是一个完全不同的数字(为<tt class="literal">400</tt>, 也就是比<tt class="literal">500</tt> 小<tt class="literal">100</tt>). <tt class="literal">CI</tt> 表示 <tt class="literal">101</tt>; 而<tt class="literal">IC</tt> 甚至不是一个合法的罗马字母（因为你不能直接从数字<tt class="literal">100</tt>减去<tt class="literal">1</tt>; 比需要写成<tt class="literal">XCIX</tt>, 意思是 比<tt class="literal">100</tt> 小<tt class="literal">10</tt>, 然后加上数字<tt class="literal">9</tt>，也就是比 <tt class="literal">10</tt>小<tt class="literal">1</tt>的数字). </li>
				</ul>
		</div>
		<a name="id2643085">
		</a>
		<table class="note" summary="" border="0">
				<tbody>
						<tr>
								<td valign="top" align="middle" width="1%" rowspan="2">
										<img title="" height="24" alt="注意" src="file:///E:/MyDoc/Ebook/Python/html/images/note.png" width="24" />
								</td>
						</tr>
						<tr>
								<td valign="top" align="left" width="99%" colspan="2">本章译者注：“被5整除的数”这个译法并不严谨，因为所有被10整除的数也能够被5整除，此处表达的含义是：那些包含有5的含义的罗马数字字符。</td>
						</tr>
				</tbody>
		</table>
<img src ="http://www.cppblog.com/lovelypig/aggbug/14070.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/lovelypig/" target="_blank">橙子</a> 2006-10-24 09:52 <a href="http://www.cppblog.com/lovelypig/archive/2006/10/24/14070.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ACE_Rector + UDP 报错. .</title><link>http://www.cppblog.com/lovelypig/archive/2006/10/20/13890.html</link><dc:creator>橙子</dc:creator><author>橙子</author><pubDate>Fri, 20 Oct 2006 02:10:00 GMT</pubDate><guid>http://www.cppblog.com/lovelypig/archive/2006/10/20/13890.html</guid><wfw:comment>http://www.cppblog.com/lovelypig/comments/13890.html</wfw:comment><comments>http://www.cppblog.com/lovelypig/archive/2006/10/20/13890.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/lovelypig/comments/commentRss/13890.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/lovelypig/services/trackbacks/13890.html</trackback:ping><description><![CDATA[
		<p> </p>
		<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee">
				<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />
				<span style="COLOR: #000000">#include </span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">stdafx.h</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />#include </span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">ace/OS_NS_time.h</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />#include </span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">ace/Log_Msg.h</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />#include </span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">ace/Reactor.h</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />#include </span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">ace/Event_Handler.h</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />#include </span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">ace/INET_Addr.h</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />#include </span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">ace/SOCK_Dgram.h</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />#include </span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">ace/TP_Reactor.h</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />#include </span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">ace/WFMO_Reactor.h</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />
						<br />
						<img src="http://www.cppblog.com/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: #0000ff">class</span>
				<span style="COLOR: #000000"> ClientRecv : </span>
				<span style="COLOR: #0000ff">public</span>
				<span style="COLOR: #000000"> ACE_Event_Handler<br /><img id="Codehighlighter1_287_713_Open_Image" onclick="this.style.display='none'; Codehighlighter1_287_713_Open_Text.style.display='none'; Codehighlighter1_287_713_Closed_Image.style.display='inline'; Codehighlighter1_287_713_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_287_713_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_287_713_Closed_Text.style.display='none'; Codehighlighter1_287_713_Open_Image.style.display='inline'; Codehighlighter1_287_713_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span>
				<span id="Codehighlighter1_287_713_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">
						<img src="http://www.cppblog.com/images/dot.gif" />
				</span>
				<span id="Codehighlighter1_287_713_Open_Text">
						<span style="COLOR: #000000">{<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" /></span>
						<span style="COLOR: #0000ff">public</span>
						<span style="COLOR: #000000">:<br /><img id="Codehighlighter1_320_321_Open_Image" onclick="this.style.display='none'; Codehighlighter1_320_321_Open_Text.style.display='none'; Codehighlighter1_320_321_Closed_Image.style.display='inline'; Codehighlighter1_320_321_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_320_321_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_320_321_Closed_Text.style.display='none'; Codehighlighter1_320_321_Open_Image.style.display='inline'; Codehighlighter1_320_321_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">virtual</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #000000">~</span>
						<span style="COLOR: #000000">ClientRecv ()</span>
						<span id="Codehighlighter1_320_321_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">
								<img src="http://www.cppblog.com/images/dot.gif" />
						</span>
						<span id="Codehighlighter1_320_321_Open_Text">
								<span style="COLOR: #000000">{}</span>
						</span>
						<span style="COLOR: #000000">
								<br />
								<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />
								<br />
								<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">int</span>
						<span style="COLOR: #000000"> open (</span>
						<span style="COLOR: #0000ff">const</span>
						<span style="COLOR: #000000"> ACE_INET_Addr </span>
						<span style="COLOR: #000000">&amp;</span>
						<span style="COLOR: #000000">bind_addr);<br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" /><br /><img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #008000">//</span>
						<span style="COLOR: #008000"> Get this handler's I/O handle.</span>
						<span style="COLOR: #008000">
								<br />
								<img src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" align="top" />
						</span>
						<span style="COLOR: #000000">    </span>
						<span style="COLOR: #0000ff">virtual</span>
						<span style="COLOR: #000000"> ACE_HANDLE get_handle (</span>
						<span style="COLOR: #0000ff">void</span>
						<span style="COLOR: #000000">) </span>
						<span style="COLOR: #0000ff">const</span>
						<span style="COLOR: #000000">
								<br />
								<img id="Codehighlighter1_449_482_Open_Image" onclick="this.style.display='none'; Codehighlighter1_449_482_Open_Text.style.display='none'; Codehighlighter1_449_482_Closed_Image.style.display='inline'; Codehighlighter1_449_482_Closed_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" />
								<img id="Codehighlighter1_449_482_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_449_482_Closed_Text.style.display='none'; Codehighlighter1_449_482_Open_Image.style.display='inline'; Codehighlighter1_449_482_Open_Text.style.display='inline';" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span>
						<span id="Codehighlighter1_449_482_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">
								<img src="http://www.cppblog.com/images/dot.gif" />
						</span>
						<span id="Codehighlighter1_449_482_Open_Text">
								<span style="COLOR: #000000">{ </span>
								<span style="COLOR: #0000ff">return</span>
								<span style="COLOR: #000000"> </span>
								<span style="COLOR: #0000ff">this</span>
								<span style="COLOR: #000000">-&gt;</span>
								<span style="COLOR: #000000">udp.get_handle(); }</span>
						</span>
						<span style="COLOR: #000000">
								<br />
								<img src="http:/