﻿<?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>博客园-Jerson Ju</title><link>http://www.cnblogs.com/zhujian198/</link><description /><language>zh-cn</language><lastBuildDate>Tue, 18 Nov 2008 14:32:45 GMT</lastBuildDate><pubDate>Tue, 18 Nov 2008 14:32:45 GMT</pubDate><ttl>60</ttl><item><title>VC8开发HelloWord驱动</title><link>http://www.cnblogs.com/zhujian198/archive/2008/10/18/1314081.html</link><dc:creator>Jerson Ju</dc:creator><author>Jerson Ju</author><pubDate>Sat, 18 Oct 2008 07:15:00 GMT</pubDate><guid>http://www.cnblogs.com/zhujian198/archive/2008/10/18/1314081.html</guid><wfw:comment>http://www.cnblogs.com/zhujian198/comments/1314081.html</wfw:comment><comments>http://www.cnblogs.com/zhujian198/archive/2008/10/18/1314081.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnblogs.com/zhujian198/comments/commentRss/1314081.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/zhujian198/services/trackbacks/1314081.html</trackback:ping><description><![CDATA[<p>开发工具VC2005 + DDK，操作系统Winxp sp3<br />
</p>
<p>首先安装开发工具和DDK，这里VC2005怎么安装我就不说了。我们安装DDK（微软下载）</p>
<p>下图是安装界面</p>
<img src="http://images.cnblogs.com/cnblogs_com/zhujian198/158918/r_xpddk.bmp" alt="ddkpic" />
<p> 安装很简单，一直下一步下一步就可以了。</p>
<p>还没写完。。。。。晚上继续写<br />
</p><img src ="http://www.cnblogs.com/zhujian198/aggbug/1314081.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43598/" target="_blank">[新闻]应用程序架构指导包2.0 Beta 2发布</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>Thunk 封装 Windows Timer Api</title><link>http://www.cnblogs.com/zhujian198/archive/2008/08/20/1272243.html</link><dc:creator>Jerson Ju</dc:creator><author>Jerson Ju</author><pubDate>Wed, 20 Aug 2008 07:01:00 GMT</pubDate><guid>http://www.cnblogs.com/zhujian198/archive/2008/08/20/1272243.html</guid><wfw:comment>http://www.cnblogs.com/zhujian198/comments/1272243.html</wfw:comment><comments>http://www.cnblogs.com/zhujian198/archive/2008/08/20/1272243.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnblogs.com/zhujian198/comments/commentRss/1272243.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/zhujian198/services/trackbacks/1272243.html</trackback:ping><description><![CDATA[<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 以前看过李维老师写的&lt;inside vcl&gt;,delphi就是通过这种技术实现对窗口函数封装的，当时水平菜没看明白。后来<br />
</p>
<p>自己在打算用c++来重写QQ ip时候发现无法继续写下去来，主要是回调和hookapi时候，不知道怎么解决这个用类<br />
</p>
<p>封装的问题。后来看雪论坛一高数指点要我用thunk解决。后来搜索了下thunk才知道就是当年vcl的那技术，只是我</p>
<p>不知道它叫这个名字。呵呵。今天来尝试下自己实现，参照了前辈（不知道名字）的结构和思路，做了个最简化的例子。</p>
<div class="cnblogs_code"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #008000;">/*</span><span style="color: #008000;"><br />
描叙：Thunk技术学习<br />
作者：朱剑<br />
</span>
<p><span style="color: #008000;">时间:2008/8/20</span></p>
<p></p>
<p>环境：VC8 <br />
</p>
<span style="color: #008000;">*/</span><span style="color: #000000;"><br />
#include&nbsp;</span><span style="color: #800000;">"</span><span style="color: #800000;">stdafx.h</span><span style="color: #800000;">"</span><span style="color: #000000;"><br />
<br />
#include&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">Windows.h</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br />
<br />
#include&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">conio.h</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br />
<br />
</span><span style="color: #0000ff;">#pragma</span><span style="color: #000000;">&nbsp;pack(push,&nbsp;1)</span><span style="color: #000000;"><br />
<br />
<br />
</span><span style="color: #008000;">//</span><span style="color: #008000;">由于没有虚方法所以this地址就是m_mov成员的地址</span><span style="color: #008000;"><br />
</span><span style="color: #0000ff;">class</span><span style="color: #000000;">&nbsp;Thunk<br />
{<br />
&nbsp;&nbsp;&nbsp;&nbsp;unsigned&nbsp;</span><span style="color: #0000ff;">char</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;m_mov;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;unsigned&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;m_this;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;unsigned&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;m_xchg_push;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;unsigned&nbsp;</span><span style="color: #0000ff;">char</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;m_jmp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;unsigned&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;m_relproc;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: #000000;"><br />
</span><span style="color: #0000ff;">public</span><span style="color: #000000;">:<br />
&nbsp;&nbsp;&nbsp;&nbsp;typedef&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;(_stdcall&nbsp;Thunk::</span><span style="color: #000000;">*</span><span style="color: #000000;">TMFP)();<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;start()<br />
&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Init((TMFP)</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">Thunk::TimerProc,</span><span style="color: #0000ff;">this</span><span style="color: #000000;">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;::SetTimer(</span><span style="color: #800080;">0</span><span style="color: #000000;">,</span><span style="color: #800080;">0</span><span style="color: #000000;">,</span><span style="color: #800080;">500</span><span style="color: #000000;">,(TIMERPROC&nbsp;)this);</span><span style="color: #008000;">//</span><span style="color: #008000;">用构造的假数据欺骗回调函数</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;Init(TMFP&nbsp;method,&nbsp;</span><span style="color: #0000ff;">const</span><span style="color: #000000;">&nbsp;Thunk&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">pThis)<br />
&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">用union的特点巧取成员地址</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;union&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;unsigned&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;func;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TMFP&nbsp;method;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;addr;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;addr.method&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;method;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_jmp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">0xE9</span><span style="color: #000000;">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_mov&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">0xB8</span><span style="color: #000000;">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_this&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;(unsigned&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">)(</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">)&nbsp;pThis;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_xchg_push&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">0x50240487</span><span style="color: #000000;">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_relproc&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;addr.func&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">&nbsp;(unsigned&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">)(</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">)(</span><span style="color: #0000ff;">this</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">1</span><span style="color: #000000;">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">this指针是Thunk类型的，所以this+1就<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">对象地址+所有成员大小=&nbsp;对象数据结束的地址<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">e9进行跳转的距离&nbsp;=&nbsp;成员函数的地址-对象数据结束的地址</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;VOID&nbsp;CALLBACK&nbsp;TimerProc(<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;HWND&nbsp;hwnd,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;handle&nbsp;to&nbsp;window</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;UINT&nbsp;uMsg,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;WM_TIMER&nbsp;message</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;UINT_PTR&nbsp;idEvent,&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;timer&nbsp;identifier</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DWORD&nbsp;dwTime&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;current&nbsp;system&nbsp;time</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;)<br />
&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="color: #800000;">"</span><span style="color: #800000;">test&nbsp;timer!\n</span><span style="color: #800000;">"</span><span style="color: #000000;">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;}</span><span style="color: #000000;"><br />
};<br />
<br />
</span><span style="color: #0000ff;">#pragma</span><span style="color: #000000;">&nbsp;pack(pop)</span><span style="color: #000000;"><br />
<br />
</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;_tmain(</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;argc,&nbsp;_TCHAR</span><span style="color: #000000;">*</span><span style="color: #000000;">&nbsp;argv[])<br />
{<br />
&nbsp;&nbsp;&nbsp;&nbsp;Thunk&nbsp;myThunk;<br />
&nbsp;&nbsp;&nbsp;&nbsp;MSG&nbsp;msg;<br />
&nbsp;&nbsp;&nbsp;&nbsp;myThunk.start();<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">while</span><span style="color: #000000;">&nbsp;(GetMessage(</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">msg,&nbsp;NULL,&nbsp;</span><span style="color: #800080;">0</span><span style="color: #000000;">,&nbsp;</span><span style="color: #800080;">0</span><span style="color: #000000;">))&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(kbhit())&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">break</span><span style="color: #000000;">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DispatchMessage(</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">msg);<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">0</span><span style="color: #000000;">;<br />
}<br />
<br />
</span></div><img src ="http://www.cnblogs.com/zhujian198/aggbug/1272243.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43597/" target="_blank">[新闻]推波助澜 微软推出“I'm a PC”商店</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>正则表达式(Backreferences)在Url重写中的应用</title><link>http://www.cnblogs.com/zhujian198/archive/2008/08/14/1268165.html</link><dc:creator>Jerson Ju</dc:creator><author>Jerson Ju</author><pubDate>Thu, 14 Aug 2008 11:35:00 GMT</pubDate><guid>http://www.cnblogs.com/zhujian198/archive/2008/08/14/1268165.html</guid><wfw:comment>http://www.cnblogs.com/zhujian198/comments/1268165.html</wfw:comment><comments>http://www.cnblogs.com/zhujian198/archive/2008/08/14/1268165.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cnblogs.com/zhujian198/comments/commentRss/1268165.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/zhujian198/services/trackbacks/1268165.html</trackback:ping><description><![CDATA[<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 首先我们要明白正则表达式子的<span style="font-size: 8pt;"><span style="font-size: 8pt;"></span></span>元字符的基本意义。"^ {} () |&nbsp; . ? + * $ "它们在什么时候用.</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "^&nbsp; $" 分别表示一行文字的开始和结束.<br />
</p>
<p>&nbsp; &nbsp; &nbsp; 数量范围:"{}"，表示{最小，最大}</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (),表示特定表达式的子集</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ? 表示可选<br />
</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; + 表示1次或多次 &nbsp; *表示任意次包括0次</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .表示任意字符<br />
</p>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 下面就是利用正则的 Backreferences 的功能，替换子集。只能给代码了，这个太抽象了，我无法用文字表达了。<br />
</p>
<p>&nbsp;</p>
<div class="cnblogs_code"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #0000ff;">using</span><span style="color: #000000;">&nbsp;System;<br />
</span><span style="color: #0000ff;">using</span><span style="color: #000000;">&nbsp;System.Collections.Generic;<br />
</span><span style="color: #0000ff;">using</span><span style="color: #000000;">&nbsp;System.Text;<br />
</span><span style="color: #0000ff;">using</span><span style="color: #000000;">&nbsp;System.Text.RegularExpressions;<br />
<br />
</span><span style="color: #0000ff;">namespace</span><span style="color: #000000;">&nbsp;RegularDemo<br />
{<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">class</span><span style="color: #000000;">&nbsp;Program<br />
&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">C#&nbsp;Regular&nbsp;Backreferences&nbsp;Test</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">static</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;Main(</span><span style="color: #0000ff;">string</span><span style="color: #000000;">[]&nbsp;args)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">string</span><span style="color: #000000;">&nbsp;pattern&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #800000;">@"</span><span style="color: #800000;">(\\)(\d{3})(\\)(default.aspx)</span><span style="color: #800000;">"</span><span style="color: #000000;">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">string</span><span style="color: #000000;">&nbsp;inputstr&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #800000;">@"</span><span style="color: #800000;">\123\default.aspx</span><span style="color: #800000;">"</span><span style="color: #000000;">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Regex&nbsp;reg&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;Regex(pattern);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">string</span><span style="color: #000000;">&nbsp;strrep&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #800000;">@"</span><span style="color: #800000;">default.aspx?name=$2</span><span style="color: #800000;">"</span><span style="color: #000000;">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">string</span><span style="color: #000000;">&nbsp;str&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;Regex.Replace(inputstr,pattern,strrep);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Console.WriteLine(str);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;}</span></div>
<p>&nbsp;</p><img src ="http://www.cnblogs.com/zhujian198/aggbug/1268165.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43596/" target="_blank">[新闻]火狐中国版正式发布</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>QQ2007II显示物理IP辅助程序之Loader</title><link>http://www.cnblogs.com/zhujian198/archive/2008/08/14/1268152.html</link><dc:creator>Jerson Ju</dc:creator><author>Jerson Ju</author><pubDate>Thu, 14 Aug 2008 11:05:00 GMT</pubDate><guid>http://www.cnblogs.com/zhujian198/archive/2008/08/14/1268152.html</guid><wfw:comment>http://www.cnblogs.com/zhujian198/comments/1268152.html</wfw:comment><comments>http://www.cnblogs.com/zhujian198/archive/2008/08/14/1268152.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/zhujian198/comments/commentRss/1268152.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/zhujian198/services/trackbacks/1268152.html</trackback:ping><description><![CDATA[<div class="cnblogs_code"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
-->
<p><span style="color: #008000;">/*</span><span style="color: #008000;">***************************************************************</span></p>
<p> <br />
</p>
<span style="color: #008000;">*功能描叙：QQ2007II显示物理IP辅助程序之Loader，负责注入MyDll.dll<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;主程序<br />
*作者：朱剑&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
*创建日期：2007年12月23号&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
*说明：此程序只能用于QQ原理研究，不得用于商业用途,否则后果自负。&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;本程序是基于黑盒原理分析，符合计算机法规定。并且是基于插件式<br />
*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;的方式编写的，没有修改QQ原程序.<br />
</span>
<p><span style="color: #008000;">*语言：采用C语言+嵌入汇编的方式&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></p>
<p></p>
<p>&nbsp;</p>
<p></p>
<p><span style="color: #008000;">****************************************************************</span><span style="color: #008000;">*/</span></p>
<p></p>
<p>&nbsp;</p>
<span style="color: #000000;"><br />
#include&nbsp;</span><span style="color: #800000;">"</span><span style="color: #800000;">stdafx.h</span><span style="color: #800000;">"</span><span style="color: #000000;"><br />
<br />
#include&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">Tlhelp32.h</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br />
#include</span><span style="color: #000000;">&lt;</span><span style="color: #0000ff;">string</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br />
<br />
</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;APIENTRY&nbsp;WinMain(HINSTANCE&nbsp;hInstance,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;HINSTANCE&nbsp;hPrevInstance,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LPSTR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lpCmdLine,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nCmdShow)<br />
{<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;STARTUPINFO&nbsp;sinfo;<br />
&nbsp;&nbsp;&nbsp;&nbsp;PROCESS_INFORMATION&nbsp;processInfo;<br />
&nbsp;&nbsp;&nbsp;&nbsp;GetStartupInfo(</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">sinfo);<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">bool</span><span style="color: #000000;">&nbsp;b&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;CreateProcess(</span><span style="color: #800000;">"</span><span style="color: #800000;">../qq.exe</span><span style="color: #800000;">"</span><span style="color: #000000;">,lpCmdLine,NULL,NULL,</span><span style="color: #0000ff;">false</span><span style="color: #000000;">,CREATE_SUSPENDED,NULL,NULL,</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">sinfo,</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">processInfo);<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">const</span><span style="color: #000000;">&nbsp;DWORD&nbsp;THREADSIZE</span><span style="color: #000000;">=</span><span style="color: #800080;">1024</span><span style="color: #000000;">*</span><span style="color: #800080;">4</span><span style="color: #000000;">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;HANDLE&nbsp;pRemoteThread,hRemoteProcess;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PTHREAD_START_ROUTINE&nbsp;pfnAddr;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DWORD&nbsp;pId;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">pFileRemote;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PROCESSENTRY32&nbsp;processEntry</span><span style="color: #000000;">=</span><span style="color: #000000;">{</span><span style="color: #800080;">0</span><span style="color: #000000;">};<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;HANDLE&nbsp;hProcessSnap</span><span style="color: #000000;">=</span><span style="color: #000000;">CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,</span><span style="color: #800080;">0</span><span style="color: #000000;">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(hProcessSnap</span><span style="color: #000000;">==</span><span style="color: #000000;">INVALID_HANDLE_VALUE)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">0</span><span style="color: #000000;">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;processEntry.dwSize</span><span style="color: #000000;">=</span><span style="color: #0000ff;">sizeof</span><span style="color: #000000;">(PROCESSENTRY32);<br />
&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BOOL&nbsp;bRet</span><span style="color: #000000;">=</span><span style="color: #000000;">Process32First(hProcessSnap,</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">processEntry);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DWORD&nbsp;qqprocessId&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">0</span><span style="color: #000000;">&nbsp;;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">while</span><span style="color: #000000;">(bRet)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(lstrcmpiA(processEntry.szExeFile,</span><span style="color: #800000;">"</span><span style="color: #800000;">QQ.EXE</span><span style="color: #800000;">"</span><span style="color: #000000;">)</span><span style="color: #000000;">==</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">0</span><span style="color: #000000;">)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;qqprocessId&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;processEntry.th32ProcessID;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bRet</span><span style="color: #000000;">=</span><span style="color: #000000;">Process32Next(hProcessSnap,</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">processEntry);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CloseHandle(hProcessSnap);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(</span><span style="color: #000000;">!</span><span style="color: #000000;">qqprocessId)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MessageBox(NULL,</span><span style="color: #800000;">"</span><span style="color: #800000;">不能找QQ!</span><span style="color: #800000;">"</span><span style="color: #000000;">,</span><span style="color: #800000;">"</span><span style="color: #800000;">提示</span><span style="color: #800000;">"</span><span style="color: #000000;">,MB_OK);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">0</span><span style="color: #000000;">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">else</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hRemoteProcess</span><span style="color: #000000;">=</span><span style="color: #000000;">::OpenProcess(PROCESS_ALL_ACCESS,</span><span style="color: #0000ff;">false</span><span style="color: #000000;">,qqprocessId);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pFileRemote</span><span style="color: #000000;">=</span><span style="color: #000000;">::VirtualAllocEx(hRemoteProcess,</span><span style="color: #800080;">0</span><span style="color: #000000;">,THREADSIZE,&nbsp;MEM_COMMIT</span><span style="color: #000000;">|</span><span style="color: #000000;">MEM_RESERVE,PAGE_EXECUTE_READWRITE);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">char</span><span style="color: #000000;">&nbsp;szFilePath[MAX_PATH&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">1</span><span style="color: #000000;">];<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GetModuleFileName(NULL,szFilePath,MAX_PATH);<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">char</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">&nbsp;flatAddr</span><span style="color: #000000;">=</span><span style="color: #000000;">strrchr(szFilePath,</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;</span><span style="color: #0000ff;">char</span><span style="color: #000000;">&nbsp;strFile[</span><span style="color: #800080;">255</span><span style="color: #000000;">]</span><span style="color: #000000;">=</span><span style="color: #000000;">{</span><span style="color: #800080;">0</span><span style="color: #000000;">};<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;memcpy(strFile,szFilePath,flatAddr&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">&nbsp;szFilePath);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strcat(strFile,</span><span style="color: #800000;">"</span><span style="color: #800000;">\\myDll.dll</span><span style="color: #800000;">"</span><span style="color: #000000;">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">char</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">pchar;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pchar</span><span style="color: #000000;">=</span><span style="color: #000000;">strFile;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(</span><span style="color: #000000;">!</span><span style="color: #000000;">::WriteProcessMemory(hRemoteProcess,pFileRemote,pchar,THREADSIZE,NULL))<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MessageBox(NULL,</span><span style="color: #800000;">"</span><span style="color: #800000;">写内存失败</span><span style="color: #800000;">"</span><span style="color: #000000;">,</span><span style="color: #800000;">"</span><span style="color: #800000;">提示</span><span style="color: #800000;">"</span><span style="color: #000000;">,MB_OK);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">0</span><span style="color: #000000;">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pfnAddr</span><span style="color: #000000;">=</span><span style="color: #000000;">(PTHREAD_START_ROUTINE)GetProcAddress(GetModuleHandle(TEXT(</span><span style="color: #800000;">"</span><span style="color: #800000;">Kernel32</span><span style="color: #800000;">"</span><span style="color: #000000;">)),</span><span style="color: #800000;">"</span><span style="color: #800000;">LoadLibraryA</span><span style="color: #800000;">"</span><span style="color: #000000;">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pRemoteThread</span><span style="color: #000000;">=</span><span style="color: #000000;">::CreateRemoteThread(hRemoteProcess,NULL,</span><span style="color: #800080;">0</span><span style="color: #000000;">,pfnAddr,pFileRemote,</span><span style="color: #800080;">0</span><span style="color: #000000;">,NULL);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ResumeThread(processInfo.hThread);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">0</span><span style="color: #000000;">;<br />
}</span></div><img src ="http://www.cnblogs.com/zhujian198/aggbug/1268152.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43596/" target="_blank">[新闻]火狐中国版正式发布</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>我的绿色无流氓开发环境</title><link>http://www.cnblogs.com/zhujian198/archive/2008/07/23/1249166.html</link><dc:creator>Jerson Ju</dc:creator><author>Jerson Ju</author><pubDate>Wed, 23 Jul 2008 00:17:00 GMT</pubDate><guid>http://www.cnblogs.com/zhujian198/archive/2008/07/23/1249166.html</guid><wfw:comment>http://www.cnblogs.com/zhujian198/comments/1249166.html</wfw:comment><comments>http://www.cnblogs.com/zhujian198/archive/2008/07/23/1249166.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnblogs.com/zhujian198/comments/commentRss/1249166.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/zhujian198/services/trackbacks/1249166.html</trackback:ping><description><![CDATA[<p style="text-indent: 17.95pt;"><span style="font-family: 宋体;">宽带停了，无聊啊。想写点什么东西，所以想到了这个无聊的主题。我爱机上常用的一些软件，并且胡说八道下它们的有缺点。如果评价有错误，请不要丢砖头给我啊。</span></p>
<p style="margin-left: 38.95pt; text-indent: -21pt;"><span>1.<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-family: 宋体;">操作系统</span></p>
<p style="margin-left: 59.95pt; text-indent: -21pt;"><span>a)<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span>xp sp3 <span style="font-family: 宋体;">英文</span>(<span style="font-family: 宋体;">正版</span>)</p>
<p style="margin-left: 38.95pt;">&nbsp;<span style="font-family: 宋体;">做欧美外包软件被逼的，没别的意思。后来习惯来就喜欢上英文系统了。</span></p>
<p style="margin-left: 38.95pt;">b)&nbsp;Redhat 9.0 <span style="font-family: 宋体;">主要是研究</span>linux <span style="font-family: 宋体;">上</span>C<span style="font-family: 宋体;">开发</span></p>
<p style="margin-left: 38.95pt; text-indent: -21pt;"><span>2.<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-family: 宋体;">浏览器</span></p>
<p style="margin-left: 59.95pt; text-indent: -21pt;"><span>a)<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span>IE7 <span style="font-family: 宋体;">操作系统自己带的，我想删除</span>IE<span style="font-family: 宋体;">也不行。试过用工具删了它，很多软件的功能用不了，大多软件和服务依赖它。</span></p>
<p style="margin-left: 59.95pt; text-indent: -21pt;"><span>b)<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span>Firefox 3.01 <span style="font-family: 宋体;">英文</span></p>
<p style="margin-left: 38.95pt;"><span style="font-family: 宋体;">安全稳定，加上它丰富的插件，简直是如虎添翼，浏览网页</span>90%<span style="font-family: 宋体;">时间是用它。</span></p>
<p style="margin-left: 38.95pt; text-indent: -21pt;"><span>3.<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-family: 宋体;">下载软件</span></p>
<p style="margin-left: 59.95pt; text-indent: -21pt;"><span>a)<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span>Firefox <span style="font-family: 宋体;">的</span>DownloadThemALL<span style="font-family: 宋体;">插件</span></p>
<p style="margin-left: 38.95pt;">&nbsp;<span style="font-family: 宋体;">它是绿色小巧的一个插件，支持断点和多线程下载。讨厌迅雷，很暴力。</span></p>
<p style="margin-left: 38.95pt; text-indent: -21pt;"><span>4.<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-family: 宋体;">磁盘整理软件</span></p>
<p style="margin-left: 59.95pt; text-indent: -21pt;"><span>a)<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span>O&amp;O Defrag <span style="font-family: 宋体;">英文</span></p>
<p style="margin-left: 38.95pt;"><span style="font-family: 宋体;">整理速度快，机器空闲时候它就自动后天整理磁盘。弥补了</span>Windows<span style="font-family: 宋体;">不能像</span>linux<span style="font-family: 宋体;">和</span>unix<span style="font-family: 宋体;">那样内核具备边工作边磁盘整理的缺点。保障了机器用了半年和新装的一样快。</span></p>
<p style="margin-left: 38.95pt; text-indent: -21pt;"><span>5.<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-family: 宋体;">翻译软件</span></p>
<p style="margin-left: 59.95pt; text-indent: -21pt;"><span>a)<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span>Lingoes 2.3 <span style="font-family: 宋体;">英文</span></p>
<p style="margin-left: 38.95pt;"><span style="font-family: 宋体;">以前用金山词霸</span>2007<span style="font-family: 宋体;">、谷歌词霸发现它速度比</span>Lingoes<span style="font-family: 宋体;">慢，而且占磁盘空间，同时不能对</span>firefox3<span style="font-family: 宋体;">的网页取词等问题，时不时的让</span>Exporler<span style="font-family: 宋体;">进程报错重启。后来知道了</span>Lingoes <span style="font-family: 宋体;">它体积小，而已有丰富的词典库支持每个词典库体积压缩的很小。</span></p>
<p style="margin-left: 38.95pt; text-indent: -21pt;"><span>6.<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-family: 宋体;">媒体播放软件</span></p>
<p style="margin-left: 59.95pt; text-indent: -21pt;"><span>a)<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-family: 宋体;">暴风影音</span>2007 <span style="font-family: 宋体;">英文</span></p>
<p style="margin-left: 38.95pt;"><span style="font-family: 宋体;">为什么不用暴风影音</span>3<span style="font-family: 宋体;">呢？主要是暴风影音没英文版。在英文软件环境中光秃秃的一个中文软件很不好看。</span></p>
<p style="margin-left: 59.95pt; text-indent: -21pt;"><span>b)<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span>WINAMP Classic 2.81 <span style="font-family: 宋体;">英文</span> <span style="font-family: 宋体;">经典版本</span></p>
<p style="margin-left: 38.95pt;">Winamp<span style="font-family: 宋体;">比千千静听音质好，操作比音质最好的那软件好，这里记不起它名字了。</span></p>
<p style="margin-left: 38.95pt; text-indent: -21pt;"><span>7.<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span>ftp<span style="font-family: 宋体;">客户端软件</span> </p>
<p style="margin-left: 59.95pt; text-indent: -21pt;"><span>a)<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span>filezilla <span style="font-family: 宋体;">英文</span> <span style="font-family: 宋体;">开源免费功能还可以</span>&nbsp;</p>
<p style="margin-left: 38.95pt; text-indent: -21pt;"><span>8.<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-family: 宋体;">文本编辑软件</span></p>
<p style="margin-left: 59.95pt; text-indent: -21pt;"><span>a)<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span>Editplus&nbsp;<span style="font-family: 宋体;">英文</span></p>
<p style="margin-left: 59.95pt; text-indent: -21pt;"><span>b)<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span>UltraEdit-32 <span style="font-family: 宋体;">英文</span></p>
<p style="margin-left: 38.95pt; text-indent: -21pt;"><span>9.<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-family: 宋体;">输入法</span></p>
<p style="margin-left: 59.95pt; text-indent: -21pt;"><span>a)<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-family: 宋体;">谷歌拼音输入法</span></p>
<p style="margin-left: 38.95pt;"><span style="font-family: 宋体;">之前一直在用搜狗输入法，但到前些天</span>3.5<span style="font-family: 宋体;">奥运版出来后，搜狗就很霸道了。广告、强制改变你的词汇顺序、强制让你升级、卸载都把你的所有输入都删除。所以不用它来。</span></p>
<p style="margin-left: 38.95pt;">b)<span style="font-family: 宋体;">英文输入法</span></p>
<p style="margin-left: 38.95pt; text-indent: -21pt;"><span>10.<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-family: 宋体;">邮件客户端软件</span></p>
<p style="margin-left: 59.95pt; text-indent: -21pt;"><span>a)<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span>Foxmail 6.0<span style="font-family: 宋体;">英文</span></p>
<p style="margin-left: 38.95pt; text-indent: -21pt;"><span>11.<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">&nbsp;&nbsp;&nbsp;&nbsp; </span></span>IM<span style="font-family: 宋体;">软件</span></p>
<p style="margin-left: 59.95pt; text-indent: -21pt;"><span>a)<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span>GTalk</p>
<p style="margin-left: 38.95pt;"><span style="font-family: 宋体;">小巧，只有聊天和传文件，无广告。对我已经足够，被</span>QQ<span style="font-family: 宋体;">烦死了。</span></p>
<p style="margin-left: 59.95pt; text-indent: -21pt;"><span>b)<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span>QQ + <span style="font-family: 宋体;">自己写的显示</span>IP<span style="font-family: 宋体;">去广告外挂</span> <span style="font-family: 宋体;">自己研究使用不敢</span>opensource<span style="font-family: 宋体;">怕</span>TX<span style="font-family: 宋体;">找麻烦</span></p>
<p style="margin-left: 38.95pt;"><span style="font-family: 宋体;">我电脑里</span>QQ<span style="font-family: 宋体;">是第一流氓软件</span>(<span style="font-family: 宋体;">怎么流氓就不用我说了</span>)<span style="font-family: 宋体;">，主要是亲人和朋友在上面，我还是偶尔要用它一下。</span></p>
<p style="margin-left: 38.95pt; text-indent: -21pt;"><span>12.<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-family: 宋体;">文档编辑和阅读软件</span></p>
<p style="margin-left: 59.95pt; text-indent: -21pt;"><span>a)<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span>Adobe Reader 8 <span style="font-family: 宋体;">英文</span></p>
<p style="margin-left: 59.95pt; text-indent: -21pt;"><span>b)<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span>Office 2003 <span style="font-family: 宋体;">英文</span></p>
<p style="margin-left: 38.95pt; text-indent: -21pt;"><span>13.<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-family: 宋体;">数据库软件</span></p>
<p style="margin-left: 59.95pt; text-indent: -21pt;"><span>a)<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span>Sql server 2005 <span style="font-family: 宋体;">英文</span></p>
<p style="margin-left: 59.95pt; text-indent: -21pt;"><span>b)<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span>Mysql</p>
<p style="margin-left: 38.95pt; text-indent: -21pt;"><span>14.<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-family: 宋体;">虚拟光驱</span></p>
<p style="margin-left: 59.95pt; text-indent: -21pt;"><span>a)<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span>Daemon <span style="font-family: 宋体;">英文</span></p>
<p style="margin-left: 38.95pt; text-indent: -21pt;"><span>15.<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-family: 宋体;">防火墙和杀毒软件</span></p>
<p style="margin-left: 59.95pt; text-indent: -21pt;"><span>a)<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-family: 宋体;">都是</span>Mcafee<span>&nbsp;&nbsp; </span><span style="font-family: 宋体;">关键是可以免费试用</span>2<span style="font-family: 宋体;">年</span>,<span style="font-family: 宋体;">不要像卡巴斯基一样到处去找</span>key</p>
<p style="margin-left: 38.95pt; text-indent: -21pt;"><span>16.<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-family: 宋体;">开发工具和调试工具</span>&nbsp;<span style="font-family: 宋体;">（所有都英文）</span></p>
<p style="margin-left: 59.95pt; text-indent: -21pt;"><span>a)<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span>Microsoft Visual Studio 6.0<span>&nbsp;&nbsp; </span><span style="font-family: 宋体;">主要是用</span>vc 6</p>
<p style="margin-left: 59.95pt; text-indent: -21pt;"><span>b)<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span>Microsoft Visual Studio 2005&nbsp;<span style="font-family: 宋体;">主要是用</span> c#&nbsp;asp.net</p>
<p style="margin-left: 59.95pt; text-indent: -21pt;"><span>c)<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span>Eclipse</p>
<p style="margin-left: 59.95pt; text-indent: -21pt;"><span>d)<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span>JCreator Pro</p>
<p style="margin-left: 59.95pt; text-indent: -21pt;"><span>e)<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span>JDK 1.5&nbsp;java<span style="font-family: 宋体;">要用它</span></p>
<p style="margin-left: 59.95pt; text-indent: -21pt;"><span>f)<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span>DDK&nbsp;<span style="font-family: 宋体;">开发驱动</span></p>
<p style="margin-left: 59.95pt; text-indent: -21pt;"><span>g)<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span>Windbg <span style="font-family: 宋体;">调试驱动和操作系统内核、分析程序</span> <span style="font-family: 宋体;">等用。</span></p>
<p style="margin-left: 59.95pt; text-indent: -21pt;"><span>h)<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span>VStart <span style="font-family: 宋体;">快捷方式管理器（里面包含了</span> <span style="font-family: 宋体;">所以破解调试工具</span>OllyDBG PEID IDA 5.0<span style="font-family: 宋体;">等等上百个）</span></p>
<p style="margin-left: 59.95pt; text-indent: -21pt;"><span>i)<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span>Vmware <span style="font-family: 宋体;">虚拟机</span></p>
<p style="margin-left: 59.95pt; text-indent: -21pt;"><span>j)<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span>TortoiseSVN <span style="font-family: 宋体;">版本控制软件</span><span>&nbsp;&nbsp; </span><span style="font-family: 宋体;">功能强大而且免费开源</span></p><img src ="http://www.cnblogs.com/zhujian198/aggbug/1249166.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43595/" target="_blank">[新闻]微软：中国移动全球率先使用IE Mobile 6</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>九宫格算法（C语言版）</title><link>http://www.cnblogs.com/zhujian198/archive/2008/05/23/1205958.html</link><dc:creator>Jerson Ju</dc:creator><author>Jerson Ju</author><pubDate>Fri, 23 May 2008 09:41:00 GMT</pubDate><guid>http://www.cnblogs.com/zhujian198/archive/2008/05/23/1205958.html</guid><wfw:comment>http://www.cnblogs.com/zhujian198/comments/1205958.html</wfw:comment><comments>http://www.cnblogs.com/zhujian198/archive/2008/05/23/1205958.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnblogs.com/zhujian198/comments/commentRss/1205958.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/zhujian198/services/trackbacks/1205958.html</trackback:ping><description><![CDATA[<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #000000;">#include&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">iostream</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br />
#include</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">time.h</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br />
<br />
&nbsp;</span><span style="color: #0000ff;">static</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;pu[</span><span style="color: #800080;">9</span><span style="color: #000000;">][</span><span style="color: #800080;">9</span><span style="color: #000000;">]</span><span style="color: #000000;">=</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{</span><span style="color: #800080;">0</span><span style="color: #000000;">,</span><span style="color: #800080;">0</span><span style="color: #000000;">,</span><span style="color: #800080;">0</span><span style="color: #000000;">,</span><span style="color: #800080;">7</span><span style="color: #000000;">,</span><span style="color: #800080;">2</span><span style="color: #000000;">,</span><span style="color: #800080;">8</span><span style="color: #000000;">,</span><span style="color: #800080;">0</span><span style="color: #000000;">,</span><span style="color: #800080;">0</span><span style="color: #000000;">,</span><span style="color: #800080;">0</span><span style="color: #000000;">},<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{</span><span style="color: #800080;">0</span><span style="color: #000000;">,</span><span style="color: #800080;">9</span><span style="color: #000000;">,</span><span style="color: #800080;">0</span><span style="color: #000000;">,</span><span style="color: #800080;">0</span><span style="color: #000000;">,</span><span style="color: #800080;">5</span><span style="color: #000000;">,</span><span style="color: #800080;">1</span><span style="color: #000000;">,</span><span style="color: #800080;">6</span><span style="color: #000000;">,</span><span style="color: #800080;">0</span><span style="color: #000000;">,</span><span style="color: #800080;">0</span><span style="color: #000000;">},<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{</span><span style="color: #800080;">0</span><span style="color: #000000;">,</span><span style="color: #800080;">0</span><span style="color: #000000;">,</span><span style="color: #800080;">0</span><span style="color: #000000;">,</span><span style="color: #800080;">0</span><span style="color: #000000;">,</span><span style="color: #800080;">6</span><span style="color: #000000;">,</span><span style="color: #800080;">0</span><span style="color: #000000;">,</span><span style="color: #800080;">0</span><span style="color: #000000;">,</span><span style="color: #800080;">8</span><span style="color: #000000;">,</span><span style="color: #800080;">2</span><span style="color: #000000;">},<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{</span><span style="color: #800080;">3</span><span style="color: #000000;">,</span><span style="color: #800080;">0</span><span style="color: #000000;">,</span><span style="color: #800080;">0</span><span style="color: #000000;">,</span><span style="color: #800080;">8</span><span style="color: #000000;">,</span><span style="color: #800080;">0</span><span style="color: #000000;">,</span><span style="color: #800080;">2</span><span style="color: #000000;">,</span><span style="color: #800080;">7</span><span style="color: #000000;">,</span><span style="color: #800080;">0</span><span style="color: #000000;">,</span><span style="color: #800080;">4</span><span style="color: #000000;">},<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{</span><span style="color: #800080;">1</span><span style="color: #000000;">,</span><span style="color: #800080;">7</span><span style="color: #000000;">,</span><span style="color: #800080;">4</span><span style="color: #000000;">,</span><span style="color: #800080;">0</span><span style="color: #000000;">,</span><span style="color: #800080;">3</span><span style="color: #000000;">,</span><span style="color: #800080;">0</span><span style="color: #000000;">,</span><span style="color: #800080;">0</span><span style="color: #000000;">,</span><span style="color: #800080;">2</span><span style="color: #000000;">,</span><span style="color: #800080;">0</span><span style="color: #000000;">},<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{</span><span style="color: #800080;">2</span><span style="color: #000000;">,</span><span style="color: #800080;">8</span><span style="color: #000000;">,</span><span style="color: #800080;">0</span><span style="color: #000000;">,</span><span style="color: #800080;">5</span><span style="color: #000000;">,</span><span style="color: #800080;">0</span><span style="color: #000000;">,</span><span style="color: #800080;">0</span><span style="color: #000000;">,</span><span style="color: #800080;">0</span><span style="color: #000000;">,</span><span style="color: #800080;">3</span><span style="color: #000000;">,</span><span style="color: #800080;">0</span><span style="color: #000000;">},<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{</span><span style="color: #800080;">0</span><span style="color: #000000;">,</span><span style="color: #800080;">1</span><span style="color: #000000;">,</span><span style="color: #800080;">0</span><span style="color: #000000;">,</span><span style="color: #800080;">3</span><span style="color: #000000;">,</span><span style="color: #800080;">0</span><span style="color: #000000;">,</span><span style="color: #800080;">0</span><span style="color: #000000;">,</span><span style="color: #800080;">2</span><span style="color: #000000;">,</span><span style="color: #800080;">0</span><span style="color: #000000;">,</span><span style="color: #800080;">0</span><span style="color: #000000;">},<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{</span><span style="color: #800080;">0</span><span style="color: #000000;">,</span><span style="color: #800080;">0</span><span style="color: #000000;">,</span><span style="color: #800080;">7</span><span style="color: #000000;">,</span><span style="color: #800080;">0</span><span style="color: #000000;">,</span><span style="color: #800080;">4</span><span style="color: #000000;">,</span><span style="color: #800080;">6</span><span style="color: #000000;">,</span><span style="color: #800080;">0</span><span style="color: #000000;">,</span><span style="color: #800080;">0</span><span style="color: #000000;">,</span><span style="color: #800080;">5</span><span style="color: #000000;">},<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{</span><span style="color: #800080;">0</span><span style="color: #000000;">,</span><span style="color: #800080;">0</span><span style="color: #000000;">,</span><span style="color: #800080;">6</span><span style="color: #000000;">,</span><span style="color: #800080;">1</span><span style="color: #000000;">,</span><span style="color: #800080;">0</span><span style="color: #000000;">,</span><span style="color: #800080;">0</span><span style="color: #000000;">,</span><span style="color: #800080;">0</span><span style="color: #000000;">,</span><span style="color: #800080;">4</span><span style="color: #000000;">,</span><span style="color: #800080;">9</span><span style="color: #000000;">}&nbsp;};<br />
<br />
</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;isvalid(</span><span style="color: #0000ff;">const</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;i,&nbsp;</span><span style="color: #0000ff;">const</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;j)<br />
{<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">const</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;n&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;pu[i][j];<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">const</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">static</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;query[]&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;{</span><span style="color: #800080;">0</span><span style="color: #000000;">,&nbsp;</span><span style="color: #800080;">0</span><span style="color: #000000;">,&nbsp;</span><span style="color: #800080;">0</span><span style="color: #000000;">,&nbsp;</span><span style="color: #800080;">3</span><span style="color: #000000;">,&nbsp;</span><span style="color: #800080;">3</span><span style="color: #000000;">,&nbsp;</span><span style="color: #800080;">3</span><span style="color: #000000;">,&nbsp;</span><span style="color: #800080;">6</span><span style="color: #000000;">,&nbsp;</span><span style="color: #800080;">6</span><span style="color: #000000;">,&nbsp;</span><span style="color: #800080;">6</span><span style="color: #000000;">};<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;t,&nbsp;u;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">for</span><span style="color: #000000;">&nbsp;(t&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">0</span><span style="color: #000000;">;&nbsp;t&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">9</span><span style="color: #000000;">;&nbsp;t</span><span style="color: #000000;">++</span><span style="color: #000000;">)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(t&nbsp;</span><span style="color: #000000;">!=</span><span style="color: #000000;">&nbsp;i&nbsp;</span><span style="color: #000000;">&amp;&amp;</span><span style="color: #000000;">&nbsp;pu[t][j]&nbsp;</span><span style="color: #000000;">==</span><span style="color: #000000;">&nbsp;n&nbsp;</span><span style="color: #000000;">||</span><span style="color: #000000;">&nbsp;t&nbsp;</span><span style="color: #000000;">!=</span><span style="color: #000000;">&nbsp;j&nbsp;</span><span style="color: #000000;">&amp;&amp;</span><span style="color: #000000;">&nbsp;pu[i][t]&nbsp;</span><span style="color: #000000;">==</span><span style="color: #000000;">&nbsp;n)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">0</span><span style="color: #000000;">;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">for</span><span style="color: #000000;">&nbsp;(t&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;query[i];&nbsp;t&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">&nbsp;query[i]&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">3</span><span style="color: #000000;">;&nbsp;t</span><span style="color: #000000;">++</span><span style="color: #000000;">)&nbsp; </span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">for</span><span style="color: #000000;">&nbsp;(u&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;query[j];&nbsp;u&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">&nbsp;query[j]&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">3</span><span style="color: #000000;">;&nbsp;u</span><span style="color: #000000;">++</span><span style="color: #000000;">)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;((t&nbsp;</span><span style="color: #000000;">!=</span><span style="color: #000000;">&nbsp;i&nbsp;</span><span style="color: #000000;">||</span><span style="color: #000000;">&nbsp;u&nbsp;</span><span style="color: #000000;">!=</span><span style="color: #000000;">&nbsp;j)&nbsp;</span><span style="color: #000000;">&amp;&amp;</span><span style="color: #000000;">&nbsp;pu[t][u]&nbsp;</span><span style="color: #000000;">==</span><span style="color: #000000;">&nbsp;n)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">0</span><span style="color: #000000;">;&nbsp;&nbsp;&nbsp;&nbsp;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">1</span><span style="color: #000000;">;<br />
}<br />
<br />
</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;output(</span><span style="color: #0000ff;">void</span><span style="color: #000000;">)<br />
{<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">static</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;n;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;cout&nbsp;</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">&nbsp;</span><span style="color: #800000;">"</span><span style="color: #800000;">Solution&nbsp;</span><span style="color: #800000;">"</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">++</span><span style="color: #000000;">n&nbsp;</span><span style="color: #000000;">&lt;&lt;</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;">&nbsp;</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">endl;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">for</span><span style="color: #000000;">&nbsp;(</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;i&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">0</span><span style="color: #000000;">;&nbsp;i&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">9</span><span style="color: #000000;">;&nbsp;i</span><span style="color: #000000;">++</span><span style="color: #000000;">)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">for</span><span style="color: #000000;">&nbsp;(</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;j&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">0</span><span style="color: #000000;">;&nbsp;j&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">9</span><span style="color: #000000;">;&nbsp;j</span><span style="color: #000000;">++</span><span style="color: #000000;">)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">&nbsp;pu[i][j]&nbsp;</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">&nbsp;</span><span style="color: #800000;">"</span><span style="color: #800000;">&nbsp;</span><span style="color: #800000;">"</span><span style="color: #000000;">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout&nbsp;</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">&nbsp;endl;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;cout&nbsp;</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">&nbsp;endl;<br />
}<br />
<br />
</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;Try(</span><span style="color: #0000ff;">const</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;n)<br />
{<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(n&nbsp;</span><span style="color: #000000;">==</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">81</span><span style="color: #000000;">)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;output();<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 />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">const</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;i&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;n&nbsp;</span><span style="color: #000000;">/</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">9</span><span style="color: #000000;">,&nbsp;j&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;n&nbsp;</span><span style="color: #000000;">%</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">9</span><span style="color: #000000;">;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(pu[i][j]&nbsp;</span><span style="color: #000000;">!=</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">0</span><span style="color: #000000;">)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Try(n&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">1</span><span style="color: #000000;">);<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 />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">for</span><span style="color: #000000;">&nbsp;(</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;k&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">0</span><span style="color: #000000;">;&nbsp;k&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">9</span><span style="color: #000000;">;&nbsp;k</span><span style="color: #000000;">++</span><span style="color: #000000;">)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pu[i][j]</span><span style="color: #000000;">++</span><span style="color: #000000;">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(isvalid(i,&nbsp;j))<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Try(n&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">1</span><span style="color: #000000;">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;pu[i][j]&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">0</span><span style="color: #000000;">;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">回溯</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">}<br />
<br />
</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;main(</span><span style="color: #0000ff;">void</span><span style="color: #000000;">)<br />
{<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">long</span><span style="color: #000000;">&nbsp;start</span><span style="color: #000000;">=</span><span style="color: #000000;">clock();<br />
&nbsp;&nbsp;&nbsp;&nbsp;Try(</span><span style="color: #800080;">0</span><span style="color: #000000;">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">long</span><span style="color: #000000;">&nbsp;end</span><span style="color: #000000;">=</span><span style="color: #000000;">clock();<br />
&nbsp;&nbsp;&nbsp;&nbsp;cout</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #800000;">"</span><span style="color: #800000;">计算一共花了</span><span style="color: #800000;">"</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">(</span><span style="color: #0000ff;">double</span><span style="color: #000000;">)(end</span><span style="color: #000000;">-</span><span style="color: #000000;">start)</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #800000;">"</span><span style="color: #800000;">毫秒</span><span style="color: #800000;">"</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">endl;<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">0</span><span style="color: #000000;">;<br />
}<br />
</span></div>
<img src ="http://www.cnblogs.com/zhujian198/aggbug/1205958.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43594/" target="_blank">[新闻]消息汇总:迅雷人事变动 员工与公关部说法大相径庭</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>Firefox 3.0 rc1 试用</title><link>http://www.cnblogs.com/zhujian198/archive/2008/05/23/1205905.html</link><dc:creator>Jerson Ju</dc:creator><author>Jerson Ju</author><pubDate>Fri, 23 May 2008 08:40:00 GMT</pubDate><guid>http://www.cnblogs.com/zhujian198/archive/2008/05/23/1205905.html</guid><wfw:comment>http://www.cnblogs.com/zhujian198/comments/1205905.html</wfw:comment><comments>http://www.cnblogs.com/zhujian198/archive/2008/05/23/1205905.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/zhujian198/comments/commentRss/1205905.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/zhujian198/services/trackbacks/1205905.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 感觉很比bata版的界面清爽些，感觉不错。内存方面比firefox2优化了不少，启动速度快了。就是目前支持插件还没有跟上来。super_dragandgo tab_mix_lite_ce 等常用插件还没有跟上来，两个支持前两者一些功能的新插件，PlainOldFavorites_1.0.1 quickdrag-1.0.2-fx&nbsp; tab_clicking_options-0.6.9-fx+mz+sm.xpi 可以拖拽和双击TAB关闭了。爽！ 同时 mediawrap&nbsp; 以前版本还可以用，播放音乐不是问题。<br />
<img src ="http://www.cnblogs.com/zhujian198/aggbug/1205905.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43594/" target="_blank">[新闻]消息汇总:迅雷人事变动 员工与公关部说法大相径庭</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>DNN模块开发--vs2008 vs2005 项目模板插件</title><link>http://www.cnblogs.com/zhujian198/archive/2008/05/21/1204349.html</link><dc:creator>Jerson Ju</dc:creator><author>Jerson Ju</author><pubDate>Wed, 21 May 2008 13:49:00 GMT</pubDate><guid>http://www.cnblogs.com/zhujian198/archive/2008/05/21/1204349.html</guid><wfw:comment>http://www.cnblogs.com/zhujian198/comments/1204349.html</wfw:comment><comments>http://www.cnblogs.com/zhujian198/archive/2008/05/21/1204349.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/zhujian198/comments/commentRss/1204349.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/zhujian198/services/trackbacks/1204349.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 想用Vs2008开发dnn 模块。结果找了半天才找到一个支持vs2008的模板插件:<a href="http://www.bitethebullet.co.uk/DNN4CSharpTemplate/tabid/79/language/en-US/Default.aspx">下载页面</a>. 
<img src ="http://www.cnblogs.com/zhujian198/aggbug/1204349.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43592/" target="_blank">[新闻]Google iPhone语音识别程序已经上线</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>C语言递归目录下所有文件</title><link>http://www.cnblogs.com/zhujian198/archive/2008/05/14/1197124.html</link><dc:creator>Jerson Ju</dc:creator><author>Jerson Ju</author><pubDate>Wed, 14 May 2008 11:11:00 GMT</pubDate><guid>http://www.cnblogs.com/zhujian198/archive/2008/05/14/1197124.html</guid><wfw:comment>http://www.cnblogs.com/zhujian198/comments/1197124.html</wfw:comment><comments>http://www.cnblogs.com/zhujian198/archive/2008/05/14/1197124.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/zhujian198/comments/commentRss/1197124.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/zhujian198/services/trackbacks/1197124.html</trackback:ping><description><![CDATA[<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"><br />
描写：C语言递归目录下所有文件&nbsp;无聊写的<br />
作者：朱剑<br />
创建日期：2005/04/20<br />
</span><span style="color: #008000">*/</span><span style="color: #000000"><br />
#include</span><span style="color: #000000">&lt;</span><span style="color: #000000">Windows.h</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />
#include</span><span style="color: #000000">&lt;</span><span style="color: #000000">stdio.h</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;Directory(</span><span style="color: #0000ff">char</span><span style="color: #000000">&nbsp;path[])<br />
{<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">char</span><span style="color: #000000">&nbsp;subpath[_MAX_PATH];<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">char</span><span style="color: #000000">&nbsp;temp[_MAX_PATH];<br />
&nbsp;&nbsp;&nbsp;&nbsp;WIN32_FIND_DATA&nbsp;lp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">char</span><span style="color: #000000">&nbsp;ss[_MAX_PATH];<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;strcpy(temp,path);<br />
&nbsp;&nbsp;&nbsp;&nbsp;HANDLE&nbsp;h</span><span style="color: #000000">=</span><span style="color: #000000">FindFirstFile(temp,</span><span style="color: #000000">&amp;</span><span style="color: #000000">lp);<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;temp[strlen(temp)</span><span style="color: #000000">-</span><span style="color: #800080">1</span><span style="color: #000000">]</span><span style="color: #000000">=</span><span style="color: #800000">'</span><span style="color: #800000">\0</span><span style="color: #800000">'</span><span style="color: #000000">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">do</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">((lp.dwFileAttributes&nbsp;</span><span style="color: #000000">&amp;</span><span style="color: #000000">&nbsp;FILE_ATTRIBUTE_DIRECTORY)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&amp;&amp;</span><span style="color: #000000">&nbsp;strcmp(lp.cFileName,</span><span style="color: #800000">"</span><span style="color: #800000">..</span><span style="color: #800000">"</span><span style="color: #000000">)</span><span style="color: #000000">!=</span><span style="color: #800080">0</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">&amp;&amp;</span><span style="color: #000000">&nbsp;strcmp(lp.cFileName,</span><span style="color: #800000">"</span><span style="color: #800000">.</span><span style="color: #800000">"</span><span style="color: #000000">)</span><span style="color: #000000">!=</span><span style="color: #800080">0</span><span style="color: #000000">)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">subpath</span><span style="color: #008000"><br />
</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sprintf(subpath,</span><span style="color: #800000">"</span><span style="color: #800000">%s%s\\*</span><span style="color: #800000">"</span><span style="color: #000000">,temp,lp.cFileName);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Directory(subpath);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">((lp.dwFileAttributes&nbsp;</span><span style="color: #000000">&amp;</span><span style="color: #000000">&nbsp;FILE_ATTRIBUTE_DIRECTORY)</span><span style="color: #000000">!=</span><span style="color: #000000">FILE_ATTRIBUTE_DIRECTORY)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sprintf(ss,</span><span style="color: #800000">"</span><span style="color: #800000">%s%s</span><span style="color: #800000">"</span><span style="color: #000000">,temp,lp.cFileName);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="color: #800000">"</span><span style="color: #800000">%s\n</span><span style="color: #800000">"</span><span style="color: #000000">,ss);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sleep(</span><span style="color: #800080">100</span><span style="color: #000000">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span><span style="color: #0000ff">while</span><span style="color: #000000">(FindNextFile(h,</span><span style="color: #000000">&amp;</span><span style="color: #000000">lp));<br />
&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FindClose(h);<br />
}<br />
</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;main()<br />
{<br />
&nbsp;&nbsp;&nbsp;&nbsp;Directory(</span><span style="color: #800000">"</span><span style="color: #800000">f:\\*</span><span style="color: #800000">"</span><span style="color: #000000">);<br />
}</span></div>
<img src ="http://www.cnblogs.com/zhujian198/aggbug/1197124.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43591/" target="_blank">[新闻]为何Apple更精于UI设计 ？</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>c#插入排序</title><link>http://www.cnblogs.com/zhujian198/archive/2008/05/14/1197121.html</link><dc:creator>Jerson Ju</dc:creator><author>Jerson Ju</author><pubDate>Wed, 14 May 2008 11:07:00 GMT</pubDate><guid>http://www.cnblogs.com/zhujian198/archive/2008/05/14/1197121.html</guid><wfw:comment>http://www.cnblogs.com/zhujian198/comments/1197121.html</wfw:comment><comments>http://www.cnblogs.com/zhujian198/archive/2008/05/14/1197121.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/zhujian198/comments/commentRss/1197121.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/zhujian198/services/trackbacks/1197121.html</trackback:ping><description><![CDATA[<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: #0000ff">using</span><span style="color: #000000">&nbsp;System;<br />
</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;DataStructDemo<br />
{<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;insertSort(</span><span style="color: #0000ff">int</span><span style="color: #000000">[]&nbsp;arr)<br />
&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">for</span><span style="color: #000000">&nbsp;(i&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">1</span><span style="color: #000000">;&nbsp;i&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">&nbsp;arr.length;&nbsp;i</span><span style="color: #000000">++</span><span style="color: #000000">)</span><span style="color: #008000">//</span><span style="color: #008000">从第二个元素开始</span><span style="color: #008000"><br />
</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;temp&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;arr[i];<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;j&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;i&nbsp;</span><span style="color: #000000">-</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">1</span><span style="color: #000000">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">while</span><span style="color: #000000">(arr[j]&nbsp;</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;temp)</span><span style="color: #008000">//</span><span style="color: #008000">从从当前元素往右边找插入点</span><span style="color: #008000"><br />
</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;arr[j&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">1</span><span style="color: #000000">]&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;arr[j];</span><span style="color: #008000">//</span><span style="color: #008000">后移</span><span style="color: #008000"><br />
</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;j</span><span style="color: #000000">--</span><span style="color: #000000">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">(j&nbsp;</span><span style="color: #000000">==</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">-</span><span style="color: #800080">1</span><span style="color: #000000">)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">break</span><span style="color: #000000">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;arr[j&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">1</span><span style="color: #000000">]&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;temp;</span><span style="color: #008000">//</span><span style="color: #008000">前面已经后移了，会留下一个空位置，现在就插入</span><span style="color: #008000"><br />
</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;output(</span><span style="color: #0000ff">int</span><span style="color: #000000">[]&nbsp;arr)<br />
&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">for</span><span style="color: #000000">(</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;i&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">0</span><span style="color: #000000">;&nbsp;i&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">&nbsp;arr.length;i</span><span style="color: #000000">++</span><span style="color: #000000">)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Console.Write(</span><span style="color: #800000">"</span><span style="color: #800000">{0}\t</span><span style="color: #800000">"</span><span style="color: #000000">,arr[i]);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Console.WriteLine();<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;Main()<br />
&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">[]&nbsp;arr&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">[]{</span><span style="color: #800080">34</span><span style="color: #000000">,</span><span style="color: #800080">2</span><span style="color: #000000">,</span><span style="color: #800080">45</span><span style="color: #000000">,</span><span style="color: #800080">67</span><span style="color: #000000">,</span><span style="color: #800080">89</span><span style="color: #000000">,</span><span style="color: #800080">90</span><span style="color: #000000">};<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Console.WriteLine(</span><span style="color: #800000">"</span><span style="color: #800000">insert&nbsp;sort&nbsp;testing</span><span style="color: #800000">"</span><span style="color: #000000">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;output(arr);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;insertSort(arr);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Console.WriteLine(</span><span style="color: #800000">"</span><span style="color: #800000">insert&nbsp;sort&nbsp;OK</span><span style="color: #800000">"</span><span style="color: #000000">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;output(arr);<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
}</span></div>
<img src ="http://www.cnblogs.com/zhujian198/aggbug/1197121.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43591/" target="_blank">[新闻]为何Apple更精于UI设计 ？</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>javascript Function.apply学习</title><link>http://www.cnblogs.com/zhujian198/archive/2008/05/13/1195631.html</link><dc:creator>Jerson Ju</dc:creator><author>Jerson Ju</author><pubDate>Tue, 13 May 2008 11:09:00 GMT</pubDate><guid>http://www.cnblogs.com/zhujian198/archive/2008/05/13/1195631.html</guid><wfw:comment>http://www.cnblogs.com/zhujian198/comments/1195631.html</wfw:comment><comments>http://www.cnblogs.com/zhujian198/archive/2008/05/13/1195631.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/zhujian198/comments/commentRss/1195631.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/zhujian198/services/trackbacks/1195631.html</trackback:ping><description><![CDATA[&nbsp;<font face="Verdana">&nbsp;&nbsp; js现在框架很多，js oop编程也用的越来越多了。我也学习下，要不真的要落伍了。这里主要是讨论Function.apply函数的的使用。它有两种功能，第一种通常我们可以用它来做继承。第二种，我们可以用它来改变this的上下文。<br />
&nbsp;首先我们写个简单的人类：</font><br />
<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: #000000">&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">function</span><span style="color: #000000">&nbsp;Person(name,age)<br />
&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">this</span><span style="color: #000000">.name&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;name;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">this</span><span style="color: #000000">.age&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;age;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;Person.prototype.say&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">function</span><span style="color: #000000">()&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;alert(</span><span style="color: #000000">"</span><span style="color: #000000">name:</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">this</span><span style="color: #000000">.name&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">age:</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">this</span><span style="color: #000000">.age);<br />
&nbsp;&nbsp;&nbsp;&nbsp;}</span></div>
<br />
<font face="Verdana">接下来我们使用Function.apply来实现继承，当然继承还有其他方式，我这文章只说这种。</font><br />
<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: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">function</span><span style="color: #000000">&nbsp;Student(name,age,score)<br />
&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">this</span><span style="color: #000000">.score&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;score;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Person.apply(</span><span style="color: #0000ff">this</span><span style="color: #000000">,[name,age]);<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;Student.prototype.go&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">function</span><span style="color: #000000">()<br />
&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;alert(</span><span style="color: #000000">"</span><span style="color: #000000">score:</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">this</span><span style="color: #000000">.score&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">name:</span><span style="color: #000000">"</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">this</span><span style="color: #000000">.name);<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">var</span><span style="color: #000000">&nbsp;s&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;Student(</span><span style="color: #000000">"</span><span style="color: #000000">zhangsan</span><span style="color: #000000">"</span><span style="color: #000000">,</span><span style="color: #000000">34</span><span style="color: #000000">,</span><span style="color: #000000">89</span><span style="color: #000000">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;s.go();</span></div>
<br />
<p><font face="Verdana">这样就实现了继承。接下来，我们看apply的另一个功能。就是改变this的上下文。</font></p>
<p><font face="Verdana">下面我们来看段代码。看看它有什么问题。<br />
</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: #000000">&lt;</span><span style="color: #000000">BODY</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">img&nbsp;id&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">sdf</span><span style="color: #000000">"</span><span style="color: #000000">&gt;&lt;</span><span style="color: #000000">/</span><span style="color: #000000">img&gt;</span><span style="color: #000000"><br />
</span><span style="color: #000000">&lt;</span><span style="color: #000000">/</span><span style="color: #000000">BODY&gt;</span><span style="color: #000000"><br />
</span><span style="color: #000000">&lt;</span><span style="color: #000000">script&nbsp;type</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">text/javascript</span><span style="color: #000000">"</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #0000ff">function</span><span style="color: #000000">&nbsp;AdShower(uiImg)<br />
&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">this</span><span style="color: #000000">.uiImg&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;uiImg;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
AdShower.prototype.init&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">function</span><span style="color: #000000">()<br />
&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">this</span><span style="color: #000000">.uiImg.onmousemove</span><span style="color: #000000">=</span><span style="color: #0000ff">this</span><span style="color: #000000">.onmousemove;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AdShower.prototype.onmousemove&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">function</span><span style="color: #000000">()<br />
&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;alert(</span><span style="color: #0000ff">this</span><span style="color: #000000">.uiImg.outerHTML);</span><span style="color: #008000">//</span><span style="color: #008000">这里会报错</span><span style="color: #008000"><br />
</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">var</span><span style="color: #000000">&nbsp;s&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;document.getElementById(</span><span style="color: #000000">"</span><span style="color: #000000">sdf</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">var</span><span style="color: #000000">&nbsp;ss&nbsp;</span><span style="color: #000000">=</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;AdShower(s);<br />
&nbsp;&nbsp;&nbsp;&nbsp;ss.init();<br />
</span><span style="color: #000000">&lt;</span><span style="color: #000000">/</span><span style="color: #000000">script&gt;</span></div>
</font><br />
<p><font face="Verdana">为什么会报错呢，因为this上下文的问题。(具体可以看园子里有高人写的关于js this的各种情况)<br />
当对this.uiImg.onmousemove=this.onmousemove; 赋值后，this指针就指向了uiImg对象。<br />
那么<br />
AdShower.prototype.onmousemove = function()<br />
&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; alert(this.uiImg.outerHTML);//这个this代表uiImg对象 而不是我们认为的 AdShower<br />
&nbsp;&nbsp;&nbsp; }</font></p>
<p><font face="Verdana">所以就报错了。现在我们来使用function.apply来实现delegate<br />
<br />
</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: #000000">&lt;</span><span style="color: #000000">script&nbsp;type</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">text/javascript</span><span style="color: #000000">"</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />
Function.createDelegate&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">function</span><span style="color: #000000">(instance,&nbsp;method)<br />
&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">function</span><span style="color: #000000">()<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;method.apply(instance,&nbsp;arguments);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
</span><span style="color: #0000ff">function</span><span style="color: #000000">&nbsp;AdShower(uiImg)<br />
&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">this</span><span style="color: #000000">.uiImg&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;uiImg;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
AdShower.prototype.init&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">function</span><span style="color: #000000">()<br />
&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">this</span><span style="color: #000000">.uiImg.onmousemove&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">this</span><span style="color: #000000">.onmousemove;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AdShower.prototype.onmousemove&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">function</span><span style="color: #000000">()<br />
&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;alert(</span><span style="color: #0000ff">this</span><span style="color: #000000">.outerHTML);<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">var</span><span style="color: #000000">&nbsp;s&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;document.getElementById(</span><span style="color: #000000">"</span><span style="color: #000000">sdf</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">var</span><span style="color: #000000">&nbsp;ss&nbsp;</span><span style="color: #000000">=</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;AdShower(s);<br />
&nbsp;&nbsp;&nbsp;&nbsp;ss.init();<br />
</span><span style="color: #000000">&lt;</span><span style="color: #000000">/</span><span style="color: #000000">script&gt;</span></div>
<font face="Verdana"><br />
呵呵，可以了。</font><br />
</font>
 <img src ="http://www.cnblogs.com/zhujian198/aggbug/1195631.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43590/" target="_blank">[新闻]全球最快计算机排名 上海“魔方”进前十</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>c#快速排序</title><link>http://www.cnblogs.com/zhujian198/archive/2008/05/13/1195016.html</link><dc:creator>Jerson Ju</dc:creator><author>Jerson Ju</author><pubDate>Tue, 13 May 2008 04:44:00 GMT</pubDate><guid>http://www.cnblogs.com/zhujian198/archive/2008/05/13/1195016.html</guid><wfw:comment>http://www.cnblogs.com/zhujian198/comments/1195016.html</wfw:comment><comments>http://www.cnblogs.com/zhujian198/archive/2008/05/13/1195016.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cnblogs.com/zhujian198/comments/commentRss/1195016.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/zhujian198/services/trackbacks/1195016.html</trackback:ping><description><![CDATA[<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: #0000ff">using</span><span style="color: #000000">&nbsp;System;<br />
</span><span style="color: #008000">/*</span><span style="color: #008000"><br />
作者:朱剑<br />
描写：C#实现快速排序算法<br />
创建日期：2006/05/08<br />
</span><span style="color: #008000">*/</span><span style="color: #000000"><br />
</span><span style="color: #0000ff">namespace</span><span style="color: #000000">&nbsp;ConsoleApplication1<br />
{<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;DataStructDemo<br />
&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;swap(</span><span style="color: #0000ff">ref</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;a,</span><span style="color: #0000ff">ref</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;b)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;temp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;temp</span><span style="color: #000000">=</span><span style="color: #000000">a;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a</span><span style="color: #000000">=</span><span style="color: #000000">b;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;b</span><span style="color: #000000">=</span><span style="color: #000000">temp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;sort(</span><span style="color: #0000ff">int</span><span style="color: #000000">[]&nbsp;arr,</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;left,</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;right)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;i,j,s;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">(left&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">&nbsp;right)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i</span><span style="color: #000000">=</span><span style="color: #000000">left&nbsp;</span><span style="color: #000000">-</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">1</span><span style="color: #000000">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;j</span><span style="color: #000000">=</span><span style="color: #000000">right&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">1</span><span style="color: #000000">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;s</span><span style="color: #000000">=</span><span style="color: #000000">arr[(i&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;j)&nbsp;</span><span style="color: #000000">/</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">2</span><span style="color: #000000">];<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">while</span><span style="color: #000000">(</span><span style="color: #0000ff">true</span><span style="color: #000000">)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">while</span><span style="color: #000000">(arr[</span><span style="color: #000000">++</span><span style="color: #000000">i]</span><span style="color: #000000">&lt;</span><span style="color: #000000">s);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">while</span><span style="color: #000000">(arr[</span><span style="color: #000000">--</span><span style="color: #000000">j]</span><span style="color: #000000">&gt;</span><span style="color: #000000">s);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">