<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>耍下</title>
	<atom:link href="http://www.shuax.com/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://www.shuax.com</link>
	<description>专注实用、小巧、免费软件</description>
	<lastBuildDate>Wed, 08 Sep 2010 02:58:47 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>金山网游加速器完美破解</title>
		<link>http://www.shuax.com/?p=1776</link>
		<comments>http://www.shuax.com/?p=1776#comments</comments>
		<pubDate>Wed, 08 Sep 2010 02:58:47 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[原创软件]]></category>
		<category><![CDATA[破解]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1776</guid>
		<description><![CDATA[金山网游加速器完美破解 虽然名字叫做网游加速器，但是好像是VPN，我不懂，别拍我。 1、免费用户只能使用30分钟，我已经破解了，我修改后的程序不会计时。（真的吗 ？ ） 2、加速器运行的时候会自动检测迅雷、UT等下载工具 ，为了用来加速下载我也破了…… 3、此破解为直接修改主程序，把下载的附件解压后覆盖源程序就行了，然后你以前怎么用就怎么用 4、官方下载地址：http://js.kingsoft.com/down.shtml 5、我不能保证你也能破解成功。 下载地址：http://u.115.com/file/f0a5f19d9d]]></description>
			<content:encoded><![CDATA[<p>金山网游加速器完美破解    </p>
<p>虽然名字叫做网游加速器，但是好像是VPN，我不懂，别拍我。<br />
1、免费用户只能使用30分钟，我已经破解了，我修改后的程序不会计时。（真的吗 ？ ）<br />
2、加速器运行的时候会自动检测迅雷、UT等下载工具    ，为了用来加速下载我也破了……<br />
3、此破解为直接修改主程序，把下载的附件解压后覆盖源程序就行了，然后你以前怎么用就怎么用<br />
4、官方下载地址：http://js.kingsoft.com/down.shtml<br />
5、我不能保证你也能破解成功。<br />
<span id="more-1776"></span><br />
下载地址：<a href="http://u.115.com/file/f0a5f19d9d">http://u.115.com/file/f0a5f19d9d</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1776</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>[原创]通用游戏修改器</title>
		<link>http://www.shuax.com/?p=1771</link>
		<comments>http://www.shuax.com/?p=1771#comments</comments>
		<pubDate>Mon, 06 Sep 2010 05:20:37 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[原创软件]]></category>
		<category><![CDATA[游戏]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1771</guid>
		<description><![CDATA[既然是通用，那么只需要更换配置文件就可以给另一个游戏使用咯。 配置文件采用xml格式。 程序有mid背景音乐，有背景图片，有关于按钮。这些都是可以自定义的。 xml配置文件如下，适用于植物大战僵尸[英文年度版]： &#60;?xml version=&#34;1.0&#34;?&#62; &#60;通用游戏修改器 &#62; &#160; &#60;程序设置&#62; &#60;程序标题&#62;植物大战僵尸[英文年度版]修改器&#60;/程序标题&#62; &#60;是否多开&#62;否&#60;/是否多开&#62; &#60;窗口大小&#62;400,220&#60;/窗口大小&#62; &#60;关于我们&#62; &#60;坐标&#62;260,140&#60;/坐标&#62; &#60;说明&#62;欢迎使用耍下开发的通用游戏修改器。&#60;/说明&#62; &#60;网址&#62;http://www.shuax.com&#60;/网址&#62; &#60;/关于我们&#62; &#60;获得进程&#62; &#60;名称&#62;PlantsVsZombies.exe&#60;/名称&#62; &#60;类型&#62;进程名称&#60;/类型&#62; &#60;刷新&#62;500&#60;/刷新&#62; &#60;/获得进程&#62; &#160; &#60;!--进程类型可选：进程名称、窗口标题、窗口类名 --&#62; &#60;/程序设置&#62; &#160; &#60;游戏数据&#62; &#60;坐标&#62;260,15&#60;/坐标&#62; &#60;功能&#62; &#60;名称&#62;无限金钱&#60;/名称&#62; &#60;按键&#62;Ctrl+F1&#60;/按键&#62; &#60;!--快捷键仅支持Ctrl、Alt、Shift、F1-F12、A-Z、0-9(非小键盘)。--&#62; &#60;修改&#62; &#60;基址&#62;[[[00729670]+94c]]+50&#60;/基址&#62; &#60;!--基址均为16进制表示--&#62; &#60;内容&#62;99999&#60;/内容&#62; &#60;类型&#62;数据&#60;/类型&#62; &#60;/修改&#62; &#60;修改&#62; &#60;基址&#62;4976AC&#60;/基址&#62; &#60;内容&#62;90&#60;/内容&#62; &#60;类型&#62;代码&#60;/类型&#62; &#60;/修改&#62; &#60;/功能&#62; &#160; &#60;功能&#62; &#60;名称&#62;无限阳光&#60;/名称&#62; &#60;按键&#62;Ctrl+F2&#60;/按键&#62; &#60;修改&#62; &#60;基址&#62;[[[00729670]+868]]+5578&#60;/基址&#62; &#60;内容&#62;9990&#60;/内容&#62; &#60;类型&#62;数据&#60;/类型&#62; &#60;/修改&#62;]]></description>
			<content:encoded><![CDATA[<p>既然是通用，那么只需要更换配置文件就可以给另一个游戏使用咯。</p>
<p>配置文件采用xml格式。</p>
<p>程序有mid背景音乐，有背景图片，有关于按钮。这些都是可以自定义的。</p>
<p><span id="more-1771"></span>xml配置文件如下，适用于植物大战僵尸[英文年度版]：</p>

<div class="wp_codebox"><table><tr id="p17712"><td class="code" id="p1771code2"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;?xml</span> <span style="color: #000066;">version</span>=<span style="color: #ff0000;">&quot;1.0&quot;</span><span style="color: #000000; font-weight: bold;">?&gt;</span></span>
<span style="color: #009900;">&lt;通用游戏修改器 <span style="color: #000000; font-weight: bold;">&gt;</span></span>
&nbsp;
	<span style="color: #009900;">&lt;程序设置<span style="color: #000000; font-weight: bold;">&gt;</span></span>
		<span style="color: #009900;">&lt;程序标题<span style="color: #000000; font-weight: bold;">&gt;</span></span>植物大战僵尸[英文年度版]修改器<span style="color: #009900;">&lt;/程序标题<span style="color: #000000; font-weight: bold;">&gt;</span></span>
		<span style="color: #009900;">&lt;是否多开<span style="color: #000000; font-weight: bold;">&gt;</span></span>否<span style="color: #009900;">&lt;/是否多开<span style="color: #000000; font-weight: bold;">&gt;</span></span>
		<span style="color: #009900;">&lt;窗口大小<span style="color: #000000; font-weight: bold;">&gt;</span></span>400,220<span style="color: #009900;">&lt;/窗口大小<span style="color: #000000; font-weight: bold;">&gt;</span></span>
		<span style="color: #009900;">&lt;关于我们<span style="color: #000000; font-weight: bold;">&gt;</span></span>
			<span style="color: #009900;">&lt;坐标<span style="color: #000000; font-weight: bold;">&gt;</span></span>260,140<span style="color: #009900;">&lt;/坐标<span style="color: #000000; font-weight: bold;">&gt;</span></span>
			<span style="color: #009900;">&lt;说明<span style="color: #000000; font-weight: bold;">&gt;</span></span>欢迎使用耍下开发的通用游戏修改器。<span style="color: #009900;">&lt;/说明<span style="color: #000000; font-weight: bold;">&gt;</span></span>
			<span style="color: #009900;">&lt;网址<span style="color: #000000; font-weight: bold;">&gt;</span></span>http://www.shuax.com<span style="color: #009900;">&lt;/网址<span style="color: #000000; font-weight: bold;">&gt;</span></span>
		<span style="color: #009900;">&lt;/关于我们<span style="color: #000000; font-weight: bold;">&gt;</span></span>
		<span style="color: #009900;">&lt;获得进程<span style="color: #000000; font-weight: bold;">&gt;</span></span>
			<span style="color: #009900;">&lt;名称<span style="color: #000000; font-weight: bold;">&gt;</span></span>PlantsVsZombies.exe<span style="color: #009900;">&lt;/名称<span style="color: #000000; font-weight: bold;">&gt;</span></span>
			<span style="color: #009900;">&lt;类型<span style="color: #000000; font-weight: bold;">&gt;</span></span>进程名称<span style="color: #009900;">&lt;/类型<span style="color: #000000; font-weight: bold;">&gt;</span></span>
			<span style="color: #009900;">&lt;刷新<span style="color: #000000; font-weight: bold;">&gt;</span></span>500<span style="color: #009900;">&lt;/刷新<span style="color: #000000; font-weight: bold;">&gt;</span></span>
		<span style="color: #009900;">&lt;/获得进程<span style="color: #000000; font-weight: bold;">&gt;</span></span>
&nbsp;
		<span style="color: #808080; font-style: italic;">&lt;!--进程类型可选：进程名称、窗口标题、窗口类名 --&gt;</span>
	<span style="color: #009900;">&lt;/程序设置<span style="color: #000000; font-weight: bold;">&gt;</span></span>
&nbsp;
	<span style="color: #009900;">&lt;游戏数据<span style="color: #000000; font-weight: bold;">&gt;</span></span>
		<span style="color: #009900;">&lt;坐标<span style="color: #000000; font-weight: bold;">&gt;</span></span>260,15<span style="color: #009900;">&lt;/坐标<span style="color: #000000; font-weight: bold;">&gt;</span></span>
		<span style="color: #009900;">&lt;功能<span style="color: #000000; font-weight: bold;">&gt;</span></span>
			<span style="color: #009900;">&lt;名称<span style="color: #000000; font-weight: bold;">&gt;</span></span>无限金钱<span style="color: #009900;">&lt;/名称<span style="color: #000000; font-weight: bold;">&gt;</span></span>
			<span style="color: #009900;">&lt;按键<span style="color: #000000; font-weight: bold;">&gt;</span></span>Ctrl+F1<span style="color: #009900;">&lt;/按键<span style="color: #000000; font-weight: bold;">&gt;</span></span>
			<span style="color: #808080; font-style: italic;">&lt;!--快捷键仅支持Ctrl、Alt、Shift、F1-F12、A-Z、0-9(非小键盘)。--&gt;</span>
			<span style="color: #009900;">&lt;修改<span style="color: #000000; font-weight: bold;">&gt;</span></span>
				<span style="color: #009900;">&lt;基址<span style="color: #000000; font-weight: bold;">&gt;</span></span>[[[00729670]+94c]]+50<span style="color: #009900;">&lt;/基址<span style="color: #000000; font-weight: bold;">&gt;</span></span>
				<span style="color: #808080; font-style: italic;">&lt;!--基址均为16进制表示--&gt;</span>
				<span style="color: #009900;">&lt;内容<span style="color: #000000; font-weight: bold;">&gt;</span></span>99999<span style="color: #009900;">&lt;/内容<span style="color: #000000; font-weight: bold;">&gt;</span></span>
				<span style="color: #009900;">&lt;类型<span style="color: #000000; font-weight: bold;">&gt;</span></span>数据<span style="color: #009900;">&lt;/类型<span style="color: #000000; font-weight: bold;">&gt;</span></span>
			<span style="color: #009900;">&lt;/修改<span style="color: #000000; font-weight: bold;">&gt;</span></span>
			<span style="color: #009900;">&lt;修改<span style="color: #000000; font-weight: bold;">&gt;</span></span>
				<span style="color: #009900;">&lt;基址<span style="color: #000000; font-weight: bold;">&gt;</span></span>4976AC<span style="color: #009900;">&lt;/基址<span style="color: #000000; font-weight: bold;">&gt;</span></span>
				<span style="color: #009900;">&lt;内容<span style="color: #000000; font-weight: bold;">&gt;</span></span>90<span style="color: #009900;">&lt;/内容<span style="color: #000000; font-weight: bold;">&gt;</span></span>
				<span style="color: #009900;">&lt;类型<span style="color: #000000; font-weight: bold;">&gt;</span></span>代码<span style="color: #009900;">&lt;/类型<span style="color: #000000; font-weight: bold;">&gt;</span></span>
			<span style="color: #009900;">&lt;/修改<span style="color: #000000; font-weight: bold;">&gt;</span></span>
		<span style="color: #009900;">&lt;/功能<span style="color: #000000; font-weight: bold;">&gt;</span></span>
&nbsp;
		<span style="color: #009900;">&lt;功能<span style="color: #000000; font-weight: bold;">&gt;</span></span>
			<span style="color: #009900;">&lt;名称<span style="color: #000000; font-weight: bold;">&gt;</span></span>无限阳光<span style="color: #009900;">&lt;/名称<span style="color: #000000; font-weight: bold;">&gt;</span></span>
			<span style="color: #009900;">&lt;按键<span style="color: #000000; font-weight: bold;">&gt;</span></span>Ctrl+F2<span style="color: #009900;">&lt;/按键<span style="color: #000000; font-weight: bold;">&gt;</span></span>
			<span style="color: #009900;">&lt;修改<span style="color: #000000; font-weight: bold;">&gt;</span></span>
				<span style="color: #009900;">&lt;基址<span style="color: #000000; font-weight: bold;">&gt;</span></span>[[[00729670]+868]]+5578<span style="color: #009900;">&lt;/基址<span style="color: #000000; font-weight: bold;">&gt;</span></span>
				<span style="color: #009900;">&lt;内容<span style="color: #000000; font-weight: bold;">&gt;</span></span>9990<span style="color: #009900;">&lt;/内容<span style="color: #000000; font-weight: bold;">&gt;</span></span>
				<span style="color: #009900;">&lt;类型<span style="color: #000000; font-weight: bold;">&gt;</span></span>数据<span style="color: #009900;">&lt;/类型<span style="color: #000000; font-weight: bold;">&gt;</span></span>
			<span style="color: #009900;">&lt;/修改<span style="color: #000000; font-weight: bold;">&gt;</span></span>
			<span style="color: #009900;">&lt;修改<span style="color: #000000; font-weight: bold;">&gt;</span></span>
				<span style="color: #009900;">&lt;基址<span style="color: #000000; font-weight: bold;">&gt;</span></span>41E846<span style="color: #009900;">&lt;/基址<span style="color: #000000; font-weight: bold;">&gt;</span></span>
				<span style="color: #009900;">&lt;内容<span style="color: #000000; font-weight: bold;">&gt;</span></span>90 90 90 90 90 90<span style="color: #009900;">&lt;/内容<span style="color: #000000; font-weight: bold;">&gt;</span></span>
				<span style="color: #009900;">&lt;类型<span style="color: #000000; font-weight: bold;">&gt;</span></span>代码<span style="color: #009900;">&lt;/类型<span style="color: #000000; font-weight: bold;">&gt;</span></span>
			<span style="color: #009900;">&lt;/修改<span style="color: #000000; font-weight: bold;">&gt;</span></span>
		<span style="color: #009900;">&lt;/功能<span style="color: #000000; font-weight: bold;">&gt;</span></span>
&nbsp;
		<span style="color: #009900;">&lt;功能<span style="color: #000000; font-weight: bold;">&gt;</span></span>
			<span style="color: #009900;">&lt;名称<span style="color: #000000; font-weight: bold;">&gt;</span></span>无需冷却<span style="color: #009900;">&lt;/名称<span style="color: #000000; font-weight: bold;">&gt;</span></span>
			<span style="color: #009900;">&lt;按键<span style="color: #000000; font-weight: bold;">&gt;</span></span>Ctrl+F3<span style="color: #009900;">&lt;/按键<span style="color: #000000; font-weight: bold;">&gt;</span></span>
			<span style="color: #009900;">&lt;修改<span style="color: #000000; font-weight: bold;">&gt;</span></span>
				<span style="color: #009900;">&lt;基址<span style="color: #000000; font-weight: bold;">&gt;</span></span>493aa3<span style="color: #009900;">&lt;/基址<span style="color: #000000; font-weight: bold;">&gt;</span></span>
				<span style="color: #009900;">&lt;内容<span style="color: #000000; font-weight: bold;">&gt;</span></span>90 90 90 90<span style="color: #009900;">&lt;/内容<span style="color: #000000; font-weight: bold;">&gt;</span></span>
				<span style="color: #009900;">&lt;类型<span style="color: #000000; font-weight: bold;">&gt;</span></span>代码<span style="color: #009900;">&lt;/类型<span style="color: #000000; font-weight: bold;">&gt;</span></span>
			<span style="color: #009900;">&lt;/修改<span style="color: #000000; font-weight: bold;">&gt;</span></span>
			<span style="color: #009900;">&lt;修改<span style="color: #000000; font-weight: bold;">&gt;</span></span>
				<span style="color: #009900;">&lt;基址<span style="color: #000000; font-weight: bold;">&gt;</span></span>49486c<span style="color: #009900;">&lt;/基址<span style="color: #000000; font-weight: bold;">&gt;</span></span>
				<span style="color: #009900;">&lt;内容<span style="color: #000000; font-weight: bold;">&gt;</span></span>90 90 90 90<span style="color: #009900;">&lt;/内容<span style="color: #000000; font-weight: bold;">&gt;</span></span>
				<span style="color: #009900;">&lt;类型<span style="color: #000000; font-weight: bold;">&gt;</span></span>代码<span style="color: #009900;">&lt;/类型<span style="color: #000000; font-weight: bold;">&gt;</span></span>
			<span style="color: #009900;">&lt;/修改<span style="color: #000000; font-weight: bold;">&gt;</span></span>
			<span style="color: #009900;">&lt;修改<span style="color: #000000; font-weight: bold;">&gt;</span></span>
				<span style="color: #009900;">&lt;基址<span style="color: #000000; font-weight: bold;">&gt;</span></span>49482c<span style="color: #009900;">&lt;/基址<span style="color: #000000; font-weight: bold;">&gt;</span></span>
				<span style="color: #009900;">&lt;内容<span style="color: #000000; font-weight: bold;">&gt;</span></span>90 90 90 90<span style="color: #009900;">&lt;/内容<span style="color: #000000; font-weight: bold;">&gt;</span></span>
				<span style="color: #009900;">&lt;类型<span style="color: #000000; font-weight: bold;">&gt;</span></span>代码<span style="color: #009900;">&lt;/类型<span style="color: #000000; font-weight: bold;">&gt;</span></span>
			<span style="color: #009900;">&lt;/修改<span style="color: #000000; font-weight: bold;">&gt;</span></span>
		<span style="color: #009900;">&lt;/功能<span style="color: #000000; font-weight: bold;">&gt;</span></span>
	<span style="color: #009900;">&lt;/游戏数据<span style="color: #000000; font-weight: bold;">&gt;</span></span>
&nbsp;
	<span style="color: #808080; font-style: italic;">&lt;!--其他--&gt;</span>
&nbsp;
<span style="color: #009900;">&lt;/通用游戏修改器<span style="color: #000000; font-weight: bold;">&gt;</span></span></pre></td></tr></table></div>

<p>程序下载地址（包含源代码，欢迎各位喜欢的同学一起修改）：<br />
<a href='http://www.shuax.com/wp-content/uploads/2010/09/通用游戏修改器.rar'>通用游戏修改器</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1771</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Cheat Engine 5.6.1 汉化版</title>
		<link>http://www.shuax.com/?p=1767</link>
		<comments>http://www.shuax.com/?p=1767#comments</comments>
		<pubDate>Thu, 02 Sep 2010 06:14:43 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[实用软件]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1767</guid>
		<description><![CDATA[Cheat Engine是一款内存修改编辑工具，它允许你修改你的游戏内存，所以你将得到其他人没有的功能。它包括16进制编辑，反汇编程序，内存查找工具。与同类修改工具相比，它具有强大的反汇编功能，且自身附带了外挂制作工具，可以用它直接生成外挂。 此汉化版已经包含了Tutorial.exe的汉化，利用它你可以非常容易的上手Cheat Engine。 下载地址：http://u.115.com/file/f0d5c9ad4b 本来还上传了个植物大战僵尸英文年度版给大家练练手的，结果115上传失败了……5555.]]></description>
			<content:encoded><![CDATA[<p>Cheat Engine是一款内存修改编辑工具，它允许你修改你的游戏内存，所以你将得到其他人没有的功能。它包括16进制编辑，反汇编程序，内存查找工具。与同类修改工具相比，它具有强大的反汇编功能，且自身附带了外挂制作工具，可以用它直接生成外挂。</p>
<p>此汉化版已经包含了Tutorial.exe的汉化，利用它你可以非常容易的上手Cheat Engine。</p>
<p><span id="more-1767"></span></p>
<p>下载地址：<a href="http://u.115.com/file/f0d5c9ad4b" target="_blank">http://u.115.com/file/f0d5c9ad4b</a></p>
<p>本来还上传了个植物大战僵尸英文年度版给大家练练手的，结果115上传失败了……5555.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1767</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>[原创]字符替换工具 v1.1</title>
		<link>http://www.shuax.com/?p=1764</link>
		<comments>http://www.shuax.com/?p=1764#comments</comments>
		<pubDate>Mon, 30 Aug 2010 03:05:13 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[原创软件]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1764</guid>
		<description><![CDATA[到学校了，因为图书馆没开门，所以这几天没上网。 本工具支持字符编码：ANSI,UTF-8,UNICODE。采用内存映射文件以及一个高速搜索算法，查询速度非常快。 支持搜索单个文件或递归整个目录，支持拖拽打开文件。 下载地址： 字符替换工具 v1.1 文件大小：13.0 KB&#12288;文件名称：CharacterReplaceExpert.7z]]></description>
			<content:encoded><![CDATA[<p><em>到学校了，因为图书馆没开门，所以这几天没上网。</em><br />
本工具支持字符编码：ANSI,UTF-8,UNICODE。采用内存映射文件以及一个高速搜索算法，查询速度非常快。<br />
支持搜索单个文件或递归整个目录，支持拖拽打开文件。<br />
<span id="more-1764"></span><br />
<a class="lightbox" href="http://www.shuax.com/wp-content/uploads/2010/08/text.jpg"><img src="http://www.shuax.com/wp-content/uploads/2010/08/text.jpg" alt="" title="text" width="574" height="508" class="aligncenter size-full wp-image-1765" /></a><br />
下载地址：<div class='download-link'>
							<a href='http://www.shuax.com/download.php?file=http://www.shuax.com/download/CharacterReplaceExpert.7z'><img alt='Download' class='leftalign' src='http://www.shuax.com/wp-content/plugins/dBeautifier/icons/downloads.png' /></a>
							<h4>
								<a href='http://www.shuax.com/download.php?file=http://www.shuax.com/download/CharacterReplaceExpert.7z'>字符替换工具 v1.1</a>
							</h4><p>文件大小：13.0 KB&#12288;文件名称：CharacterReplaceExpert.7z</p>
						</div></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1764</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>utorrent 2.0.3绿色美化版</title>
		<link>http://www.shuax.com/?p=1759</link>
		<comments>http://www.shuax.com/?p=1759#comments</comments>
		<pubDate>Mon, 23 Aug 2010 00:02:34 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[实用软件]]></category>
		<category><![CDATA[下载]]></category>
		<category><![CDATA[美化]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1759</guid>
		<description><![CDATA[很小，但很强大。PT下载必备工具。 速度快，效率高，而且免费。 µTorrent 是全球最流行的 BitTorrent 客户端。 本版本为绿色版，您可以方便的进行备份种子。并且集成了来自梦梦的Gollum皮肤。 下载地址：http://u.115.com/file/f0537210be]]></description>
			<content:encoded><![CDATA[<p>很小，但很强大。PT下载必备工具。<br />
速度快，效率高，而且免费。 µTorrent 是全球最流行的 BitTorrent 客户端。</p>
<p>本版本为绿色版，您可以方便的进行备份种子。并且集成了来自梦梦的Gollum皮肤。<br />
<a class="lightbox" href="http://www.shuax.com/wp-content/uploads/2010/08/ut.jpg"><img src="http://www.shuax.com/wp-content/uploads/2010/08/ut.jpg" alt="" title="ut" width="579" height="221" class="aligncenter size-full wp-image-1760" /></a><br />
<span id="more-1759"></span><br />
下载地址：<a href="http://u.115.com/file/f0537210be">http://u.115.com/file/f0537210be</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1759</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Bloxorz立体推箱子</title>
		<link>http://www.shuax.com/?p=1756</link>
		<comments>http://www.shuax.com/?p=1756#comments</comments>
		<pubDate>Sat, 21 Aug 2010 00:47:12 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[实用软件]]></category>
		<category><![CDATA[游戏]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1756</guid>
		<description><![CDATA[这是一款益智游戏。是用键盘方向键操纵一块立体柱子，使其掉入设计的洞中。不过，千万不要翻滚出界，要不然就直接掉下去了。 汉化版下载地址：http://u.115.com/file/f0cdb04034]]></description>
			<content:encoded><![CDATA[<p>这是一款益智游戏。是用键盘方向键操纵一块立体柱子，使其掉入设计的洞中。不过，千万不要翻滚出界，要不然就直接掉下去了。<br />
<a class="lightbox" href="http://www.shuax.com/wp-content/uploads/2010/08/blox.jpg"><img src="http://www.shuax.com/wp-content/uploads/2010/08/blox.jpg" alt="" title="blox" width="472" height="222" class="aligncenter size-full wp-image-1757" /></a><br />
<span id="more-1756"></span><br />
汉化版下载地址：<a href="http://u.115.com/file/f0cdb04034">http://u.115.com/file/f0cdb04034</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1756</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>kkrieger小巧的3D游戏</title>
		<link>http://www.shuax.com/?p=1752</link>
		<comments>http://www.shuax.com/?p=1752#comments</comments>
		<pubDate>Fri, 20 Aug 2010 02:33:37 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[实用软件]]></category>
		<category><![CDATA[游戏]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1752</guid>
		<description><![CDATA[kkrieger是一个只有95kb的3D射击游戏。 WASD，控制方向 空格，跳跃 鼠标左键，射击 官方网站：http://www.theprodukkt.com/kkrieger 上面还有很多其它的3D程序，都非常小巧。 看看这截图，效果还是不错的： 下载地址： kkrieger-beta 文件大小：97.8 KB&#12288;文件名称：kkrieger-beta.zip]]></description>
			<content:encoded><![CDATA[<p>kkrieger是一个只有95kb的3D射击游戏。<br />
WASD，控制方向<br />
空格，跳跃<br />
鼠标左键，射击<br />
官方网站：http://www.theprodukkt.com/kkrieger</p>
<p>上面还有很多其它的3D程序，都非常小巧。</p>
<p>看看这截图，效果还是不错的：</p>
<p><span id="more-1752"></span><br />
<a class="lightbox" href="http://www.shuax.com/wp-content/uploads/2010/08/full2.jpg"><img class="aligncenter size-full wp-image-1753" title="full2" src="http://www.shuax.com/wp-content/uploads/2010/08/full2.jpg" alt="" width="800" height="600" /></a><br />
下载地址：<div class='download-link'>
							<a href='http://www.shuax.com/download.php?file=http://www.shuax.com/wp-content/uploads/2010/08/kkrieger-beta.zip'><img alt='Download' class='leftalign' src='http://www.shuax.com/wp-content/plugins/dBeautifier/icons/downloads.png' /></a>
							<h4>
								<a href='http://www.shuax.com/download.php?file=http://www.shuax.com/wp-content/uploads/2010/08/kkrieger-beta.zip'>kkrieger-beta</a>
							</h4><p>文件大小：97.8 KB&#12288;文件名称：kkrieger-beta.zip</p>
						</div></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1752</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>[转]关于断点的那点事</title>
		<link>http://www.shuax.com/?p=1749</link>
		<comments>http://www.shuax.com/?p=1749#comments</comments>
		<pubDate>Thu, 19 Aug 2010 08:53:45 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[程序开发]]></category>
		<category><![CDATA[调试]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1749</guid>
		<description><![CDATA[拦截窗口： bp CreateWindow 创建窗口 bp CreateWindowEx(A) 创建窗口 bp ShowWindow 显示窗口 bp UpdateWindow 更新窗口 bp GetWindowText(A) 获取窗口文本 拦截消息框： bp MessageBox(A) 创建消息框 bp MessageBoxExA 创建消息框 bp MessageBoxIndirect(A) 创建定制消息框 拦截警告声： bp MessageBeep 发出系统警告声(如果没有声卡就直接驱动系统喇叭发声) 拦截对话框： bp DialogBox 创建模态对话框 bp DialogBoxParam(A) 创建模态对话框 bp DialogBoxIndirect 创建模态对话框 bp DialogBoxIndirectParam(A) 创建模态对话框 bp CreateDialog 创建非模态对话框 bp CreateDialogParam(A) 创建非模态对话框 bp CreateDialogIndirect 创建非模态对话框 bp CreateDialogIndirectParam(A) 创建非模态对话框]]></description>
			<content:encoded><![CDATA[<p>拦截窗口：<br />
bp CreateWindow 创建窗口<br />
bp CreateWindowEx(A) 创建窗口<br />
bp ShowWindow 显示窗口<br />
bp UpdateWindow 更新窗口<br />
bp GetWindowText(A) 获取窗口文本<br />
拦截消息框：<br />
bp MessageBox(A) 创建消息框<br />
bp MessageBoxExA 创建消息框<br />
bp MessageBoxIndirect(A) 创建定制消息框</p>
<p><span id="more-1749"></span><br />
拦截警告声：<br />
bp MessageBeep 发出系统警告声(如果没有声卡就直接驱动系统喇叭发声)<br />
拦截对话框：<br />
bp DialogBox 创建模态对话框<br />
bp DialogBoxParam(A) 创建模态对话框<br />
bp DialogBoxIndirect 创建模态对话框<br />
bp DialogBoxIndirectParam(A) 创建模态对话框<br />
bp CreateDialog 创建非模态对话框<br />
bp CreateDialogParam(A) 创建非模态对话框<br />
bp CreateDialogIndirect 创建非模态对话框<br />
bp CreateDialogIndirectParam(A) 创建非模态对话框<br />
bp GetDlgItemText(A) 获取对话框文本<br />
bp GetDlgItemInt 获取对话框整数值<a name="entrymore"></a><br />
拦截剪贴板：<br />
bp GetClipboardData 获取剪贴板数据<br />
拦截注册表：<br />
bp RegOpenKey(A) 打开子健<br />
bp RegOpenKeyEx 打开子健<br />
bp RegQueryValue(A) 查找子健<br />
bp RegQueryValueEx 查找子健<br />
bp RegSetValue(A) 设置子健<br />
bp RegSetValueEx(A) 设置子健<br />
功能限制拦截断点：<br />
bp EnableMenuItem 禁止或允许菜单项<br />
bp EnableWindow 禁止或允许窗口<br />
拦截时间：<br />
bp GetLocalTime 获取本地时间<br />
bp GetSystemTime 获取系统时间<br />
bp GetFileTime 获取文件时间<br />
bp GetTickCount 获得自系统成功启动以来所经历的毫秒数<br />
bp GetCurrentTime 获取当前时间（16位）<br />
bp SetTimer 创建定时器<br />
bp TimerProc 定时器超时回调函数<br />
拦截文件：<br />
bp CreateFileA 创建或打开文件 (32位)<br />
bp OpenFile 打开文件        (32位)<br />
bp ReadFile 读文件          (32位)<br />
bp WriteFile 写文件          (32位)<br />
bp GetPrivateProfileStringA (ini文件)<br />
拦截驱动器：<br />
bp GetDriveTypeA 获取磁盘驱动器类型<br />
bp GetLogicalDrives 获取逻辑驱动器符号<br />
bp GetLogicalDriveStringsA 获取当前所有逻辑驱动器的根驱动器路径</p>
<p>★★VB程序专用断点★★<br />
bp __vbaStrCmp 比较字符串是否相等<br />
bp __vbaStrComp 比较字符串是否相等<br />
bp __vbaVarTstNe 比较变量是否不相等<br />
bp __vbaVarTstEq 比较变量是否相等<br />
bp __vbaStrCopy 复制字符串<br />
bp __vbaStrMove 移动字符串<br />
bp MultiByteToWideChar ANSI字符串转换成Unicode字符串<br />
bp WideCharToMultiByte Unicode字符串转换成ANSI字符串<br />
解自校验<br />
bpx CreateFileA<br />
bpx GetFileSize<br />
bpx SetFilePointer<br />
bpx ExitProcess<br />
F12堆栈调用<br />
破解思路<br />
C类<br />
Point-H法<br />
bp GetDlgItem(断输入框)<br />
bp MessageBoxA(断对话框)<br />
字符串法<br />
F12堆栈调用<br />
B、D类<br />
DEDE、PE Explorer作为强有力的辅助工具<br />
关键还是找按妞事件<br />
Point-H法<br />
bp GetDlgItem(断输入框)<br />
bp MessageBoxA(断对话框)<br />
字符串法<br />
F12堆栈调用<br />
V类<br />
VBExplorer、GetVBRes、SmatCheck作为强有力的辅助工具<br />
关键还是找按妞事件<br />
bp rtcMsgBox(断对话框)<br />
*********************************<br />
如果是重启验证就使用最开始的那些断点</p>
<p>C类语言破解<br />
1、bp MessageBoxA(W)(断对话框)&#8212;Ctrl+N<br />
2、Point-H法<br />
3、bp GetDlgItem/GetWindowTextA(W)/GetWindowTextLengthA(W) (断输入框)<br />
4、字符串法&#8212;插件/搜索所有参考文本</p>
<p>Delphi/BC++语言破解<br />
1、DEDE结合PE Explorer找按妞事件<br />
2、Point-H法<br />
3、bp GetDlgItem/GetWindowTextA(W)/GetWindowTextLengthA(W) (断输入框)<br />
4、bp MessageBoxA(W)(断对话框)&#8212;Ctrl+N<br />
5、字符串法&#8212;插件/搜索所有参考文本<br />
6、如果程序界面标题有[未注册/注册/VIP版/标准版/钻石版] 之类字样，可以通过DEDE查找FormCreate/FormShow，找到关键标志位</p>
<p>VB语言破解<br />
1、VBExplorer查找按钮事件<br />
2、有提示框则   bp rtcMsgBox(断对话框)<br />
3、通过bp __vbaStrCmp/__vbaStrComp/__vbaVarTstEq<br />
4、万能断点法(816C24法)<br />
5、字符串法&#8212;插件/搜索所有参考文本</p>
<p>易语言破解<br />
1、借助E-Code Explorer查找按钮事件<br />
2、下消息断点，查看堆栈再返回<br />
3、eCode法&#8211;断按钮事件<br />
4、字符串法&#8212;插件/搜索所有参考文本<br />
按钮事件固定模式：<br />
0040EC78      837D F4 00       cmp dword ptr ss:[ebp-C],0          ；关键判断<br />
0040EC7C      0F84 3B000000    je dcse.0040ECBD                     ；关键跳<br />
0040EC82      68 04000080      push 80000004<br />
0040EC87      6A 00            push 0<br />
0040EC89      68 EC904000      push dcse.004090EC<br />
0040EC8E      68 01030080      push 80000301<br />
0040EC93      6A 00            push 0<br />
00 40EC95      68 00000000      push 0<br />
0040EC9A      68 04000080      push 80000004<br />
0040EC9F      6A 00            push 0<br />
0040ECA1      68 F1904000      push dcse.004090F1<br />
0040ECA6      68 03000000      push 3<br />
0040ECAB      BB 00030000      mov ebx,300<br />
0040ECB0      E8 92000000      call dcse.0040ED47<br />
0040ECB5      83C4 28          add esp,28<br />
0040ECB8      E9 36000000      jmp dcse.0040ECF3<br />
0040ECBD      68 04000080      push 80000004<br />
0040ECC2      6A 00            push 0<br />
0040ECC4      68 CC904000      push dcse.004090CC<br />
0040ECC9      68 01030080      push 80000301<br />
0040ECCE      6A 00            push 0<br />
0040ECD0      68 00000000      push 0<br />
0040ECD5      68 04000080      push 80000004<br />
0040ECDA      6A 00            push 0<br />
0040ECDC      68 02914000      push dcse.00409102<br />
0040ECE1      68 03000000      push 3<br />
0040ECE6      BB 00030000      mov ebx,300<br />
0040ECEB      E8 57000000      call dcse.0040ED47<br />
0040ECF0      83C4 28          add esp,28<br />
0040ECF3      8BE5             mov esp,ebp<br />
0040ECF5      5D               pop ebp<br />
0040ECF6      C3               retn</p>
<p>******************************************************************************************************************************************<br />
按钮事件</p>
<p>1、有注册错误/正确提示<br />
bp MessageBoxA<br />
bp rtcMsgBox<br />
如果事先找不到按钮事件，可以通过下消息断点，返回后回溯即可找到按钮事件起始位置</p>
<p>2、无任何提示<br />
bp GetDlgItem<br />
可以通过bp GetDlgItem获取按钮事件代码</p>
<p>3、未注册一启动或者关闭就跳出个注册框或者提示框<br />
bp RegOpenKey(A)<br />
bp CreateFileA<br />
bp GetPrivateProfileStringA<br />
文件: reg/ini/dll/其他<br />
至于保存到什么文件，可以使用以下方法<br />
1、查找字符串，看是否有可疑文件名或者注册表键名<br />
2、猜。。。下断点观察<br />
3、按钮事件跟踪</p>
<p>4、未注册一启动或者关闭就打开网页链接<br />
bp ShellExecuteA<br />
类似的组合<br />
Cmp/test/其他判断<br />
Je/jne/jne/jz XXXXXXXX<br />
软件启动&#8212;&gt;判断是否注册&#8212;&gt;是否Open<br />
断下后回溯代码即可找到关键点，常用的方法，转存跟踪法</p>
<p>5、未注册就功能使用限制<br />
判断是否注册&#8212;&gt;某种功能是否让你使用,如果不能够用，一定会有提示的，或是错误提示或是弹出注册框等，那么从提示入手即可找到解除限制的关键<br />
不完美破解：解除功能限制</p>
<p>6、未注册就日期限制<br />
bp GetLocalTime 获取本地时间<br />
bp GetSystemTime 获取系统时间<br />
bp GetFileTime 获取文件时间<br />
一般下这几个断点比较难分析关键<br />
捷径:查找字符串&#8211;找可疑文件&#8211;一般以DLL多见<br />
只要不让它读取到这个DLL即可解除限制</p>
<p>7、Demo(演示试用版)&#8211;功能残缺<br />
这个和上面的功能限制不一样<br />
功能限制是软件本身就有这个功能，对程序而言，相对应的功能代码也存在<br />
Demo即是没这个功能，空架子一个而已<br />
一句话：破解也无用！</p>
<p>8、网络验证<br />
无法登陆有错误提示者：下消息断点回溯代码，找按钮事件，从头来过，从按钮事件开始跟踪，找网络验证CALL(所需要登陆的地址在这个CALL里面)，接下来就是分析返回值或者改登陆地址为本地(127.0.0.1)，再后面就需要改某些跳转了<br />
无法登陆自动退出者：下bp ExitProcess断下(一般可以断下)回溯代码，找按钮事件，从来来过，从按钮事件开始跟踪，找网络验证CALL(所需要登陆的地址在这个CALL里面)，接下来就是分析返回值或者改登陆地址为本地(127.0.0.1)，再后面就需要改某些跳转了</p>
<p>9、狗加密<br />
一般狗加密软件，一启动就会检测所需要的狗文件，若没有狗文件，提示错误<br />
这里我们有两个入手点<br />
1、“一启动就会检测所需要的狗文件”，下bp CreateFileA等断点，断下后，回溯<br />
2、“若没有狗文件，提示错误”，下bp MessageBoxA，断下后，回溯</p>
<p>总结：<br />
从上面的介绍说明可以看出，有这么一个共同点&#8212;按钮事件，可以这么说，按钮事件是我们的思路之门<br />
按钮事件可以这样得来：<br />
1、通过下相应断点，回溯代码<br />
2、通过辅助工具快捷的得到（VBExplorer、DEDE）</p>
<p>******************************************************************************************************************************************<br />
重启验证<br />
80%-90%的软件基本都是重启验证类型</p>
<p>1、注册表类型<br />
Bpx RegOpenKeyA(W)<br />
Bpx RegOpenKeyExA(W)<br />
2、ini文件类型(*.reg/*.ini)<br />
Bpx GetPrivateProfileStringA<br />
3、其他文件类型(*.dat/*.lic…)<br />
Bpx CreateFileA(W)<br />
Bpx ReadFile<br />
4、DLL文件操作类型<br />
如果没有什么有效的拦截函数，不妨试一下Bpx CreateFileA(W).余下的就是通过你的经验去判断了(例如：35课)<br />
注意：建议使用Bpx断点，这样，比较快捷、准确。尚若Bpx失效，再尝试bp<br />
方便断点设置的有以下3个断点插件，APIBreak中国版(不带Point-H)，APIBreak英文版(带Point-H)、+BP-Olly</p>
<p>******************************************************************************************************************************************<br />
去nag框的方法</p>
<p>1、若是Delphi&amp;BCB程序，可以通过FormCreate法查找到FormCreate，再单步跟踪，找到窗口的调用CALL，一般它的具体形式是call dword ptr ds:[edx+E8]</p>
<p>2、OD载入程序后，单步跟踪，找到窗口的调用CALL<br />
注意看第37课</p>
<p>******************************************************************************************************************************************<br />
两种经典方法</p>
<p>1、Point-H法<br />
此法类似下断点bp GetWindowText(A/W)，但是，在某些Point-H断不下来的情况下，bp GetWindowText(A/W)却可以断下来。Point-H能够断下来的，bp GetWindowTextA基本上都可以顺利断下</p>
<p>2、转存跟踪法<br />
到底是byte/word/Dword断点，一般情况下是byte，其他特殊情况大家临场判断</p>
<p>******************************************************************************************************************************************<br />
一些常规断点</p>
<p>拦截窗口：<br />
bp CreateWindow 创建窗口<br />
bp CreateWindowEx(A/W) 创建窗口<br />
bp ShowWindow 显示窗口<br />
bp UpdateWindow 更新窗口<br />
bp GetWindowText(A/W) 获取窗口文本</p>
<p>拦截消息框：<br />
bp MessageBox(A/W) 创建消息框<br />
bp MessageBoxExA 创建消息框<br />
bp MessageBoxIndirect(A/W) 创建定制消息框</p>
<p>拦截警告声：<br />
bp MessageBeep 发出系统警告声(如果没有声卡就直接驱动系统喇叭发声)</p>
<p>拦截对话框：<br />
bp DialogBox 创建模态对话框<br />
bp DialogBoxParam(A/W) 创建模态对话框<br />
bp DialogBoxIndirect 创建模态对话框<br />
bp DialogBoxIndirectParam(A/W) 创建模态对话框<br />
bp CreateDialog 创建非模态对话框<br />
bp CreateDialogParam(A) 创建非模态对话框<br />
bp CreateDialogIndirect 创建非模态对话框<br />
bp CreateDialogIndirectParam(A/W) 创建非模态对话框<br />
bp GetDlgItemText(A) 获取对话框文本<br />
bp GetDlgItemInt 获取对话框整数值</p>
<p>拦截剪贴板：<br />
bp GetClipboardData 获取剪贴板数据</p>
<p>拦截注册表：<br />
bp RegOpenKey(A/W) 打开子健<br />
bp RegOpenKeyEx(A/W) 打开子健<br />
bp RegQueryValue(A/W) 查找子健<br />
bp RegSetValue(A/W) 设置子健<br />
bp RegSetValueEx(A/W) 设置子健<br />
功能限制拦截断点：</p>
<p>bp EnableMenuItem 禁止或允许菜单项<br />
bp EnableWindow 禁止或允许窗口</p>
<p>拦截时间：<br />
bp GetLocalTime 获取本地时间<br />
bp GetSystemTime 获取系统时间<br />
bp GetFileTime 获取文件时间<br />
bp GetTickCount 获得自系统成功启动以来所经历的毫秒数<br />
bp GetCurrentTime 获取当前时间（16位）<br />
bp SetTimer 创建定时器<br />
bp TimerProc 定时器超时回调函数</p>
<p>拦截文件：<br />
bp CreateFileA 创建或打开文件 (32位)<br />
bp OpenFile 打开文件        (32位)<br />
bp ReadFile 读文件          (32位)<br />
bp WriteFile 写文件          (32位)<br />
bp GetPrivateProfileStringA     (ini文件)</p>
<p>拦截驱动器：<br />
bp GetDriveTypeA 获取磁盘驱动器类型<br />
bp GetLogicalDrives 获取逻辑驱动器符号<br />
bp GetLogicalDriveStringsA 获取当前所有逻辑驱动器的根驱动器路径</p>
<p>★★VB程序专用断点★★<br />
bp __vbaStrCmp 比较字符串是否相等<br />
bp __vbaStrComp 比较字符串是否相等<br />
bp __vbaVarTstNe 比较变量是否不相等<br />
bp __vbaVarTstEq 比较变量是否相等<br />
bp __vbaStrCopy 复制字符串<br />
bp __vbaStrMove 移动字符串<br />
bp MultiByteToWideChar ANSI字符串转换成Unicode字符串<br />
bp WideCharToMultiByte Unicode字符串转换成ANSI字符串</p>
<p>******************************************************************************************************************************************<br />
灰色按钮<br />
有两种情况：通过代码和控件属性</p>
<p>VB语言:<br />
代码：ctrl+b查找 816C24，在JMP下断，然后F2运行程序，把 push ebp 改为 retn，或者把这些代码全NOP掉<br />
控件属性：VBExplorer 辅助工具改属性</p>
<p>Delphi/BC++语言:<br />
代码：通过DEDE找FormCreate，记下地址，改 retn<br />
控件属性：相关辅助工具改属性</p>
<p>易语言<br />
代码：bp EnableWindow，断下后返回，把 push ebp 改为 retn<br />
控件属性：用十六进制工具查找 BOB4C5A5 ，把它后面的 07 改 05</p>
<p>破解时常用断点：<br />
VB MASM32 VC BCB 易语言 Delphi</p>
<p>VB破解</p>
<p>1、VBExplorer查找按钮事件<br />
2、有提示框则bp rtcMsgBox<br />
3、通过bp __vbaStrCmp/__vbaStrComp/__vbaVarTstEq<br />
bp __vbaStrCmp<br />
bp __vbaStrComp<br />
4、万能断点法(816C24法)<br />
注册验证程序可以用这个断点下断，一般离程序访问注册表很近：<br />
bp __vbaStrToAnsi<br />
5.F12堆栈调用<br />
总结：<br />
VB程序破解的关键跳转，一般与其它语言的不同,没有JPM XXXXXXX<br />
一般以 JE/JNE XXXXXXXXX 跳转记录一般不会很远(虽然是短距离跳转，但是关键就在这里，可以设置大量的信息） 。如果发现False/True 可能是关键点<br />
VB:<br />
XXXXXXX JE/JNE XXXXX<br />
设置信息<br />
设置信息<br />
Delphi BC++ 易语言 VC++ 汇编:<br />
XXXXXXX JE/JNE XXXXX<br />
设置信息<br />
设置信息<br />
XXXXXXX JMP XXXXX<br />
设置信息<br />
设置信息</p>
<p>VC++ 汇编(有的 一段，一段的)：<br />
XXXXXXX JE/JNE XXXXX<br />
设置信息<br />
设置信息<br />
retn<br />
push xx<br />
设置信息<br />
设置信息<br />
retn<br />
push xx<br />
设置信息<br />
设置信息<br />
retn</p>
<p>易语言<br />
易语言破解思路:<br />
1. 信息框法 bp MessageBoxA(断对话框)<br />
2.字符串法<br />
查看易语言文本信息:<br />
bp GetProcessHeap F9运行4次，取消断点 执行ALT+F9 用户代码 F8单步走<br />
或者在区段为&#8221;.data&#8221;/&#8221;.ecode&#8221;下断，运行</p>
<p>3.窗口标题法 bp SetWindowTextA<br />
4.F12堆栈调用</p>
<p>0040C0CB=易语言.0040C0CB (ASCII &#8220;shaonanshaonvluntan&#8221;)</p>
<p>DELPHI破解:<br />
1、DEDE、PE Explorer ResScope作为强有力的辅助工具找按妞事件<br />
2、Point-H法<br />
3、bp GetDlgItem/GetDlgItemTextA(断输入框)<br />
4、bp MessageBoxA(W)(断对话框)&#8212;Ctrl+N<br />
5、字符串法&#8212;插件/搜索所有参考文本<br />
6、如果程序界面标题有[未注册/注册/VIP版/标准版/钻石版] 之类字样的<br />
可以通过查找FormCreate/FormShow&#8212;-DEDE，找到关键标志位！<br />
来判断程序怎么样的判断是否注册或者用户类型<br />
7. 窗口标题法 bp SetWindowTextA<br />
8.F12堆栈调用<br />
注册表:<br />
bpx RegCreateKeyExA 对于Delphi程序程序来说，用这个断点比较合适<br />
bp RegCreateKeyExA 对于加了壳的程序<br />
注册码：Rc1-420+用户名（不能为整数,)+C00L</p>
<p>C+破解</p>
<p>C类<br />
Point-H法<br />
bp GetDlgItem(断按下按钮)<br />
bp MessageBoxA(断对话框)<br />
字符串法<br />
F12堆栈调用<br />
窗口标题法 bp SetWindowTextA<br />
★★C+程序专用断点★★<br />
bp lstrcmpA (KERNEL32.lstrcmpA) 比较用法<br />
bp _mbscmp //比较<br />
C类程序的经典断点:<br />
bp GetWindowTextA(断按下按钮) //也是适用于其它语言<br />
bp GetWindowTextLengthA(断按下按钮) //也是适用于其它语言<br />
bp GetDlgItem(断按下按钮)            //也是适用于其它语言<br />
bp GetDlgItemTextA<br />
ds:[004021C8]=77C01881 (msvcrt._mbscmp)</p>
<p>BC++破解<br />
1、DEDE、PE Explorer作为强有力的辅助工具找按妞事件<br />
2、Point-H法<br />
3、bp GetDlgItem/GetDlgItemTextA(断输入框)<br />
4、bp MessageBoxA(W)(断对话框)&#8212;Ctrl+N<br />
5、字符串法&#8212;插件/搜索所有参考文本<br />
6、如果程序界面标题有[未注册/注册/VIP版/标准版/钻石版] 之类字样的<br />
可以通过查找FormCreate/FormShow&#8212;-DEDE，找到关键标志位！<br />
来判断程序怎么样的判断是否注册或者用户类型<br />
7.窗口标题法 bp SetWindowTextA<br />
8.F12堆栈调用</p>
<p>bpx RegCreateKeyExA 对于Delphi程序程序来说，用这个断点比较合适<br />
bp RegCreateKeyExA 对于加了壳的程序<br />
MASM32 / TASM32破解<br />
入口点 :<br />
004011C7 6A 00           push 0<br />
004011C9 E8 5E070000     call 0040192C<br />
004011CE A3 70614000     mov dword ptr ds:[406170],eax<br />
004011D3 6A 00           push 0<br />
004011D5 68 EE114000     push MASM32.004011EE<br />
004011DA 6A 00           push 0<br />
004011DC 68 C8000000     push 0C8<br />
Point-H法<br />
bp GetDlgItem(断按下按钮)<br />
bp MessageBoxA(断对话框)<br />
字符串法<br />
F12堆栈调用<br />
窗口标题法 bp SetWindowTextA</p>
<p>OD常用断点</p>
<p>1、限制程序功能函数</p>
<p>EnableMenuItem 允许、禁止或变灰指定的菜单条目</p>
<p>EnableWindow 允许或禁止鼠标和键盘控制指定窗口和条目（禁止时菜单变灰）</p>
<p>2、对话框函数</p>
<p>CreateDialog 从资源模板建立一非模态对话窗</p>
<p>CreateDialogParam 从资源模板建立一非模态对话窗</p>
<p>CreateDialogIndirect 从内存模板建立一非模态对话窗</p>
<p>CreateDialogIndirectParam 从内存模板建立一非模态对话窗</p>
<p>DialogBox 从资源模板建立一模态对话窗</p>
<p>DialogBoxParam 从资源模板建立一模态对话窗</p>
<p>DialogBoxIndirect 从内存模板建立一模态对话窗</p>
<p>DialogBoxIndirectParam 从内存模板建立一模态对话窗</p>
<p>EndDialog 结束一模态对话窗</p>
<p>MessageBox 显示一信息对话框</p>
<p>MessageBoxEx 显示一信息对话框</p>
<p>MessageBoxIndirect 显示一定制信息对话框</p>
<p>GetDlgItemInt 得指定输入框整数值</p>
<p>GetDlgItemText 得指定输入框输入字符串</p>
<p>GetDlgItemTextA 得指定输入框输入字符串</p>
<p>Hmemcpy 内存复制 （非应用程序直接调用）</p>
<p>3、磁盘处理函数1273?GAMEHK所有&#8211;admin?11326</p>
<p>GetDiskFreeSpaceA 获取与一个磁盘的组织有关的信息，以及了解剩余空间的容量</p>
<p>GetDiskFreeSpaceExA 获取与一个磁盘的组织以及剩余空间容量有关的信息</p>
<p>GetDriveTypeA 判断一个磁盘驱动器的类型</p>
<p>GetLogicalDrives 判断系统中存在哪些逻辑驱动器字母</p>
<p>GetFullPathNameA 获取指定文件的详细路径</p>
<p>GetVolumeInformationA 获取与一个磁盘卷有关的信息</p>
<p>GetWindowsDirectoryA 获取Windows目录的完整路径名</p>
<p>GetSystemDirectoryA 取得Windows系统目录（即System目录）的完整路径名</p>
<p>4、文件处理函数</p>
<p>CreateFileA 打开和创建文件、管道、邮槽、通信服务、设备以及控制台</p>
<p>OpenFile 这个函数能执行大量不同的文件操作</p>
<p>ReadFile 从文件中读出数据</p>
<p>ReadFileEx 与ReadFile相似，只是它只能用于异步读操作，并包含了一个完整的回调</p>
<p>WriteFile 将数据写入一个文件</p>
<p>WriteFileEx 与WriteFile类似，只是它只能用于异步写操作，并包括了一个完整的回调</p>
<p>SetFilePointer 在一个文件中设置当前的读写位置</p>
<p>SetEndOfFile 针对一个打开的文件，将当前文件位置设为文件末尾</p>
<p>CloseHandle 关闭一个内核对象。其中包括文件、文件映射、进程、线程、安全和同步对象等</p>
<p>_lcreat 创建一个文件</p>
<p>_lopen 以二进制模式打开指定的文件</p>
<p>_lread 将文件中的数据读入内存缓冲区</p>
<p>_lwrite 将数据从内存缓冲区写入一个文件</p>
<p>_llseek 设置文件中进行读写的当前位置</p>
<p>_lclose 关闭指定的文件</p>
<p>_hread 将文件中的数据读入内存缓冲区</p>
<p>_hwrite 将数据从内存缓冲区写入一个文件</p>
<p>OpenFileMappingA 打开一个现成的文件映射对象</p>
<p>CreateFileMappingA 创建一个新的文件映射对象</p>
<p>MapViewOfFile 将一个文件映射对象映射到当前应用程序的地址空间</p>
<p>MapViewOfFileEx （内容同上）</p>
<p>CreateDirectoryA 创建一个新目录</p>
<p>CreateDirectoryExA 创建一个新目录</p>
<p>RemoveDirectoryA 删除指定目录</p>
<p>SetCurrentDirectoryA 设置当前目录</p>
<p>MoveFileA 移动文件</p>
<p>DeleteFileA 删除指定文件</p>
<p>CopyFileA 复制文件</p>
<p>CompareFileTime 对比两个文件的时间</p>
<p>SetFileAttributesA 设置文件属性</p>
<p>SetFileTime 设置文件的创建、访问及上次修改时间</p>
<p>FindFirstFileA 根据文件名查找文件</p>
<p>FindNextFileA 根据调用FindFirstFile函数时指定的一个文件名查找下一个文件</p>
<p>FindClose 关闭由FindFirstFile函数创建的一个搜索句柄</p>
<p>SearchPathA 查找指定文件</p>
<p>GetBinaryTypeA 判断文件是否可以执行</p>
<p>GetFileAttributesA 判断指定文件的属性</p>
<p>GetFileSize 判断文件长度</p>
<p>GetFileTime 取得指定文件的时间信息</p>
<p>GetFileType 在给出文件句柄的前提下，判断文件类型</p>
<p>5、注册表处理函数</p>
<p>RegOpenKeyA 打开一个现有的注册表项</p>
<p>RegOpenKeyExA 打开一个现有的注册表项</p>
<p>RegCreateKeyA 在指定的项下创建或打开一个项</p>
<p>RegCreateKeyExA 在指定项下创建新项的更复杂的方式</p>
<p>RegDeleteKeyA 删除现有项下方一个指定的子项</p>
<p>RegDeleteValueA 删除指定项下方的一个值</p>
<p>RegQueryValueA 获取一个项的设置值</p>
<p>RegQueryValueExA 获取一个项的设置值</p>
<p>RegSetValueA 设置指定项或子项的值</p>
<p>RegSetValueExA 设置指定项的值</p>
<p>RegCloseKey 关闭系统注册表中的一个项（或键）</p>
<p>6、时间处理函数</p>
<p>CompareFileTime 比较两文件时间</p>
<p>GetFileTime 得文件建立，最后访问，修改时间</p>
<p>GetLocalTime 得当前本地时间</p>
<p>GetSystemTime 得当前系统时间</p>
<p>GetTickCount 得windows启动至现时毫秒</p>
<p>SetFileTime 设置文件时间</p>
<p>SetLocalTime 设置本地时间</p>
<p>SetSystemTime 设置系统时间</p>
<p>7、进程函数</p>
<p>CreateProcessA 创建一个新进程</p>
<p>ExitProcess 以干净的方式关闭一个进程</p>
<p>FindExecutableA 查找与一个指定文件关联在一起的程序的文件名</p>
<p>FreeLibray 释放指定的动态链库</p>
<p>GetCurrentProcess 获取当前进程的一个伪句柄</p>
<p>GetCurrentProcessId 获取当前进程一个唯一的标识符</p>
<p>GetCurrentThread 获取当前线程的一个伪句柄</p>
<p>GetExitCodeProces 获取一个已结束进程的退出代码</p>
<p>GetExitCodeThread 获取一个已结束线程的退出代码</p>
<p>GetModuleHandleA 获取一个应用程序或动态链接库的模块句柄</p>
<p>GetPriorityClassA 获取特定进程的优先级别</p>
<p>LoadLibraryA 载入指定的动态链接库，并将它映射到当前进程使用的地址空间</p>
<p>LoadLibraryExA 装载指定的动态链接库，并为当前进程把它映射到地址空间</p>
<p>LoadModule 载入一个windows应用程序，并在指定的环境中运行</p>
<p>TerminateProcess 结束一个进程</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1749</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Picasa 3.8 发布</title>
		<link>http://www.shuax.com/?p=1746</link>
		<comments>http://www.shuax.com/?p=1746#comments</comments>
		<pubDate>Wed, 18 Aug 2010 01:04:58 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[实用软件]]></category>
		<category><![CDATA[相片]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1746</guid>
		<description><![CDATA[Picasa 3.8已经开始提供下载，这次更新主要有三个新功能： * Face Movies：这是人脸探测和识别功能的延伸，Picasa可持续回放同一个人的所有照片──人脸位置保持不变，你可以看到一个人在不同时期不同地点的表情变化，想象一下从小时候回放到长大，真是一个奇妙的过程。我希望iPhoto赶紧山寨这个功能…… * 整合 Picnik：Picnik是Google收购的一个在线图片编辑服务，如果你不满足于Picasa软件内置的编辑功能，可以直接到Picnik进行在线编辑 * 批量从Picasa将照片上传到Picasa Web Albums：梦想终于实现了！除了批量上传图片，还可选择一次性上传整个相簿 下载地址：http://dl.google.com/picasa/picasa38-setup.exe]]></description>
			<content:encoded><![CDATA[<p><strong>Picasa 3.8已经开始提供下载，这次更新主要有三个新功能：</strong><br />
* Face Movies：这是人脸探测和识别功能的延伸，Picasa可持续回放同一个人的所有照片──人脸位置保持不变，你可以看到一个人在不同时期不同地点的表情变化，想象一下从小时候回放到长大，真是一个奇妙的过程。我希望iPhoto赶紧山寨这个功能……<br />
* 整合 Picnik：Picnik是Google收购的一个在线图片编辑服务，如果你不满足于Picasa软件内置的编辑功能，可以直接到Picnik进行在线编辑<br />
* 批量从Picasa将照片上传到Picasa Web Albums：梦想终于实现了！除了批量上传图片，还可选择一次性上传整个相簿</p>
<p>下载地址：<a rel="nofollow" href="http://dl.google.com/picasa/picasa38-setup.exe">http://dl.google.com/picasa/picasa38-setup.exe</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1746</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>[原创]植物大战僵尸修改器（支持年度版）</title>
		<link>http://www.shuax.com/?p=1733</link>
		<comments>http://www.shuax.com/?p=1733#comments</comments>
		<pubDate>Mon, 16 Aug 2010 01:47:32 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[原创软件]]></category>
		<category><![CDATA[游戏]]></category>
		<category><![CDATA[破解]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1733</guid>
		<description><![CDATA[玩了很久的植物大战僵尸了，已经玩得无聊了，于是自己实现修改器。工具用的CE查找的，网上有很多教程。 感谢各位前辈的奉献，因此我也把核心代码贴出来。 可执行文件下载地址（并非此代码编译）： 植物大战僵尸修改器 文件大小：5.5 KB&#12288;文件名称：PlantsVsZombies.7z 源代码如下： #include &#60;windows.h&#62; #include &#60;stdio.h&#62; #include &#60;tlhelp32.h&#62; /* 游戏内存基址：base = 0x006A9EC0 游戏阳光地址：[base+0x768]+0x5560 游戏金钱地址：[base+0x82C]+0x28 游戏关卡地址：[base+0x82C]+0x24 //关卡如：A-B 实际值为：（A-1）×10＋B 植物栏列表:dd [[[base]+768]+144]+28+i*50 */ &#160; DWORD EnumProcess&#40;const char *name&#41; &#123; HANDLE hProcessSnap = CreateToolhelp32Snapshot &#40;TH32CS_SNAPPROCESS, 0&#41;; if &#40;hProcessSnap == INVALID_HANDLE_VALUE&#41; &#123; printf&#40;&#34;\nCreateToolhelp32Snapshot() failed:%d&#34;, GetLastError&#40;&#41;&#41;; return false; &#125; PROCESSENTRY32 pe32; pe32.dwSize = sizeof&#40;PROCESSENTRY32&#41;; for &#40;Process32First]]></description>
			<content:encoded><![CDATA[<p>玩了很久的植物大战僵尸了，已经玩得无聊了，于是自己实现修改器。工具用的CE查找的，网上有很多教程。<br />
感谢各位前辈的奉献，因此我也把核心代码贴出来。<br />
<a class="lightbox" href="http://www.shuax.com/wp-content/uploads/2010/08/mod.jpg"><img src="http://www.shuax.com/wp-content/uploads/2010/08/mod.jpg" alt="" title="mod" width="282" height="168" class="aligncenter size-full wp-image-1739" /></a><br />
可执行文件下载地址（并非此代码编译）：<div class='download-link'>
							<a href='http://www.shuax.com/download.php?file=http://www.shuax.com/wp-content/uploads/2010/08/PlantsVsZombies.7z'><img alt='Download' class='leftalign' src='http://www.shuax.com/wp-content/plugins/dBeautifier/icons/downloads.png' /></a>
							<h4>
								<a href='http://www.shuax.com/download.php?file=http://www.shuax.com/wp-content/uploads/2010/08/PlantsVsZombies.7z'>植物大战僵尸修改器</a>
							</h4><p>文件大小：5.5 KB&#12288;文件名称：PlantsVsZombies.7z</p>
						</div><br />
源代码如下：<br />
<span id="more-1733"></span></p>

<div class="wp_codebox"><table><tr id="p17334"><td class="code" id="p1733code4"><pre class="cpp" style="font-family:monospace;"><span style="color: #339900;">#include &lt;windows.h&gt;</span>
<span style="color: #339900;">#include &lt;stdio.h&gt;</span>
<span style="color: #339900;">#include &lt;tlhelp32.h&gt;</span>
<span style="color: #ff0000; font-style: italic;">/*
     游戏内存基址：base = 0x006A9EC0 
     游戏阳光地址：[base+0x768]+0x5560 
     游戏金钱地址：[base+0x82C]+0x28 
     游戏关卡地址：[base+0x82C]+0x24   //关卡如：A-B 实际值为：（A-1）×10＋B 
     植物栏列表:dd [[[base]+768]+144]+28+i*50 
*/</span>
&nbsp;
DWORD EnumProcess<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">const</span> <span style="color: #0000ff;">char</span> <span style="color: #000040;">*</span>name<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	HANDLE hProcessSnap <span style="color: #000080;">=</span> CreateToolhelp32Snapshot <span style="color: #008000;">&#40;</span>TH32CS_SNAPPROCESS, <span style="color: #0000dd;">0</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>hProcessSnap <span style="color: #000080;">==</span> INVALID_HANDLE_VALUE<span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>CreateToolhelp32Snapshot() failed:%d&quot;</span>, GetLastError<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">return</span> <span style="color: #0000ff;">false</span><span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	PROCESSENTRY32 pe32<span style="color: #008080;">;</span>
	pe32.<span style="color: #007788;">dwSize</span> <span style="color: #000080;">=</span> <span style="color: #0000dd;">sizeof</span><span style="color: #008000;">&#40;</span>PROCESSENTRY32<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>Process32First <span style="color: #008000;">&#40;</span>hProcessSnap, <span style="color: #000040;">&amp;</span>pe32<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span> Process32Next <span style="color: #008000;">&#40;</span>hProcessSnap, <span style="color: #000040;">&amp;</span>pe32<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span><span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>stricmp<span style="color: #008000;">&#40;</span>pe32.<span style="color: #007788;">szExeFile</span>, name<span style="color: #008000;">&#41;</span> <span style="color: #000080;">==</span> <span style="color: #0000dd;">0</span><span style="color: #008000;">&#41;</span>
		<span style="color: #008000;">&#123;</span>
			<span style="color: #0000ff;">return</span> pe32.<span style="color: #007788;">th32ProcessID</span><span style="color: #008080;">;</span>
		<span style="color: #008000;">&#125;</span>
	<span style="color: #008000;">&#125;</span>
	CloseHandle<span style="color: #008000;">&#40;</span>hProcessSnap<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">return</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">bool</span> SunshineUnlimited<span style="color: #008000;">&#40;</span>DWORD dwProcessId<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	HANDLE hProcess <span style="color: #000080;">=</span> <span style="color: #008080;">::</span><span style="color: #007788;">OpenProcess</span><span style="color: #008000;">&#40;</span>PROCESS_ALL_ACCESS, FALSE, dwProcessId<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>hProcess <span style="color: #000040;">!</span><span style="color: #000080;">=</span> <span style="color: #0000ff;">NULL</span><span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		DWORD dwBase <span style="color: #000080;">=</span> <span style="color: #208080;">0x006A9F38</span><span style="color: #008080;">;</span>
		DWORD dwValue <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span><span style="color: #008080;">::</span><span style="color: #007788;">ReadProcessMemory</span><span style="color: #008000;">&#40;</span>hProcess, <span style="color: #008000;">&#40;</span>LPCVOID<span style="color: #008000;">&#41;</span>dwBase, <span style="color: #000040;">&amp;</span>dwValue, <span style="color: #0000dd;">sizeof</span><span style="color: #008000;">&#40;</span>DWORD<span style="color: #008000;">&#41;</span>, <span style="color: #0000ff;">NULL</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span>
		<span style="color: #008000;">&#123;</span>
			dwBase <span style="color: #000080;">=</span> dwValue <span style="color: #000040;">+</span> <span style="color: #208080;">0x768</span><span style="color: #008080;">;</span>
			<span style="color: #008080;">::</span><span style="color: #007788;">ReadProcessMemory</span><span style="color: #008000;">&#40;</span>hProcess, <span style="color: #008000;">&#40;</span>LPVOID<span style="color: #008000;">&#41;</span>dwBase, <span style="color: #000040;">&amp;</span>dwValue, <span style="color: #0000dd;">sizeof</span><span style="color: #008000;">&#40;</span>DWORD<span style="color: #008000;">&#41;</span>, <span style="color: #0000ff;">NULL</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
&nbsp;
			dwBase <span style="color: #000080;">=</span> dwValue <span style="color: #000040;">+</span> <span style="color: #208080;">0x5560</span><span style="color: #008080;">;</span>
			<span style="color: #666666;">//::ReadProcessMemory(hProcess, (LPVOID)dwBase, &amp;dwValue, sizeof(DWORD), NULL);</span>
			<span style="color: #666666;">//printf(&quot;阳光：%ld&quot;,dwValue);</span>
			dwValue <span style="color: #000080;">=</span> <span style="color: #0000dd;">9999</span><span style="color: #008080;">;</span>
			<span style="color: #008080;">::</span><span style="color: #007788;">WriteProcessMemory</span><span style="color: #008000;">&#40;</span>hProcess, <span style="color: #008000;">&#40;</span>LPVOID<span style="color: #008000;">&#41;</span>dwBase, <span style="color: #000040;">&amp;</span>dwValue, <span style="color: #0000dd;">sizeof</span><span style="color: #008000;">&#40;</span>DWORD<span style="color: #008000;">&#41;</span>, <span style="color: #0000ff;">NULL</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
&nbsp;
			<span style="color: #666666;">//</span>
			dwBase <span style="color: #000080;">=</span> <span style="color: #208080;">0x0041BA76</span><span style="color: #008080;">;</span> <span style="color: #666666;">//基址</span>
			BYTE dwFill<span style="color: #008000;">&#91;</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #008000;">&#123;</span><span style="color: #208080;">0x90</span>, <span style="color: #208080;">0x90</span>, <span style="color: #208080;">0x90</span>, <span style="color: #208080;">0x90</span>, <span style="color: #208080;">0x90</span>, <span style="color: #208080;">0x90</span><span style="color: #008000;">&#125;</span><span style="color: #008080;">;</span>          <span style="color: #666666;">// 存放机器码的地址 0x90 就是机器码 nop</span>
			<span style="color: #008080;">::</span><span style="color: #007788;">WriteProcessMemory</span><span style="color: #008000;">&#40;</span>hProcess, <span style="color: #008000;">&#40;</span>LPVOID<span style="color: #008000;">&#41;</span>dwBase, <span style="color: #000040;">&amp;</span>dwFill, <span style="color: #0000dd;">sizeof</span><span style="color: #008000;">&#40;</span>dwFill<span style="color: #008000;">&#41;</span>, <span style="color: #0000ff;">false</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #008000;">&#125;</span>
		<span style="color: #008080;">::</span><span style="color: #007788;">CloseHandle</span><span style="color: #008000;">&#40;</span>hProcess<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000ff;">return</span> <span style="color: #0000ff;">false</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">bool</span> MoneyUnlimited<span style="color: #008000;">&#40;</span>DWORD dwProcessId<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	HANDLE hProcess <span style="color: #000080;">=</span> <span style="color: #008080;">::</span><span style="color: #007788;">OpenProcess</span><span style="color: #008000;">&#40;</span>PROCESS_ALL_ACCESS, FALSE, dwProcessId<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>hProcess <span style="color: #000040;">!</span><span style="color: #000080;">=</span> <span style="color: #0000ff;">NULL</span><span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #666666;">//DWORD dwBase = 0x006A9F38;</span>
		DWORD dwBase <span style="color: #000080;">=</span> <span style="color: #208080;">0x006A9EC0</span><span style="color: #008080;">;</span>
		DWORD dwValue <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span><span style="color: #008080;">::</span><span style="color: #007788;">ReadProcessMemory</span><span style="color: #008000;">&#40;</span>hProcess, <span style="color: #008000;">&#40;</span>LPCVOID<span style="color: #008000;">&#41;</span>dwBase, <span style="color: #000040;">&amp;</span>dwValue, <span style="color: #0000dd;">sizeof</span><span style="color: #008000;">&#40;</span>DWORD<span style="color: #008000;">&#41;</span>, <span style="color: #0000ff;">NULL</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span>
		<span style="color: #008000;">&#123;</span>
			dwBase <span style="color: #000080;">=</span> dwValue <span style="color: #000040;">+</span> <span style="color: #208080;">0x82C</span><span style="color: #008080;">;</span>
			<span style="color: #008080;">::</span><span style="color: #007788;">ReadProcessMemory</span><span style="color: #008000;">&#40;</span>hProcess, <span style="color: #008000;">&#40;</span>LPVOID<span style="color: #008000;">&#41;</span>dwBase, <span style="color: #000040;">&amp;</span>dwValue, <span style="color: #0000dd;">sizeof</span><span style="color: #008000;">&#40;</span>DWORD<span style="color: #008000;">&#41;</span>, <span style="color: #0000ff;">NULL</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
&nbsp;
			dwBase <span style="color: #000080;">=</span> dwValue <span style="color: #000040;">+</span> <span style="color: #208080;">0x28</span><span style="color: #008080;">;</span>
&nbsp;
			dwValue <span style="color: #000080;">=</span> <span style="color: #0000dd;">99999</span><span style="color: #008080;">;</span>
			<span style="color: #008080;">::</span><span style="color: #007788;">WriteProcessMemory</span><span style="color: #008000;">&#40;</span>hProcess, <span style="color: #008000;">&#40;</span>LPVOID<span style="color: #008000;">&#41;</span>dwBase, <span style="color: #000040;">&amp;</span>dwValue, <span style="color: #0000dd;">sizeof</span><span style="color: #008000;">&#40;</span>DWORD<span style="color: #008000;">&#41;</span>, <span style="color: #0000ff;">NULL</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
&nbsp;
			<span style="color: #666666;">//</span>
			dwBase <span style="color: #000080;">=</span> <span style="color: #208080;">0x0048CAA5</span><span style="color: #008080;">;</span> <span style="color: #666666;">//基址</span>
			BYTE dwFill<span style="color: #008000;">&#91;</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #008000;">&#123;</span><span style="color: #208080;">0x90</span>, <span style="color: #208080;">0x90</span>, <span style="color: #208080;">0x90</span><span style="color: #008000;">&#125;</span><span style="color: #008080;">;</span>          <span style="color: #666666;">// 存放机器码的地址 0x90 就是机器码 nop</span>
			<span style="color: #008080;">::</span><span style="color: #007788;">WriteProcessMemory</span><span style="color: #008000;">&#40;</span>hProcess, <span style="color: #008000;">&#40;</span>LPVOID<span style="color: #008000;">&#41;</span>dwBase, <span style="color: #000040;">&amp;</span>dwFill, <span style="color: #0000dd;">sizeof</span><span style="color: #008000;">&#40;</span>dwFill<span style="color: #008000;">&#41;</span>, <span style="color: #0000ff;">false</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #008000;">&#125;</span>
		<span style="color: #008080;">::</span><span style="color: #007788;">CloseHandle</span><span style="color: #008000;">&#40;</span>hProcess<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000ff;">return</span> <span style="color: #0000ff;">false</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">bool</span> CoolingUnlimited<span style="color: #008000;">&#40;</span>DWORD dwProcessId<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	HANDLE hProcess <span style="color: #000080;">=</span> <span style="color: #008080;">::</span><span style="color: #007788;">OpenProcess</span><span style="color: #008000;">&#40;</span>PROCESS_ALL_ACCESS, FALSE, dwProcessId<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>hProcess <span style="color: #000040;">!</span><span style="color: #000080;">=</span> <span style="color: #0000ff;">NULL</span><span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		DWORD dwBase <span style="color: #000080;">=</span> <span style="color: #208080;">0x006A9EC0</span><span style="color: #008080;">;</span>
		DWORD dwValue <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
		DWORD dwCount <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span><span style="color: #008080;">::</span><span style="color: #007788;">ReadProcessMemory</span><span style="color: #008000;">&#40;</span>hProcess, <span style="color: #008000;">&#40;</span>LPCVOID<span style="color: #008000;">&#41;</span>dwBase, <span style="color: #000040;">&amp;</span>dwValue, <span style="color: #0000dd;">sizeof</span><span style="color: #008000;">&#40;</span>DWORD<span style="color: #008000;">&#41;</span>, <span style="color: #0000ff;">NULL</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span>
		<span style="color: #008000;">&#123;</span>
			dwBase <span style="color: #000080;">=</span> dwValue <span style="color: #000040;">+</span> <span style="color: #208080;">0x768</span><span style="color: #008080;">;</span>
			<span style="color: #008080;">::</span><span style="color: #007788;">ReadProcessMemory</span><span style="color: #008000;">&#40;</span>hProcess, <span style="color: #008000;">&#40;</span>LPVOID<span style="color: #008000;">&#41;</span>dwBase, <span style="color: #000040;">&amp;</span>dwValue, <span style="color: #0000dd;">sizeof</span><span style="color: #008000;">&#40;</span>DWORD<span style="color: #008000;">&#41;</span>, <span style="color: #0000ff;">NULL</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
&nbsp;
			dwBase <span style="color: #000080;">=</span> dwValue <span style="color: #000040;">+</span> <span style="color: #208080;">0x144</span><span style="color: #008080;">;</span>
			<span style="color: #008080;">::</span><span style="color: #007788;">ReadProcessMemory</span><span style="color: #008000;">&#40;</span>hProcess, <span style="color: #008000;">&#40;</span>LPVOID<span style="color: #008000;">&#41;</span>dwBase, <span style="color: #000040;">&amp;</span>dwValue, <span style="color: #0000dd;">sizeof</span><span style="color: #008000;">&#40;</span>DWORD<span style="color: #008000;">&#41;</span>, <span style="color: #0000ff;">NULL</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
&nbsp;
			dwBase <span style="color: #000080;">=</span> dwValue <span style="color: #000040;">+</span> <span style="color: #208080;">0x24</span><span style="color: #008080;">;</span>
			<span style="color: #008080;">::</span><span style="color: #007788;">ReadProcessMemory</span><span style="color: #008000;">&#40;</span>hProcess, <span style="color: #008000;">&#40;</span>LPVOID<span style="color: #008000;">&#41;</span>dwBase, <span style="color: #000040;">&amp;</span>dwCount, <span style="color: #0000dd;">sizeof</span><span style="color: #008000;">&#40;</span>DWORD<span style="color: #008000;">&#41;</span>, <span style="color: #0000ff;">NULL</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
			<span style="color: #0000ff;">for</span><span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> i<span style="color: #000080;">=</span><span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>i<span style="color: #000080;">&lt;</span>dwCount<span style="color: #008080;">;</span>i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
			<span style="color: #008000;">&#123;</span>
				DWORD dwTmp <span style="color: #000080;">=</span> dwValue <span style="color: #000040;">+</span> <span style="color: #208080;">0x28</span> <span style="color: #000040;">+</span> i<span style="color: #000040;">*</span><span style="color: #208080;">0x50</span><span style="color: #008080;">;</span>
				DWORD dwTmp2 <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
				dwBase <span style="color: #000080;">=</span> dwTmp <span style="color: #000040;">+</span> <span style="color: #208080;">0x28</span><span style="color: #008080;">;</span>
				<span style="color: #008080;">::</span><span style="color: #007788;">ReadProcessMemory</span><span style="color: #008000;">&#40;</span>hProcess, <span style="color: #008000;">&#40;</span>LPVOID<span style="color: #008000;">&#41;</span>dwBase, <span style="color: #000040;">&amp;</span>dwTmp2, <span style="color: #0000dd;">sizeof</span><span style="color: #008000;">&#40;</span>DWORD<span style="color: #008000;">&#41;</span>, <span style="color: #0000ff;">NULL</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
				dwBase <span style="color: #000080;">=</span> dwTmp <span style="color: #000040;">+</span> <span style="color: #208080;">0x24</span><span style="color: #008080;">;</span>
				<span style="color: #008080;">::</span><span style="color: #007788;">WriteProcessMemory</span><span style="color: #008000;">&#40;</span>hProcess, <span style="color: #008000;">&#40;</span>LPVOID<span style="color: #008000;">&#41;</span>dwBase, <span style="color: #000040;">&amp;</span>dwTmp2, <span style="color: #0000dd;">sizeof</span><span style="color: #008000;">&#40;</span>DWORD<span style="color: #008000;">&#41;</span>, <span style="color: #0000ff;">NULL</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
			<span style="color: #008000;">&#125;</span>
			dwBase <span style="color: #000080;">=</span> <span style="color: #208080;">0x00488F7D</span><span style="color: #008080;">;</span> <span style="color: #666666;">//基址</span>
			BYTE dwFill<span style="color: #008000;">&#91;</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #008000;">&#123;</span><span style="color: #208080;">0x90</span>, <span style="color: #208080;">0x90</span>, <span style="color: #208080;">0x90</span><span style="color: #008000;">&#125;</span><span style="color: #008080;">;</span>          <span style="color: #666666;">// 存放机器码的地址 0x90 就是机器码 nop</span>
			<span style="color: #008080;">::</span><span style="color: #007788;">WriteProcessMemory</span><span style="color: #008000;">&#40;</span>hProcess, <span style="color: #008000;">&#40;</span>LPVOID<span style="color: #008000;">&#41;</span>dwBase, <span style="color: #000040;">&amp;</span>dwFill, <span style="color: #0000dd;">sizeof</span><span style="color: #008000;">&#40;</span>dwFill<span style="color: #008000;">&#41;</span>, <span style="color: #0000ff;">false</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #008000;">&#125;</span>
		<span style="color: #008080;">::</span><span style="color: #007788;">CloseHandle</span><span style="color: #008000;">&#40;</span>hProcess<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000ff;">return</span> <span style="color: #0000ff;">false</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">int</span> main<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	DWORD dwPid <span style="color: #000080;">=</span> EnumProcess<span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;PlantsVsZombies.exe&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>dwPid <span style="color: #000040;">!</span><span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		SunshineUnlimited<span style="color: #008000;">&#40;</span>dwPid<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		MoneyUnlimited<span style="color: #008000;">&#40;</span>dwPid<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		CoolingUnlimited<span style="color: #008000;">&#40;</span>dwPid<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000ff;">else</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;程序未运行！&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000dd;">getchar</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">return</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1733</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>经典win7主题-Soft7</title>
		<link>http://www.shuax.com/?p=1726</link>
		<comments>http://www.shuax.com/?p=1726#comments</comments>
		<pubDate>Sun, 15 Aug 2010 22:53:15 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[实用软件]]></category>
		<category><![CDATA[主题]]></category>
		<category><![CDATA[美化]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1726</guid>
		<description><![CDATA[名为soft，确实有一种软软的感觉。 下载地址：来自deviantart Windows主题破解通用补丁：下载地址80kb]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.shuax.com/wp-content/uploads/2010/08/Soft7.jpg"><img class="aligncenter size-full wp-image-1727" title="Soft7" src="http://www.shuax.com/wp-content/uploads/2010/08/Soft7.jpg" alt="" width="600" height="200" /></a><br />
名为soft，确实有一种软软的感觉。<br />
<span id="more-1726"></span><br />
下载地址：<a href="http://www.deviantart.com/download/144948406/Soft7_1_8_for_Windows_7_by_AP_GRAPHIK.rar">来自deviantart</a><br />
Windows主题破解通用补丁：<a href="http://filekeeper.org/download/deepxw/UniversalThemePatcher/UniversalThemePatcher_20090409.zip">下载地址80kb</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1726</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Joulemeter估算电脑耗电量</title>
		<link>http://www.shuax.com/?p=1723</link>
		<comments>http://www.shuax.com/?p=1723#comments</comments>
		<pubDate>Sun, 15 Aug 2010 01:09:16 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[实用软件]]></category>
		<category><![CDATA[新奇]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1723</guid>
		<description><![CDATA[Joulemeter是微软提供的一个估算电脑耗电量的小程序，通过估算CPU等级与使用量、萤幕亮度、磁盘数量与使用频率、周边配件的种类与数量…等信息，以及是否使用较耗资源的软件与运算等，估算出该电脑的大致耗电量，以作为一般使用者节能减碳的参考或者数据中心、使用大量电脑的办公室在耗能方面的评估参考。这款软件目前还在初期的1.0 Alpha阶段，使用方法很简单就是启动程序后让它在背景监控即可，不过估算出来的耗电量是否与实际用设备是否相符？这部份，如果手头有类似北电电力监测插座的朋友，不妨可以对比测试下… 下载地址：http://research.microsoft.com/en-us/downloads/fe9e10c5-5c5b-450c-a674-daf55565f794/]]></description>
			<content:encoded><![CDATA[<p>Joulemeter是微软提供的一个估算电脑耗电量的小程序，通过估算CPU等级与使用量、萤幕亮度、磁盘数量与使用频率、周边配件的种类与数量…等信息，以及是否使用较耗资源的软件与运算等，估算出该电脑的大致耗电量，以作为一般使用者节能减碳的参考或者数据中心、使用大量电脑的办公室在耗能方面的评估参考。这款软件目前还在初期的1.0 Alpha阶段，使用方法很简单就是启动程序后让它在背景监控即可，不过估算出来的耗电量是否与实际用设备是否相符？这部份，如果手头有类似北电电力监测插座的朋友，不妨可以对比测试下…</p>
<p style="text-align: center;"><a href="http://www.shuax.com/wp-content/uploads/2010/08/blockdiag.png"><img class="aligncenter size-full wp-image-1724" title="blockdiag" src="http://www.shuax.com/wp-content/uploads/2010/08/blockdiag.png" alt="" width="500" height="304" /></a></p>
<p><span id="more-1723"></span><br />
下载地址：<a href="http://research.microsoft.com/en-us/downloads/fe9e10c5-5c5b-450c-a674-daf55565f794/">http://research.microsoft.com/en-us/downloads/fe9e10c5-5c5b-450c-a674-daf55565f794/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1723</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>迅雷7下载地址 &amp; 非VIP会员使用</title>
		<link>http://www.shuax.com/?p=1722</link>
		<comments>http://www.shuax.com/?p=1722#comments</comments>
		<pubDate>Fri, 13 Aug 2010 23:36:04 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[实用软件]]></category>
		<category><![CDATA[下载]]></category>
		<category><![CDATA[破解]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1722</guid>
		<description><![CDATA[1、性能优异 “迅雷7”配备了研发代号为“Bolt（意为：闪电）”的全新界面引擎，使“迅雷7”的综合性能获得显著提升。 界面流畅度优化： “迅雷7”通过全新的异步化下载平台支持，更加合理地管理后台处理流程，极大地避免了界面被莫名“卡住”的情况，使各种功能操作更加顺畅。 （前不久，我们在2台2001年左右购买的配备“奔腾3”处理器的笔记本电脑上测试了迅雷7的运行情况，动画效果全开依然流畅。如果您也有老爷机，欢迎尝试！） 图形操作优化： “迅雷7”通过使用MMX,SSE指令集对图形操作进行了深度的优化。无需借助显卡加速，就能用较以往更少的CPU资源，实现整个界面中更加绚丽流畅的动画效果。 内存占用优化： “迅雷7”通过“Bolt”引擎进行统一的内存管理，大大降低了发生内存泄漏的可能性，而且当下的内存占用，仍有很大的优化空间。 任务管理优化： “迅雷7”抛弃了传统Windows列表控件及数据库组件，采用全新开发的高性能任务数据库管理组件，经测试验证，即使拥有150,000条任务记录，任务列表拖动浏览依然流畅自如。 2、全新下载体验 “迅雷7”重点挖掘了现有产品中可完善的各种细节。每一个功能点，我们都重新构思如何将其设计的更加易于使用，从而形成了一套全新的下载体验。与此同时在这套全新下载体验中，每个点滴都巧妙融入了简约而不失高效的动画效果。 （迅雷7在很多细节上下了功夫，例如按钮的边框动画效果，以及下载区块的填充效果。其他的细节有待您的探索） 3、智能的多彩主题 “迅雷7”借助“Bolt”引擎实现了一套新的“皮肤、主题”系统。 在主题系统中您可以随意往“迅雷7”界面中拖拽一张图片，“迅雷7”就会将其设为背景，并提取图片的主色调作为界面色调，让界面风格与背景图保持一致。 （“主题”只是新的皮肤主题系统中的一部分，而更加强大的“皮肤”系统，将会给用户带来与众不同的体验） 4、快速启动 “迅雷7”通过“Bolt”界面引擎优化管理UI资源的打包及按需加载，大量的逻辑代码使用脚本语言编写，加上异步初始化任务管理等手段，使“迅雷7”的启动速度比迅雷5.9有大幅提升。 （就目前来看，启动速度仍有相当大的提升空间。我们的目标是让“迅雷7”像记事本一样快的启动！） 5、稳定可靠 “迅雷7”采用XML加Lua脚本语言的方式开发界面及插件，技术门槛低，稳定性好。 即使“界面、插件”的代码执行发生问题，也不会导致整个程序崩溃，而是输出错误信息，更加便于开发人员定位。因此从原理上来看，“迅雷7”的崩溃率将会比迅雷历史上的任何一个版本都要低。 6、开放自由 “迅雷7”提供了一个真正意义上的开发平台，例如：“插件可以在不修改主程序代码的条件下自定义自己的加载逻辑，并且插件可以使用一致的方法调整界面中的任何元素。” 在这个开放、自由的平台上，插件的发挥空间非常大。插件开发者甚至可以在“迅雷7”中开发“俄罗斯方块游戏” 迅雷7下载地址：http://down.sandai.net/thunder7/Thunder6.1.0.1882.exe 迅雷7非VIP会员优先体验方法：用16编辑软件定位到XLUserAX.dll的0x16B1，分别写入EB 90 90 90 90 已经修改好的XLUserAX.dll下载地址：http://u.115.com/file/f0cd06b1f7]]></description>
			<content:encoded><![CDATA[<h5><strong>1、性能优异</strong></h5>
<p>“迅雷7”配备了研发代号为“Bolt（意为：闪电）”的全新界面引擎，使“迅雷7”的综合性能获得显著提升。</p>
<p><strong>界面流畅度优化：</strong></p>
<p>“迅雷7”通过全新的异步化下载平台支持，更加合理地管理后台处理流程，极大地避免了界面被莫名“卡住”的情况，使各种功能操作更加顺畅。</p>
<p>（前不久，我们在2台2001年左右购买的配备“奔腾3”处理器的笔记本电脑上测试了迅雷7的运行情况，动画效果全开依然流畅。如果您也有老爷机，欢迎尝试！）</p>
<p><strong>图形操作优化：</strong></p>
<p>“迅雷7”通过使用MMX,SSE指令集对图形操作进行了深度的优化。无需借助显卡加速，就能用较以往更少的CPU资源，实现整个界面中更加绚丽流畅的动画效果。</p>
<p><span id="more-1722"></span></p>
<p><strong>内存占用优化：</strong></p>
<p>“迅雷7”通过“Bolt”引擎进行统一的内存管理，大大降低了发生内存泄漏的可能性，而且当下的内存占用，仍有很大的优化空间。</p>
<p><strong>任务管理优化：</strong></p>
<p>“迅雷7”抛弃了传统Windows列表控件及数据库组件，采用全新开发的高性能任务数据库管理组件，经测试验证，即使拥有150,000条任务记录，任务列表拖动浏览依然流畅自如。</p>
<h5><strong>2、全新下载体验</strong></h5>
<p>“迅雷7”重点挖掘了现有产品中可完善的各种细节。每一个功能点，我们都重新构思如何将其设计的更加易于使用，从而形成了一套全新的下载体验。与此同时在这套全新下载体验中，每个点滴都巧妙融入了简约而不失高效的动画效果。</p>
<p>（迅雷7在很多细节上下了功夫，例如按钮的边框动画效果，以及下载区块的填充效果。其他的细节有待您的探索）</p>
<h5><strong>3、智能的多彩主题</strong></h5>
<p>“迅雷7”借助“Bolt”引擎实现了一套新的“皮肤、主题”系统。</p>
<p>在主题系统中您可以随意往“迅雷7”界面中拖拽一张图片，“迅雷7”就会将其设为背景，并提取图片的主色调作为界面色调，让界面风格与背景图保持一致。</p>
<p>（“主题”只是新的皮肤主题系统中的一部分，而更加强大的“皮肤”系统，将会给用户带来与众不同的体验）</p>
<h5><strong>4、快速启动</strong></h5>
<p>“迅雷7”通过“Bolt”界面引擎优化管理UI资源的打包及按需加载，大量的逻辑代码使用脚本语言编写，加上异步初始化任务管理等手段，使“迅雷7”的启动速度比迅雷5.9有大幅提升。</p>
<p>（就目前来看，启动速度仍有相当大的提升空间。我们的目标是让“迅雷7”像记事本一样快的启动！）</p>
<h5><strong>5、稳定可靠</strong></h5>
<p>“迅雷7”采用XML加Lua脚本语言的方式开发界面及插件，技术门槛低，稳定性好。</p>
<p>即使“界面、插件”的代码执行发生问题，也不会导致整个程序崩溃，而是输出错误信息，更加便于开发人员定位。因此从原理上来看，“迅雷7”的崩溃率将会比迅雷历史上的任何一个版本都要低。</p>
<h5><strong>6、开放自由</strong></h5>
<p>“迅雷7”提供了一个真正意义上的开发平台，例如：“插件可以在不修改主程序代码的条件下自定义自己的加载逻辑，并且插件可以使用一致的方法调整界面中的任何元素。”</p>
<p>在这个开放、自由的平台上，插件的发挥空间非常大。插件开发者甚至可以在“迅雷7”中开发“俄罗斯方块游戏”</p>
<p><strong>迅雷7下载地址：</strong><a href="http://down.sandai.net/thunder7/Thunder6.1.0.1882.exe" target="_blank">http://down.sandai.net/thunder7/Thunder6.1.0.1882.exe</a></p>
<p>迅雷7非VIP会员优先体验方法：用16编辑软件定位到XLUserAX.dll的0x16B1，分别写入EB 90 90 90 90<br />
<strong>已经修改好的XLUserAX.dll下载地址：</strong><a href="http://u.115.com/file/f0cd06b1f7">http://u.115.com/file/f0cd06b1f7</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1722</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Mirro Player美丽到极致的播放器</title>
		<link>http://www.shuax.com/?p=1718</link>
		<comments>http://www.shuax.com/?p=1718#comments</comments>
		<pubDate>Thu, 12 Aug 2010 23:40:37 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[实用软件]]></category>
		<category><![CDATA[Mirro]]></category>
		<category><![CDATA[Player]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1718</guid>
		<description><![CDATA[很漂亮哦，就是第一次用的时候要找一找按钮。 下载地址：http://www.deviantart.com/download/174473179/Mirro_Player_by_dncube.rar]]></description>
			<content:encoded><![CDATA[<p><a class="lightbox" href="http://www.shuax.com/wp-content/uploads/2010/08/Mirro_Player_by_dncube.jpg"><img class="aligncenter size-full wp-image-1719" title="Mirro_Player_by_dncube" src="http://www.shuax.com/wp-content/uploads/2010/08/Mirro_Player_by_dncube.jpg" alt="" width="600" height="239" /></a><br />
很漂亮哦，就是第一次用的时候要找一找按钮。<br />
<span id="more-1718"></span><br />
下载地址：<a href="http://www.deviantart.com/download/174473179/Mirro_Player_by_dncube.rar">http://www.deviantart.com/download/174473179/Mirro_Player_by_dncube.rar</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1718</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>IOGraph记录你不经意的美</title>
		<link>http://www.shuax.com/?p=1715</link>
		<comments>http://www.shuax.com/?p=1715#comments</comments>
		<pubDate>Thu, 12 Aug 2010 00:21:16 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[实用软件]]></category>
		<category><![CDATA[新奇]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1715</guid>
		<description><![CDATA[IOGraph 是一个很有趣的小软件，它可以为你记录你鼠移动过的轨迹，让你的鼠标轨迹脱变成现代行为艺术。线条表示鼠标滑过，黑色点表示停留，点越大表示时间越久，白点是点击，你也可以导出最终的png图像。IOGraph采用Java开发，有着非常良好的平台兼容，各个系统都可以使用。 下载地址：http://iographica.com/]]></description>
			<content:encoded><![CDATA[<p>IOGraph 是一个很有趣的小软件，它可以为你记录你鼠移动过的轨迹，让你的鼠标轨迹脱变成现代行为艺术。线条表示鼠标滑过，黑色点表示停留，点越大表示时间越久，白点是点击，你也可以导出最终的png图像。IOGraph采用Java开发，有着非常良好的平台兼容，各个系统都可以使用。</p>
<p><a class="lightbox" href="http://www.shuax.com/wp-content/uploads/2010/08/IOGraphica-1.1-hours-from-16-27-to-17-34.jpg"><img class="aligncenter size-full wp-image-1716" title="IOGraphica---1.1-hours-(from-16-27-to-17-34)" src="http://www.shuax.com/wp-content/uploads/2010/08/IOGraphica-1.1-hours-from-16-27-to-17-34.jpg" alt="" width="600" height="337" /></a><br />
<span id="more-1715"></span><br />
下载地址：<a href="http://iographica.com/">http://iographica.com/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1715</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>小游戏：Continuity</title>
		<link>http://www.shuax.com/?p=1713</link>
		<comments>http://www.shuax.com/?p=1713#comments</comments>
		<pubDate>Wed, 11 Aug 2010 07:58:05 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[我的生活]]></category>
		<category><![CDATA[游戏]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1713</guid>
		<description><![CDATA[一个简单的Flash游戏，类似于SHIFT黑白翻转那个。 IGF2010独立游戏学生奖获奖作品 &#8211; Continuity（时空碎片） Continuity把画面分割成4~9格，通过Space键滑动方格像拼图一样拼接画面使小人到达另一地点。游戏目前共有32关。 上下左右：控制方格或小人。 空格：切换视图。 游戏地址：http://www.continuitygame.com/index.html]]></description>
			<content:encoded><![CDATA[<p>一个简单的Flash游戏，类似于SHIFT黑白翻转那个。<br />
IGF2010独立游戏学生奖获奖作品 &#8211; Continuity（时空碎片）<br />
Continuity把画面分割成4~9格，通过Space键滑动方格像拼图一样拼接画面使小人到达另一地点。游戏目前共有32关。</p>
<p>上下左右：控制方格或小人。<br />
空格：切换视图。</p>
<p>游戏地址：http://www.continuitygame.com/index.html</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1713</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>祝自己生日快乐</title>
		<link>http://www.shuax.com/?p=1702</link>
		<comments>http://www.shuax.com/?p=1702#comments</comments>
		<pubDate>Mon, 09 Aug 2010 23:23:15 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[我的生活]]></category>
		<category><![CDATA[生日]]></category>
		<category><![CDATA[生活]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1702</guid>
		<description><![CDATA[此图像代码为： size(600, 600); background(255, 255, 255); textAlign(CENTER); int count = 0; while(count &#60; 150) { float x = 300 - random(width); &#160; float y = 300 - random(height); &#160; float distance = sqrt(x*x + y*y); if( distance &#60; 200) { textSize(random(10,18)); &#160; fill(255, 100, 90, random(0, 200)); if(count%2==0) { text(&#34;Happy Birthday To Me...&#34;, 300 +]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.shuax.com/wp-content/uploads/2010/08/test.jpg" alt="" title="test" width="542" height="402" class="aligncenter size-full wp-image-1704" /><br />
<code><br />
此图像代码为：</p>

<div class="wp_codebox"><table><tr id="p17026"><td class="code" id="p1702code6"><pre class="pde" style="font-family:monospace;">size(600, 600);
background(255, 255, 255);
textAlign(CENTER);
int count = 0;
while(count &lt; 150) {
  float x = 300 - random(width);
&nbsp;
  float y = 300 - random(height);
&nbsp;
  float distance = sqrt(x*x + y*y);
  if( distance &lt; 200) {
    textSize(random(10,18));
&nbsp;
    fill(255, 100, 90, random(0, 200));
    if(count%2==0) {
      text(&quot;Happy Birthday To Me...&quot;, 300 + x, 300 + y);
    }
    else
    {
      text(&quot;祝自己生日快乐..&quot;, 300 + x +random(10,20), 300 + y+random(10,20));
    }
    count++;
  }
}</pre></td></tr></table></div>

<p>记录日期：2010年8月10日</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1702</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>[原创]QQ音乐缓存提取工具 v1.2</title>
		<link>http://www.shuax.com/?p=1708</link>
		<comments>http://www.shuax.com/?p=1708#comments</comments>
		<pubDate>Mon, 09 Aug 2010 02:24:25 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[原创软件]]></category>
		<category><![CDATA[QQ]]></category>
		<category><![CDATA[解密]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1708</guid>
		<description><![CDATA[欢迎各位使用的时候提出意见或者建议。 使用说明： 可以读取注册表或ini配置文件来获得缓存位置 QQ空间音乐可能读取不准，但不影响使用 因为涉及到文件解密，所以提取时占用CPU会比较高 可以自动读取wma标签进行改名，支持目录操作，方便归类 采用多线程编写，可以随时停止提取 感谢冷水加糖、ccxbox的帮助 QQ音乐缓存提取工具 v1.2 文件大小：14.7 KB&#12288;文件名称：QQMusicCollect.7z]]></description>
			<content:encoded><![CDATA[<p><strong>欢迎各位使用的时候提出意见或者建议。</strong></p>
<p><strong>使用说明：</strong></p>
<ul>
<li>可以读取注册表或ini配置文件来获得缓存位置</li>
<li>QQ空间音乐可能读取不准，但不影响使用</li>
<li>因为涉及到文件解密，所以提取时占用CPU会比较高</li>
<li>可以自动读取wma标签进行改名，支持目录操作，方便归类</li>
<li>采用多线程编写，可以随时停止提取</li>
<li>感谢<strong>冷水加糖、ccxbox</strong>的帮助</li>
</ul>
<p><span id="more-1708"></span><br />
<a class="lightbox" href="http://www.shuax.com/wp-content/uploads/2010/08/QQmusic.jpg"><img class="aligncenter size-full wp-image-1709" title="QQmusic" src="http://www.shuax.com/wp-content/uploads/2010/08/QQmusic.jpg" alt="" width="560" height="357" /></a><br />
<div class='download-link'>
							<a href='http://www.shuax.com/download.php?file=http://www.shuax.com/download/QQMusicCollect.7z'><img alt='Download' class='leftalign' src='http://www.shuax.com/wp-content/plugins/dBeautifier/icons/downloads.png' /></a>
							<h4>
								<a href='http://www.shuax.com/download.php?file=http://www.shuax.com/download/QQMusicCollect.7z'>QQ音乐缓存提取工具 v1.2</a>
							</h4><p>文件大小：14.7 KB&#12288;文件名称：QQMusicCollect.7z</p>
						</div></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1708</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>MacType（0620修正版）</title>
		<link>http://www.shuax.com/?p=1699</link>
		<comments>http://www.shuax.com/?p=1699#comments</comments>
		<pubDate>Mon, 09 Aug 2010 00:22:15 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[实用软件]]></category>
		<category><![CDATA[系统]]></category>
		<category><![CDATA[美化]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1699</guid>
		<description><![CDATA[GDI++FT版本改版现在将改名为MacType，版本号重新回归到1.0。所有相关组件的信息也全部更新。 此版本为2010.0620版本的修复版，无功能更新，仅用于修正0620中存在的问题。新功能和特性将在下个版本 中体现。 修正问题： 修正MacTray切换配置时崩溃的问题 修正Chrome崩溃的问题。 修正GDIBench一个测试用文件格式不对的问题 修正上个版本安装包存在的一些问题。 添加了一个新的配置文件 我使用了一段时间，没有发现任何乱码的地方哈，呵呵呵。也可以动态改变壁纸。 MacType ——————————————————————————————– 修正多处乱码问题包括 Excel乱码 扩展字符集乱码 股票软件乱码 缓存异常乱码等等 修正在灰度和light反锯齿模式下QQ拼音等程序显示不正常的问题 修正Google Earth等软件无法显示的问题(感谢Crendking) 修正大智慧等软件文字无法显示的问题(感谢Crendking) 修正eMule部分文字显示为白色的问题 修正使用Windows链接时一处bug 优化性能，在多字体等情况下现在有更快的速度了 优化字体链接，现在字体链接和字体替换有更好的兼容性了 优化点阵字处理，现在点阵字的显示比原来更快一些 优化控制字的处理方案 修改了字体替换策略，提升兼容性和效果，具体请参见下文 优化字体替换功能，现在可以在完全替换模式下替换掉迅雷的列表字体了 MacTray ——————————————————————————————– 程序改为unicode，现在可以在英文系统下正常显示了 整合配置管理，现在可以从设置窗口中快速编辑和新建配置了（需要安装Tuner） 优化服务处理，现在在MacTray加载模式下，从迅雷开启的资源管理器可以直接得到渲染了 优化托盘处理 优化服务安装，现在从菜单安装服务后能够自动帮您启动服务了 添加一项在线帮助菜单，可以访问我的博客中的问题解答页。 下载地址：http://flyingsnow.themex.net/wp-content/uploads/2010/07/MacTypeInstaller_2010_0630.rar]]></description>
			<content:encoded><![CDATA[<p>GDI++FT版本改版现在将改名为MacType，版本号重新回归到1.0。所有相关组件的信息也全部更新。</p>
<p>此版本为2010.0620版本的修复版，无功能更新，仅用于修正0620中存在的问题。新功能和特性将在下个版本 中体现。</p>
<p>修正问题：</p>
<ul>
<li>修正MacTray切换配置时崩溃的问题</li>
<li>修正Chrome崩溃的问题。</li>
<li>修正GDIBench一个测试用文件格式不对的问题</li>
<li>修正上个版本安装包存在的一些问题。</li>
<li>添加了一个新的配置文件</li>
</ul>
<p>我使用了一段时间，没有发现任何乱码的地方哈，呵呵呵。也可以动态改变壁纸。</p>
<p><span id="more-1699"></span></p>
<p>MacType<br />
——————————————————————————————–</p>
<ul>
<li>修正多处乱码问题包括
<ul>
<li>Excel乱码</li>
<li>扩展字符集乱码</li>
<li>股票软件乱码</li>
<li>缓存异常乱码等等</li>
</ul>
</li>
<li>修正在灰度和light反锯齿模式下QQ拼音等程序显示不正常的问题</li>
<li>修正Google Earth等软件无法显示的问题(感谢Crendking)</li>
<li>修正大智慧等软件文字无法显示的问题(感谢Crendking)</li>
<li>修正eMule部分文字显示为白色的问题</li>
<li>修正使用Windows链接时一处bug</li>
<li>优化性能，在多字体等情况下现在有更快的速度了</li>
<li>优化字体链接，现在字体链接和字体替换有更好的兼容性了</li>
<li>优化点阵字处理，现在点阵字的显示比原来更快一些</li>
<li>优化控制字的处理方案</li>
<li>修改了字体替换策略，提升兼容性和效果，具体请参见下文</li>
<li>优化字体替换功能，现在可以在完全替换模式下替换掉迅雷的列表字体了</li>
</ul>
<p>MacTray<br />
——————————————————————————————–</p>
<ul>
<li>程序改为unicode，现在可以在英文系统下正常显示了</li>
<li>整合配置管理，现在可以从设置窗口中快速编辑和新建配置了（需要安装Tuner）</li>
<li>优化服务处理，现在在MacTray加载模式下，从迅雷开启的资源管理器可以直接得到渲染了</li>
<li>优化托盘处理</li>
<li>优化服务安装，现在从菜单安装服务后能够自动帮您启动服务了</li>
<li>添加一项在线帮助菜单，可以访问我的博客中的问题解答页。</li>
</ul>
<p>下载地址：<a href="http://flyingsnow.themex.net/wp-content/uploads/2010/07/MacTypeInstaller_2010_0630.rar">http://flyingsnow.themex.net/wp-content/uploads/2010/07/MacTypeInstaller_2010_0630.rar</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1699</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>3RVX v2.5音量控制软件</title>
		<link>http://www.shuax.com/?p=1690</link>
		<comments>http://www.shuax.com/?p=1690#comments</comments>
		<pubDate>Sat, 07 Aug 2010 23:36:23 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[实用软件]]></category>
		<category><![CDATA[系统]]></category>
		<category><![CDATA[美化]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1690</guid>
		<description><![CDATA[3RVX是一款非常漂亮的模仿Mac音量控制的免费小软件！ 3RVX支持多国语言，内含简体中文。 支持自定义皮肤和快捷键。每款皮肤都非常精美，软件还支持多显示器。 对了，好像需要.NET Framework 2.0，不过作者说了，新版采用C++开发，期待吧。 官方网站：http://matt.malensek.net/ 下载地址：http://u.115.com/file/f0814950dd]]></description>
			<content:encoded><![CDATA[<p><a class="lightbox" href="http://www.shuax.com/wp-content/uploads/2010/08/3RVX_thumb.gif"><img class="alignleft size-full wp-image-1692" title="3RVX_thumb" src="http://www.shuax.com/wp-content/uploads/2010/08/3RVX_thumb.gif" alt="" width="90" height="90" /></a>3RVX是一款非常漂亮的模仿Mac音量控制的免费小软件！</p>
<p>3RVX支持多国语言，内含简体中文。</p>
<p>支持自定义皮肤和快捷键。每款皮肤都非常精美，软件还支持多显示器。</p>
<p>对了，好像需要.NET Framework 2.0，不过作者说了，新版采用C++开发，期待吧。</p>
<p><span id="more-1690"></span><a class="lightbox" href="http://www.shuax.com/wp-content/uploads/2010/08/3RVX.jpg"><img class="aligncenter size-full wp-image-1694" title="3RVX" src="http://www.shuax.com/wp-content/uploads/2010/08/3RVX.jpg" alt="" width="403" height="381" /></a><br />
官方网站：http://matt.malensek.net/<br />
下载地址：<a href="http://u.115.com/file/f0814950dd" target="_blank">http://u.115.com/file/f0814950dd</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1690</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>实现打开某个文件并选中</title>
		<link>http://www.shuax.com/?p=1688</link>
		<comments>http://www.shuax.com/?p=1688#comments</comments>
		<pubDate>Sat, 07 Aug 2010 07:06:13 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[C/C++]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[code]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1688</guid>
		<description><![CDATA[实现打开某个文件并选中，就是快捷方式上的查找目标功能。 简单的方法是调用explorer.exe并传入/select参数和要选中的文件。 直接采用ShellExecute即可实现，但是有些严重的缺陷。 每次调用都会创建一个explorer.exe进程，严重浪费内存 即使已经打开此文件文件夹，再次调用依然会创建新窗口 XP以上的操作系统提供了一个SHOpenFolderAndSelectItems函数，看见名字就知道这个函数的功能了。 因为我用的devcpp并没有这个函数的定义，所以我直接动态载入了。 我完成的代码如下： #ifndef _EXPLORE_H_ /*需要连接库文件 -lole32 */ #define _EXPLORE_H_ &#160; #include &#60;shlobj.h&#62; &#160; //在资源浏览器中打开并且选中 BOOL explore&#40;wchar_t *path&#41; &#123; BOOL bResult; LPSHELLFOLDER IpsfDeskTop; LPITEMIDLIST pidl; HRESULT hres; SHGetDesktopFolder&#40;&#38;IpsfDeskTop&#41;; hres = IpsfDeskTop -&#62;ParseDisplayName&#40;NULL, NULL, path, NULL, &#38;pidl, NULL&#41;; hres = IpsfDeskTop-&#62;Release&#40;&#41;; if &#40;FAILED&#40;hres&#41;&#41; return FALSE; typedef HRESULT &#40;WINAPI *MYFUNC&#41;&#40;LPCITEMIDLIST*, UINT, LPCITEMIDLIST*,]]></description>
			<content:encoded><![CDATA[<p>实现打开某个文件并选中，就是快捷方式上的查找目标功能。</p>
<p>简单的方法是调用explorer.exe并传入/select参数和要选中的文件。</p>
<p>直接采用ShellExecute即可实现，但是有些严重的缺陷。</p>
<ol>
<li>每次调用都会创建一个explorer.exe进程，严重浪费内存</li>
<li>即使已经打开此文件文件夹，再次调用依然会创建新窗口</li>
</ol>
<p>XP以上的操作系统提供了一个SHOpenFolderAndSelectItems函数，看见名字就知道这个函数的功能了。<br />
因为我用的devcpp并没有这个函数的定义，所以我直接动态载入了。<br />
<span id="more-1688"></span><br />
我完成的代码如下：</p>

<div class="wp_codebox"><table><tr id="p16888"><td class="code" id="p1688code8"><pre class="cpp" style="font-family:monospace;"><span style="color: #339900;">#ifndef _EXPLORE_H_ /*需要连接库文件 -lole32 */</span>
<span style="color: #339900;">#define _EXPLORE_H_</span>
&nbsp;
<span style="color: #339900;">#include &lt;shlobj.h&gt;</span>
&nbsp;
<span style="color: #666666;">//在资源浏览器中打开并且选中</span>
BOOL explore<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">wchar_t</span> <span style="color: #000040;">*</span>path<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	BOOL bResult<span style="color: #008080;">;</span>
	LPSHELLFOLDER IpsfDeskTop<span style="color: #008080;">;</span>
	LPITEMIDLIST pidl<span style="color: #008080;">;</span>
	HRESULT hres<span style="color: #008080;">;</span>
	SHGetDesktopFolder<span style="color: #008000;">&#40;</span><span style="color: #000040;">&amp;</span>IpsfDeskTop<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	hres <span style="color: #000080;">=</span> IpsfDeskTop <span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>ParseDisplayName<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">NULL</span>, <span style="color: #0000ff;">NULL</span>, path, <span style="color: #0000ff;">NULL</span>, <span style="color: #000040;">&amp;</span>pidl, <span style="color: #0000ff;">NULL</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	hres <span style="color: #000080;">=</span> IpsfDeskTop<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>Release<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>FAILED<span style="color: #008000;">&#40;</span>hres<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span> <span style="color: #0000ff;">return</span> FALSE<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">typedef</span> HRESULT <span style="color: #008000;">&#40;</span>WINAPI <span style="color: #000040;">*</span>MYFUNC<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#40;</span>LPCITEMIDLIST<span style="color: #000040;">*</span>, UINT, LPCITEMIDLIST<span style="color: #000040;">*</span>, DWORD<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	HINSTANCE ghShell32 <span style="color: #000080;">=</span> LoadLibrary<span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;Shell32.DLL&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>ghShell32 <span style="color: #000040;">!</span><span style="color: #000080;">=</span> <span style="color: #0000ff;">NULL</span><span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		MYFUNC SHOpen <span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span>MYFUNC<span style="color: #008000;">&#41;</span>GetProcAddress<span style="color: #008000;">&#40;</span>ghShell32, <span style="color: #FF0000;">&quot;SHOpenFolderAndSelectItems&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>SHOpen <span style="color: #000040;">!</span><span style="color: #000080;">=</span> <span style="color: #0000ff;">NULL</span><span style="color: #008000;">&#41;</span>
		<span style="color: #008000;">&#123;</span>
			CoInitialize<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">NULL</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
			SHOpen<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#40;</span>LPCITEMIDLIST<span style="color: #000040;">*</span><span style="color: #008000;">&#41;</span>pidl, <span style="color: #0000dd;">0</span>, <span style="color: #0000ff;">NULL</span>, <span style="color: #0000dd;">0</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
			CoUninitialize<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
			bResult <span style="color: #000080;">=</span> TRUE<span style="color: #008080;">;</span>
		<span style="color: #008000;">&#125;</span>
		FreeLibrary<span style="color: #008000;">&#40;</span>ghShell32<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		bResult <span style="color: #000080;">=</span> FALSE<span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000ff;">return</span> bResult<span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #339900;">#endif /* _EXPLORE_H_ */</span></pre></td></tr></table></div>

<p>因为使用了com接口（是这样吗？），需要连接ole32。<br />
另外由于使用UNICODE，如果是devcpp还需要设置编译选项-finput-charset=GB2312</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1688</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>[原创]QQ音乐缓存提取工具 v1.1</title>
		<link>http://www.shuax.com/?p=1679</link>
		<comments>http://www.shuax.com/?p=1679#comments</comments>
		<pubDate>Fri, 06 Aug 2010 01:55:17 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[原创软件]]></category>
		<category><![CDATA[QQ]]></category>
		<category><![CDATA[解密]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1679</guid>
		<description><![CDATA[还没有经过严格测试，欢迎各位使用的时候提出意见或者建议。 我不能肯定读取位置是否正确，如果有误，请将您的电脑上的缓存位置告诉我，非常感谢 目前应该可以读取注册表或ini配置文件来获得缓存位置，但是每个版本都不一样，实在难以测试 目前仅能读取wma标签（似乎QQ音乐基本都是这个格式的） 感谢冷水加糖、ccxbox的帮助 QQ音乐缓存提取工具 v1.1 文件大小：14.5 KB&#12288;文件名称：QQMusicCollect.7z]]></description>
			<content:encoded><![CDATA[<p><strong>还没有经过严格测试，欢迎各位使用的时候提出意见或者建议。</strong></p>
<ul>
<li>我不能肯定读取位置是否正确，如果有误，请将您的电脑上的缓存位置告诉我，非常感谢</li>
<li>目前应该可以读取注册表或ini配置文件来获得缓存位置，但是每个版本都不一样，实在难以测试</li>
<li>目前仅能读取wma标签（似乎QQ音乐基本都是这个格式的）</li>
<li>感谢<strong>冷水加糖、ccxbox</strong>的帮助</li>
</ul>
<p><span id="more-1679"></span></p>
<p><a href="http://www.shuax.com/wp-content/uploads/2010/08/Collect.png" class="lightbox"><img class="aligncenter size-full wp-image-1680" title="Collect" src="http://www.shuax.com/wp-content/uploads/2010/08/Collect.png" alt="" width="560" height="357" /></a><br />
<div class='download-link'>
							<a href='http://www.shuax.com/download.php?file=http://www.shuax.com/wp-content/uploads/2010/08/QQMusicCollect.7z'><img alt='Download' class='leftalign' src='http://www.shuax.com/wp-content/plugins/dBeautifier/icons/downloads.png' /></a>
							<h4>
								<a href='http://www.shuax.com/download.php?file=http://www.shuax.com/wp-content/uploads/2010/08/QQMusicCollect.7z'>QQ音乐缓存提取工具 v1.1</a>
							</h4><p>文件大小：14.5 KB&#12288;文件名称：QQMusicCollect.7z</p>
						</div></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1679</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>WinDirStat</title>
		<link>http://www.shuax.com/?p=1677</link>
		<comments>http://www.shuax.com/?p=1677#comments</comments>
		<pubDate>Thu, 05 Aug 2010 08:20:03 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[实用软件]]></category>
		<category><![CDATA[磁盘]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1677</guid>
		<description><![CDATA[WinDirStat 是一款免费的硬盘容量统计软件，它能够以全彩的方式来呈现不同的文件在硬盘中占去的空间大小，让使用者可以一目了然知道是哪一类型的文件占据了你宝贵的硬盘空间。 如果只是知道是哪一类型的文件占去硬盘空间，当然还不够，我们还需要进一步的处理。使用者可以直接于 WinDirStat 所显示的颜色区块上，点选某一个颜色，那么 WinDirStat 就会为你显示那个颜色所代表的文件有哪些，让使用者能够快速处理这些文件。不过要注意的是，如果你想要删除文件时，虽然可以透过 WinDirStat 工具列上的那个叉叉按钮，不过可要真的确定你不需要这些文件才这么做喔。因为藉由这个功能所删除的文件，将会不经过「资源回收桶」而被直接删除喔！ 下载地址：http://www.onlinedown.net/soft/38599.htm]]></description>
			<content:encoded><![CDATA[<p>WinDirStat 是一款免费的硬盘容量统计软件，它能够以全彩的方式来呈现不同的文件在硬盘中占去的空间大小，让使用者可以一目了然知道是哪一类型的文件占据了你宝贵的硬盘空间。</p>
<p>如果只是知道是哪一类型的文件占去硬盘空间，当然还不够，我们还需要进一步的处理。使用者可以直接于 WinDirStat 所显示的颜色区块上，点选某一个颜色，那么 WinDirStat 就会为你显示那个颜色所代表的文件有哪些，让使用者能够快速处理这些文件。不过要注意的是，如果你想要删除文件时，虽然可以透过 WinDirStat 工具列上的那个叉叉按钮，不过可要真的确定你不需要这些文件才这么做喔。因为藉由这个功能所删除的文件，将会不经过「资源回收桶」而被直接删除喔！<br />
<span id="more-1677"></span><br />
<a href="http://windirstat.info/images/windirstat.jpg"><img class="aligncenter size-full wp-image-1674" title="music" src="http://windirstat.info/images/windirstat.jpg" alt="" width="756" height="572" /></a><br />
下载地址：http://www.onlinedown.net/soft/38599.htm</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1677</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>[原创]QQ音乐去广告工具</title>
		<link>http://www.shuax.com/?p=1673</link>
		<comments>http://www.shuax.com/?p=1673#comments</comments>
		<pubDate>Thu, 05 Aug 2010 06:55:08 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[原创软件]]></category>
		<category><![CDATA[wpf]]></category>
		<category><![CDATA[去广告]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1673</guid>
		<description><![CDATA[程序运行环境：.net framework 3.5 很早就完成了这个工具，当然，那个时候是用C语言写的，而且我太粗心了，xp的位置没有写好。今天有空，用WPF重新做一个，哈哈。 去广告原理：http://www.shuax.com/?p=1105 程序需要： 您的电脑安装有QQ音乐 至少运行过一次 当前没有运行QQ音乐 QQMusicNoAD 文件大小：18.0 KB&#12288;文件名称：QQMusicNoAD.7z]]></description>
			<content:encoded><![CDATA[<p><strong>程序运行环境：.net framework 3.5</strong></p>
<p>很早就完成了这个工具，当然，那个时候是用C语言写的，而且我太粗心了，xp的位置没有写好。今天有空，用WPF重新做一个，哈哈。</p>
<p>去广告原理：http://www.shuax.com/?p=1105</p>
<p>程序需要：</p>
<ul>
<li>您的电脑安装有QQ音乐</li>
<li>至少运行过一次</li>
<li>当前没有运行QQ音乐</li>
</ul>
<p><a href="http://www.shuax.com/wp-content/uploads/2010/08/music.png" class="lightbox"><img class="aligncenter size-full wp-image-1674" title="music" src="http://www.shuax.com/wp-content/uploads/2010/08/music.png" alt="" width="501" height="227" /></a></p>
<p><div class='download-link'>
							<a href='http://www.shuax.com/download.php?file=http://www.shuax.com/wp-content/uploads/2010/08/QQMusicNoAD.7z'><img alt='Download' class='leftalign' src='http://www.shuax.com/wp-content/plugins/dBeautifier/icons/downloads.png' /></a>
							<h4>
								<a href='http://www.shuax.com/download.php?file=http://www.shuax.com/wp-content/uploads/2010/08/QQMusicNoAD.7z'>QQMusicNoAD</a>
							</h4><p>文件大小：18.0 KB&#12288;文件名称：QQMusicNoAD.7z</p>
						</div></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1673</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>[原创]硬盘整数分区计算器</title>
		<link>http://www.shuax.com/?p=1668</link>
		<comments>http://www.shuax.com/?p=1668#comments</comments>
		<pubDate>Thu, 05 Aug 2010 02:30:35 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[原创软件]]></category>
		<category><![CDATA[VC]]></category>
		<category><![CDATA[原创]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1668</guid>
		<description><![CDATA[想要分区了，确找不到以前的那个工具了，百度了一下，最终来到Slyar(http://www.slyar.com/blog/disk-int-ntfs-fat32.html)的博客。 我以前用的好像就是这个工具。但是那里不能下载了，既然有方法，那就用几分钟自己编一个吧。 硬盘整数分区计算器 文件大小：10.2 KB&#12288;文件名称：disk.7z]]></description>
			<content:encoded><![CDATA[<p>想要分区了，确找不到以前的那个工具了，百度了一下，最终来到Slyar(http://www.slyar.com/blog/disk-int-ntfs-fat32.html)的博客。<br />
我以前用的好像就是这个工具。但是那里不能下载了，既然有方法，那就用几分钟自己编一个吧。</p>
<p><a href="http://www.shuax.com/wp-content/uploads/2010/08/disk.png" class="lightbox"><img class="aligncenter size-full wp-image-1670" title="disk" src="http://www.shuax.com/wp-content/uploads/2010/08/disk.png" alt="" width="234" height="145" /></a><br />
<div class='download-link'>
							<a href='http://www.shuax.com/download.php?file=http://www.shuax.com/wp-content/uploads/2010/08/disk.7z'><img alt='Download' class='leftalign' src='http://www.shuax.com/wp-content/plugins/dBeautifier/icons/downloads.png' /></a>
							<h4>
								<a href='http://www.shuax.com/download.php?file=http://www.shuax.com/wp-content/uploads/2010/08/disk.7z'>硬盘整数分区计算器</a>
							</h4><p>文件大小：10.2 KB&#12288;文件名称：disk.7z</p>
						</div></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1668</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>[原创]字符替换工具</title>
		<link>http://www.shuax.com/?p=1665</link>
		<comments>http://www.shuax.com/?p=1665#comments</comments>
		<pubDate>Tue, 03 Aug 2010 08:15:01 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[原创软件]]></category>
		<category><![CDATA[文件]]></category>
		<category><![CDATA[算法]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1665</guid>
		<description><![CDATA[虽然我取名叫字符替换专家，但目前还不是。 支持ANSI、UNICODE、HEX的搜索。采用内存映射文件以及一个高速搜索算法，查询速度非常快。 我搜索文件2008 &#8211; 悬崖上的金鱼公主.mkv（文件大小1,652,915,574 字节， 1.53 GB）的最后4个字节，耗时不到30秒。 已知问题：不能处理超过4G的文件，因为我用的long数据类型，而且大于4G实在是用不到这个功能，就不改了。 下载地址： 字符替换专家 文件大小：12.5 KB&#12288;文件名称：CharacterReplaceExpert.7z]]></description>
			<content:encoded><![CDATA[<p>虽然我取名叫字符替换专家，但目前还不是。</p>
<p>支持ANSI、UNICODE、HEX的搜索。采用内存映射文件以及一个高速搜索算法，查询速度非常快。</p>
<p>我搜索文件<strong>2008 &#8211; 悬崖上的金鱼公主.mkv（文件大小1,652,915,574 字节， 1.53 GB）</strong>的最后4个字节，耗时不到30秒。</p>
<p>已知问题：不能处理超过4G的文件，因为我用的long数据类型，而且大于4G实在是用不到这个功能，就不改了。</p>
<p><span id="more-1665"></span><a href="http://www.shuax.com/wp-content/uploads/2010/08/text.png" class="lightbox"><img class="aligncenter size-full wp-image-1666" title="text" src="http://www.shuax.com/wp-content/uploads/2010/08/text.png" alt="" width="574" height="514" /></a></p>
<p>下载地址：<br />
<div class='download-link'>
							<a href='http://www.shuax.com/download.php?file=http://www.shuax.com/wp-content/uploads/2010/08/CharacterReplaceExpert.7z'><img alt='Download' class='leftalign' src='http://www.shuax.com/wp-content/plugins/dBeautifier/icons/downloads.png' /></a>
							<h4>
								<a href='http://www.shuax.com/download.php?file=http://www.shuax.com/wp-content/uploads/2010/08/CharacterReplaceExpert.7z'>字符替换专家</a>
							</h4><p>文件大小：12.5 KB&#12288;文件名称：CharacterReplaceExpert.7z</p>
						</div></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1665</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>福昕PDF阅读器4.1正式发布</title>
		<link>http://www.shuax.com/?p=1663</link>
		<comments>http://www.shuax.com/?p=1663#comments</comments>
		<pubDate>Tue, 03 Aug 2010 01:38:26 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[实用软件]]></category>
		<category><![CDATA[推荐]]></category>
		<category><![CDATA[软件]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1663</guid>
		<description><![CDATA[(2010-08-02) 福昕软件今天宣布福昕PDF阅读器4.1新版本正式发布啦！福昕PDF阅读器4.1 是一款小巧、快速且功能丰富的PDF 阅读器。允许您打开、浏览以及打印任何PDF 文档，并为您提供高水平的安全堡垒，抵抗各种流氓软件或恶意攻击，保障您的PDF阅读安全。 福昕PDF阅读器 4.1除了可以满足广大普通用户的需求，该版本增加了之前付费版本Foxit Reader Pro的所有功能，免费提供给用户使用，为企业和政府组织提供了更专业的服务。该版本也提供大量的PDF 定制选项，使其使用更为简单实用，从而最大限度的满足各类组织在商务目标及PDF浏览上的需求。符合ISO32000标准，更受企业欢迎。 福昕PDF阅读器4.1新功能列表： 真正免费的高级功能：福昕PDF阅读器 4.1 包含许多高级编辑功能，包括注释工具、文本浏览工具、表单填写、拼写检查以及高级编辑工具等完全免费供用户使用，是真正免费的PDF阅读器。 “安全阅读模式”设置更为方便：在安装”福昕PDF阅读器 4.1” 的同时，即可进行”安全阅读模式”的设置，简化了设置流程，更好的保证了PDF文档的安全使用。 Bug修复： 修复了打开某些PDF文件时，出现程序无法响应的问题。 修复了浏览较大的PDF文件时，滚动速度变慢的问题。 在用户同时安装有“福昕PDF阅读器”和“Foxit Phantom” 的情况下，交换使用两者，将不再弹出提示用户“是否将当前阅读器设置为默认”的对话框。 下载地址：http://www.fuxinsoftware.com.cn/pdf/reader/addons.php]]></description>
			<content:encoded><![CDATA[<p><cite>(2010-08-02)</cite></p>
<p>福昕软件今天宣布福昕PDF阅读器4.1新版本正式发布啦！福昕PDF阅读器4.1 是一款小巧、快速且功能丰富的PDF 阅读器。允许您打开、浏览以及打印任何PDF 文档，并为您提供高水平的安全堡垒，抵抗各种流氓软件或恶意攻击，保障您的PDF阅读安全。<br />
福昕PDF阅读器 4.1除了可以满足广大普通用户的需求，该版本增加了之前付费版本Foxit Reader Pro的所有功能，免费提供给用户使用，为企业和政府组织提供了更专业的服务。该版本也提供大量的PDF 定制选项，使其使用更为简单实用，从而最大限度的满足各类组织在商务目标及PDF浏览上的需求。符合ISO32000标准，更受企业欢迎。</p>
<p><span id="more-1663"></span></p>
<p><strong>福昕PDF阅读器4.1新功能列表：</strong></p>
<ol>
<li>真正免费的高级功能：福昕PDF阅读器 4.1 包含许多高级编辑功能，包括注释工具、文本浏览工具、表单填写、拼写检查以及高级编辑工具等完全免费供用户使用，是真正免费的PDF阅读器。</li>
<li>“安全阅读模式”设置更为方便：在安装”福昕PDF阅读器 4.1” 的同时，即可进行”安全阅读模式”的设置，简化了设置流程，更好的保证了PDF文档的安全使用。</li>
<li>Bug修复：</li>
</ol>
<ul>
<li>修复了打开某些PDF文件时，出现程序无法响应的问题。</li>
<li>修复了浏览较大的PDF文件时，滚动速度变慢的问题。</li>
<li>在用户同时安装有“福昕PDF阅读器”和“Foxit Phantom” 的情况下，交换使用两者，将不再弹出提示用户“是否将当前阅读器设置为默认”的对话框。</li>
</ul>
<p>下载地址：http://www.fuxinsoftware.com.cn/pdf/reader/addons.php</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1663</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>XueTr 0.36</title>
		<link>http://www.shuax.com/?p=1661</link>
		<comments>http://www.shuax.com/?p=1661#comments</comments>
		<pubDate>Mon, 02 Aug 2010 05:31:08 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[实用软件]]></category>
		<category><![CDATA[实用]]></category>
		<category><![CDATA[软件]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1661</guid>
		<description><![CDATA[XueTr一个强大的手工杀毒工具，支持32位的2000、xp、2003、vista、2008和Win7操作系统。 目前实现如下功能： 1.进程、线程、进程模块、进程窗口、进程内存、定时器、热键信息查看，杀进程、杀线程、卸载模块等功能 2.内核驱动模块查看，支持内核驱动模块的内存拷贝 3.SSDT、Shadow SSDT、FSD、KBD、TCPIP、Classpnp、Atapi、Acpi、SCSI、IDT、GDT信息查看，并能检测和恢复ssdt hook和inline hook 4.CreateProcess、CreateThread、LoadImage、CmpCallback、BugCheckCallback、Shutdown、Lego等Notify Routine信息查看，并支持对这些Notify Routine的删除 5.端口信息查看，目前不支持2000系统 6.查看消息钩子 7.内核模块的iat、eat、inline hook、patches检测和恢复 8.磁盘、卷、键盘、网络层等过滤驱动检测，并支持删除 9.注册表编辑 10.进程iat、eat、inline hook、patches检测和恢复 11.文件系统查看，支持基本的文件操作 12.查看（编辑）IE插件、SPI、启动项、服务、Host文件、映像劫持、文件关联、系统防火墙规则、IME 13.ObjectType Hook检测和恢复 14.DPC定时器检测和删除 15.MBR Rootkit检测和修复 16.内核对象劫持检测 免责声明：这只是一个免费的辅助小工具，如果您使用本工具，给您直接或者间接造成损失、损害，本人概不负责。从您使用本小工具的一刻起，将视为您已经接受了本免责声明。 下载点我(md5:C32CC3BAB513B078512797B320D009D6)]]></description>
			<content:encoded><![CDATA[<p>XueTr一个强大的手工杀毒工具，支持32位的2000、xp、2003、vista、2008和Win7操作系统。<br />
目前实现如下功能：<br />
1.进程、线程、进程模块、进程窗口、进程内存、定时器、热键信息查看，杀进程、杀线程、卸载模块等功能<br />
2.内核驱动模块查看，支持内核驱动模块的内存拷贝<br />
3.SSDT、Shadow SSDT、FSD、KBD、TCPIP、Classpnp、Atapi、Acpi、SCSI、IDT、GDT信息查看，并能检测和恢复ssdt hook和inline hook<br />
4.CreateProcess、CreateThread、LoadImage、CmpCallback、BugCheckCallback、Shutdown、Lego等Notify Routine信息查看，并支持对这些Notify Routine的删除<br />
5.端口信息查看，目前不支持2000系统<br />
<span id="more-1661"></span><br />
6.查看消息钩子<br />
7.内核模块的iat、eat、inline hook、patches检测和恢复<br />
8.磁盘、卷、键盘、网络层等过滤驱动检测，并支持删除<br />
9.注册表编辑<br />
10.进程iat、eat、inline hook、patches检测和恢复<br />
11.文件系统查看，支持基本的文件操作<br />
12.查看（编辑）IE插件、SPI、启动项、服务、Host文件、映像劫持、文件关联、系统防火墙规则、IME<br />
13.ObjectType Hook检测和恢复<br />
14.DPC定时器检测和删除<br />
15.MBR Rootkit检测和修复<br />
16.内核对象劫持检测</p>
<p>免责声明：这只是一个免费的辅助小工具，如果您使用本工具，给您直接或者间接造成损失、损害，本人概不负责。从您使用本小工具的一刻起，将视为您已经接受了本免责声明。<br />
<a href="http://xuetr.com/download/XueTr.zip">下载点我(md5:C32CC3BAB513B078512797B320D009D6)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1661</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>HGE &#8211; Haaf&#8217;s Game Engine</title>
		<link>http://www.shuax.com/?p=1658</link>
		<comments>http://www.shuax.com/?p=1658#comments</comments>
		<pubDate>Thu, 29 Jul 2010 23:23:48 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[程序开发]]></category>
		<category><![CDATA[游戏]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1658</guid>
		<description><![CDATA[　　HGE是一套十分易用的硬件加速2D游戏引擎。它基于DX8,运行于各种Win32平台,同时支持VC，BC，MinGW多种编译环境。它使用“The zlib/libpng license”协议发布，可以自由地使用在包括商业性质的项目上。 　　关键特性 　　1 专为2D游戏项目提供 　　2 接口简单且易于扩展 　　3 完善的文档 　　4 使用自由 首先，你要先下载hge的开发包，目前的版本是1.81,到官网去下载吧http://hge.relishgames.com/files/hge.zip 然后就看看例子程序吧，很多。 如果还不明白的可以使用搜索引擎。]]></description>
			<content:encoded><![CDATA[<p>　　HGE是一套十分易用的硬件加速2D游戏引擎。它基于DX8,运行于各种Win32平台,同时支持VC，BC，MinGW多种编译环境。它使用“The zlib/libpng license”协议发布，可以自由地使用在包括商业性质的项目上。<br />
　　<strong>关键特性</strong><br />
　　1 专为2D游戏项目提供<br />
　　2 接口简单且易于扩展<br />
　　3 完善的文档<br />
　　4 使用自由<br />
<span id="more-1658"></span><br />
首先，你要先下载hge的开发包，目前的版本是1.81,到官网去下载吧http://hge.relishgames.com/files/hge.zip<br />
然后就看看例子程序吧，很多。<br />
如果还不明白的可以使用搜索引擎。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1658</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>QQ2010 正式版 SP1 [去附带软件+去插件校验]</title>
		<link>http://www.shuax.com/?p=1654</link>
		<comments>http://www.shuax.com/?p=1654#comments</comments>
		<pubDate>Wed, 28 Jul 2010 01:45:08 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[原创软件]]></category>
		<category><![CDATA[QQ]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1654</guid>
		<description><![CDATA[QQ2010 正式版 SP1 what&#8217;s new： 1、划词搜索功能，边聊边搜更轻松； 2、QQ会员超级表情，心情表达更生动； 3、表情快捷搜索，精彩表情全搜索； 4、QQ昵称扩容，个性展示更完整； 5、主面板查看高清头像，预览更便捷。 ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ 由于QQ出现重大漏洞，已经于2010年7月28日更新 去掉了QQ拼音等伴随安装包的程序 去掉了插件校验，可以任意删除Plugin目录下插件（默认已经删除广告插件、今日要闻） 下载地址：http://u.115.com/file/f0b7f8b13f]]></description>
			<content:encoded><![CDATA[<p>QQ2010 正式版 SP1 what&#8217;s new：<br />
1、划词搜索功能，边聊边搜更轻松；<br />
2、QQ会员超级表情，心情表达更生动；<br />
3、表情快捷搜索，精彩表情全搜索；<br />
4、QQ昵称扩容，个性展示更完整；<br />
5、主面板查看高清头像，预览更便捷。<br />
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝<br />
<span style="color: #ff0000;"><strong> 由于QQ出现重大漏洞，已经于2010年7月28日更新</strong></span><br />
<span id="more-1654"></span> 去掉了QQ拼音等伴随安装包的程序<br />
去掉了插件校验，可以任意删除Plugin目录下插件（默认已经删除广告插件、今日要闻）</p>
<p>下载地址：http://u.115.com/file/f0b7f8b13f</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1654</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>典型的uninstall(第二版)</title>
		<link>http://www.shuax.com/?p=1645</link>
		<comments>http://www.shuax.com/?p=1645#comments</comments>
		<pubDate>Mon, 26 Jul 2010 00:14:38 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[C/C++]]></category>
		<category><![CDATA[QQ]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1645</guid>
		<description><![CDATA[比如想在QQ安装包里面添加文件的时候，以前我都是改msi，而ansifa则是使用QQ.exe包含所需文件，第一次运行时即可释放。我每次都改msi也确实改够了，还是做个一次性的了解吧，以后就方便了。 主要功能是从exe资源的zip文件中释放包括QQ.exe的所有资源，然后启动QQ.exe。临时文件会在重启后删除。 哦，因为QQ是UNICODE的，所以最好这个程序也要是UNICODE的。 源代码如下（修改了代码，支持zip文件中的中文了）： #include &#60;windows.h&#62; #include &#60;shlobj.h&#62; #include &#60;tchar.h&#62; #include &#34;unzip.cpp&#34; wchar_t title&#91;&#93;=L&#34;QQ文件释放工具&#34;; void ChuangJianJinCheng&#40;wchar_t *szCmdLine&#41; //创建进程 &#123; STARTUPINFOW si; ZeroMemory&#40;&#38;si, sizeof&#40;si&#41;&#41;; si.cb = sizeof&#40;si&#41;; PROCESS_INFORMATION pi; ZeroMemory&#40; &#38;pi, sizeof&#40;pi&#41; &#41;; if&#40;CreateProcessW&#40;NULL, szCmdLine, NULL, NULL, TRUE, 0, NULL, NULL, &#38;si, &#38;pi&#41;==0&#41; &#123; MessageBoxW&#40;0, L&#34;错误: 创建进程时失败！&#34;, title, MB_ICONSTOP&#41;; &#125; &#125; int WINAPI WinMain &#40;HINSTANCE hInstance,]]></description>
			<content:encoded><![CDATA[<p>比如想在QQ安装包里面添加文件的时候，以前我都是改msi，而ansifa则是使用QQ.exe包含所需文件，第一次运行时即可释放。我每次都改msi也确实改够了，还是做个一次性的了解吧，以后就方便了。</p>
<p>主要功能是从exe资源的zip文件中释放包括QQ.exe的所有资源，然后启动QQ.exe。临时文件会在重启后删除。</p>
<p>哦，因为QQ是UNICODE的，所以最好这个程序也要是UNICODE的。</p>
<p>源代码如下（修改了代码，支持zip文件中的中文了）：</p>
<p><span id="more-1645"></span></p>

<div class="wp_codebox"><table><tr id="p164510"><td class="code" id="p1645code10"><pre class="cpp" style="font-family:monospace;"><span style="color: #339900;">#include &lt;windows.h&gt;</span>
<span style="color: #339900;">#include &lt;shlobj.h&gt;</span>
<span style="color: #339900;">#include &lt;tchar.h&gt;</span>
<span style="color: #339900;">#include &quot;unzip.cpp&quot;</span>
<span style="color: #0000ff;">wchar_t</span> title<span style="color: #008000;">&#91;</span><span style="color: #008000;">&#93;</span><span style="color: #000080;">=</span>L<span style="color: #FF0000;">&quot;QQ文件释放工具&quot;</span><span style="color: #008080;">;</span>
<span style="color: #0000ff;">void</span> ChuangJianJinCheng<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">wchar_t</span> <span style="color: #000040;">*</span>szCmdLine<span style="color: #008000;">&#41;</span> <span style="color: #666666;">//创建进程</span>
<span style="color: #008000;">&#123;</span>
	STARTUPINFOW si<span style="color: #008080;">;</span>
	ZeroMemory<span style="color: #008000;">&#40;</span><span style="color: #000040;">&amp;</span>si, <span style="color: #0000dd;">sizeof</span><span style="color: #008000;">&#40;</span>si<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	si.<span style="color: #007788;">cb</span> <span style="color: #000080;">=</span> <span style="color: #0000dd;">sizeof</span><span style="color: #008000;">&#40;</span>si<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	PROCESS_INFORMATION pi<span style="color: #008080;">;</span>
	ZeroMemory<span style="color: #008000;">&#40;</span> <span style="color: #000040;">&amp;</span>pi, <span style="color: #0000dd;">sizeof</span><span style="color: #008000;">&#40;</span>pi<span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">if</span><span style="color: #008000;">&#40;</span>CreateProcessW<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">NULL</span>, szCmdLine, <span style="color: #0000ff;">NULL</span>, <span style="color: #0000ff;">NULL</span>, TRUE, <span style="color: #0000dd;">0</span>, <span style="color: #0000ff;">NULL</span>, <span style="color: #0000ff;">NULL</span>, <span style="color: #000040;">&amp;</span>si, <span style="color: #000040;">&amp;</span>pi<span style="color: #008000;">&#41;</span><span style="color: #000080;">==</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		MessageBoxW<span style="color: #008000;">&#40;</span><span style="color: #0000dd;">0</span>, L<span style="color: #FF0000;">&quot;错误: 创建进程时失败！&quot;</span>, title, MB_ICONSTOP<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">int</span> WINAPI WinMain <span style="color: #008000;">&#40;</span>HINSTANCE hInstance, HINSTANCE hPrevInstance,
		PSTR szCmdLine, <span style="color: #0000ff;">int</span> iCmdShow<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">int</span> argc<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">wchar_t</span> <span style="color: #000040;">**</span>argv<span style="color: #008080;">;</span>
	argv <span style="color: #000080;">=</span> CommandLineToArgvW<span style="color: #008000;">&#40;</span>GetCommandLineW<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>, <span style="color: #000040;">&amp;</span>argc<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>argc <span style="color: #000040;">!</span><span style="color: #000080;">=</span> <span style="color: #0000dd;">3</span><span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #666666;">//保护程序</span>
		<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>wcsicmp<span style="color: #008000;">&#40;</span>wcsrchr<span style="color: #008000;">&#40;</span>argv<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#93;</span>,<span style="color: #FF0000;">'<span style="color: #000099; font-weight: bold;">\\</span>'</span><span style="color: #008000;">&#41;</span><span style="color: #000040;">+</span><span style="color: #0000dd;">1</span>, L<span style="color: #FF0000;">&quot;QQ.exe&quot;</span><span style="color: #008000;">&#41;</span> <span style="color: #000040;">!</span><span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008000;">&#41;</span>
		<span style="color: #008000;">&#123;</span>
			MessageBoxW<span style="color: #008000;">&#40;</span><span style="color: #0000dd;">0</span>, L<span style="color: #FF0000;">&quot;警告: 此程序禁止分离运行！&quot;</span>, title, MB_ICONSTOP<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
			<span style="color: #0000ff;">return</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
		<span style="color: #008000;">&#125;</span>
		<span style="color: #0000ff;">wchar_t</span> szPathOrig<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">1024</span><span style="color: #008000;">&#93;</span>, szPathTemp<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">1024</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
		wsprintfW<span style="color: #008000;">&#40;</span>szPathOrig, L<span style="color: #FF0000;">&quot;%s&quot;</span>, argv<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
&nbsp;
		<span style="color: #666666;">//复制执行文件到当前目录//临时文件夹</span>
		wcscpy<span style="color: #008000;">&#40;</span>szPathTemp, L<span style="color: #FF0000;">&quot;.&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span><span style="color: #666666;">//GetTempPath(MAX_PATH, szPathTemp);</span>
		GetTempFileNameW<span style="color: #008000;">&#40;</span>szPathTemp, L<span style="color: #FF0000;">&quot;tmp&quot;</span>, <span style="color: #0000dd;">0</span>, szPathTemp<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		CopyFileW<span style="color: #008000;">&#40;</span>szPathOrig, szPathTemp, FALSE<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		SetFileAttributesW<span style="color: #008000;">&#40;</span>szPathTemp, FILE_ATTRIBUTE_HIDDEN<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
&nbsp;
		<span style="color: #666666;">//运行临时文件</span>
		<span style="color: #0000ff;">wchar_t</span> szCmdLine<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">512</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
		HANDLE hProcessOrig <span style="color: #000080;">=</span> OpenProcess<span style="color: #008000;">&#40;</span>SYNCHRONIZE, TRUE, GetCurrentProcessId<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		wsprintfW<span style="color: #008000;">&#40;</span>szCmdLine, L<span style="color: #FF0000;">&quot;%s %d <span style="color: #000099; font-weight: bold;">\&quot;</span>%s<span style="color: #000099; font-weight: bold;">\&quot;</span> &quot;</span>, szPathTemp, hProcessOrig, szPathOrig<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		ChuangJianJinCheng<span style="color: #008000;">&#40;</span>szCmdLine<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		CloseHandle<span style="color: #008000;">&#40;</span>hProcessOrig<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000ff;">else</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #666666;">//删除原始文件</span>
		HANDLE hProcessOrig<span style="color: #008080;">;</span>
		swscanf<span style="color: #008000;">&#40;</span>argv<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span>,L<span style="color: #FF0000;">&quot;%d&quot;</span>,<span style="color: #000040;">&amp;</span>hProcessOrig<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		WaitForSingleObject<span style="color: #008000;">&#40;</span>hProcessOrig, INFINITE<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		CloseHandle<span style="color: #008000;">&#40;</span>hProcessOrig<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		DeleteFileW<span style="color: #008000;">&#40;</span>argv<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
&nbsp;
		<span style="color: #666666;">//解压zip中所有文件 </span>
		HRSRC hrsrc <span style="color: #000080;">=</span> FindResourceW<span style="color: #008000;">&#40;</span>hInstance, MAKEINTRESOURCEW<span style="color: #008000;">&#40;</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span>, L<span style="color: #FF0000;">&quot;SHUAX&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">if</span><span style="color: #008000;">&#40;</span>hrsrc<span style="color: #000080;">==</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#41;</span>
		<span style="color: #008000;">&#123;</span>
			MessageBoxW<span style="color: #008000;">&#40;</span><span style="color: #0000dd;">0</span>, L<span style="color: #FF0000;">&quot;错误: 程序资源寻找失败！&quot;</span>, title, MB_ICONSTOP<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
			<span style="color: #0000ff;">return</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
		<span style="color: #008000;">&#125;</span>
		HANDLE hglob <span style="color: #000080;">=</span> LoadResource<span style="color: #008000;">&#40;</span>hInstance, hrsrc<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">void</span> <span style="color: #000040;">*</span>zipbuf <span style="color: #000080;">=</span> LockResource<span style="color: #008000;">&#40;</span>hglob<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">unsigned</span> <span style="color: #0000ff;">int</span> ziplen <span style="color: #000080;">=</span> SizeofResource<span style="color: #008000;">&#40;</span>hInstance, hrsrc<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		HZIP hz <span style="color: #000080;">=</span> OpenZip<span style="color: #008000;">&#40;</span>zipbuf, ziplen, <span style="color: #0000dd;">0</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #666666;">//设置解压目录 SetUnzipBaseDir(hz,L&quot;.&quot;);</span>
		ZIPENTRY ze<span style="color: #008080;">;</span> GetZipItem<span style="color: #008000;">&#40;</span>hz, <span style="color: #000040;">-</span><span style="color: #0000dd;">1</span>, <span style="color: #000040;">&amp;</span>ze<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span> <span style="color: #0000ff;">int</span> numitems <span style="color: #000080;">=</span> ze.<span style="color: #007788;">index</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> zi <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span> zi <span style="color: #000080;">&lt;</span> numitems<span style="color: #008080;">;</span> zi<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
		<span style="color: #008000;">&#123;</span>
			ZIPENTRY ze<span style="color: #008080;">;</span> GetZipItem<span style="color: #008000;">&#40;</span>hz, zi, <span style="color: #000040;">&amp;</span>ze<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
			UnzipItem<span style="color: #008000;">&#40;</span>hz, zi, ze.<span style="color: #007788;">name</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #008000;">&#125;</span>
		CloseZip<span style="color: #008000;">&#40;</span>hz<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
&nbsp;
		<span style="color: #666666;">//运行进程</span>
		ChuangJianJinCheng<span style="color: #008000;">&#40;</span>argv<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
&nbsp;
		<span style="color: #666666;">//删除临时文件(重启后删除)</span>
		SHChangeNotify<span style="color: #008000;">&#40;</span>SHCNE_DELETE, SHCNF_PATH, argv<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#93;</span>, <span style="color: #0000dd;">0</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		MoveFileExW<span style="color: #008000;">&#40;</span>argv<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#93;</span>, <span style="color: #0000dd;">0</span>, MOVEFILE_DELAY_UNTIL_REBOOT<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
&nbsp;
		<span style="color: #666666;">//刷新图标</span>
		SHChangeNotify<span style="color: #008000;">&#40;</span>SHCNE_ASSOCCHANGED, SHCNF_IDLIST <span style="color: #000040;">+</span> SHCNF_FLUSH,<span style="color: #0000ff;">NULL</span>,<span style="color: #0000ff;">NULL</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		SHChangeNotify<span style="color: #008000;">&#40;</span>SHCNE_ALLEVENTS , SHCNF_FLUSH, <span style="color: #0000dd;">0</span>, <span style="color: #0000dd;">0</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000ff;">return</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></td></tr></table></div>

<blockquote><p>
资源文件res.rc内容<br />
1	SHUAX	DISCARDABLE	&#8220;DATA\\DATA.zip&#8221;
</p></blockquote>
<p>生成的exe下载：<div class='download-link'>
							<a href='http://www.shuax.com/download.php?file=http://www.shuax.com/wp-content/uploads/2010/07/QQ.rar'><img alt='Download' class='leftalign' src='http://www.shuax.com/wp-content/plugins/dBeautifier/icons/downloads.png' /></a>
							<h4>
								<a href='http://www.shuax.com/download.php?file=http://www.shuax.com/wp-content/uploads/2010/07/QQ.rar'>QQ</a>
							</h4><p>文件大小：85.0 KB&#12288;文件名称：QQ.rar</p>
						</div></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1645</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Bejeweled Blitz(宝石迷阵4:闪电风暴)完美破解版</title>
		<link>http://www.shuax.com/?p=1641</link>
		<comments>http://www.shuax.com/?p=1641#comments</comments>
		<pubDate>Fri, 23 Jul 2010 12:08:35 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[实用软件]]></category>
		<category><![CDATA[游戏]]></category>
		<category><![CDATA[破解]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1641</guid>
		<description><![CDATA[游戏简介： 2009年10月，Bejeweled正式登陆Facebook，这也是史上最激烈的宝石迷阵游戏！ 你可以与你的朋友进行竞赛，也可以组队来赢取大奖！ 小心沉迷其中——因为每局只有一分钟！ 这就是SNS版Bejeweled——Bejeweled Blitz！ 目前PC版已经发布，将作为Popcap及Bejeweled系列10周年的贺礼！ 在一分钟内尽力赢取高分吧！ 游戏截图： 下载地址：http://u.115.com/file/f06d246b78 百度百科：http://baike.baidu.com/view/3263951.htm / http://baike.baidu.com/view/3473345.htm]]></description>
			<content:encoded><![CDATA[<p><strong>游戏简介：</strong><br />
2009年10月，Bejeweled正式登陆Facebook，这也是史上最激烈的宝石迷阵游戏！<br />
你可以与你的朋友进行竞赛，也可以组队来赢取大奖！<br />
小心沉迷其中——因为每局只有一分钟！<br />
这就是SNS版Bejeweled——Bejeweled Blitz！<br />
目前PC版已经发布，将作为Popcap及Bejeweled系列10周年的贺礼！<br />
在一分钟内尽力赢取高分吧！</p>
<p><span id="more-1641"></span><strong>游戏截图：</strong><br />
<a class="lightbox" href="http://www.shuax.com/wp-content/uploads/2010/07/bj.jpg"><img class="aligncenter size-full wp-image-1642" title="bj" src="http://www.shuax.com/wp-content/uploads/2010/07/bj.jpg" alt="" width="784" height="614" /></a><br />
<strong>下载地址：http://u.115.com/file/f06d246b78</strong><br />
<strong>百度百科：</strong>http://baike.baidu.com/view/3263951.htm / http://baike.baidu.com/view/3473345.htm</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1641</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>QQ2010正式版 最终修改版</title>
		<link>http://www.shuax.com/?p=1632</link>
		<comments>http://www.shuax.com/?p=1632#comments</comments>
		<pubDate>Tue, 20 Jul 2010 10:09:40 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[原创软件]]></category>
		<category><![CDATA[QQ]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1632</guid>
		<description><![CDATA[数字签名：QQ2010正式版 2010年7月9日(1720) 修改时间：2010年7月20日 清除了QQ电脑管家、QQ拼音等捆绑软件。 去掉了设置浏览器首页和查看新版本特性。 集成FineIP，可以显示IP（发送图片或文件） 集成插件破解，精简大量无用插件 保留插件为： 视频聊天 Com.Tencent.AudioVideo 文件传输 Com.Tencent.FileTransfer QQ邮箱　Com.Tencent.Mail 网络硬盘 Com.Tencent.NetDisk QQ秀　　Com.Tencent.QQShow QQ空间　Com.Tencent.Qzone 远程协助 Com.Tencent.RemoteHelp 好友印象 Com.Tencent.SNSApp 天气预报 Com.Tencent.Weather 如果你认为精简过多，可以下载还原包，解压到插件目录即可。 下载地址：http://u.115.com/file/f0c3cf89da 此外为了减小安装包体积，采用了精简版IP数据库。 如果无法满足你的需求，可以下载最新版纯真数据库，解压到Bin目录下覆盖原有文件即可。]]></description>
			<content:encoded><![CDATA[<h4><strong>数字签名：QQ2010正式版 2010年7月9日(1720)</strong><br />
<strong>修改时间：2010年7月20日</strong></h4>
<ul>
<li>清除了QQ电脑管家、QQ拼音等捆绑软件。</li>
<li>去掉了设置浏览器首页和查看新版本特性。</li>
<li>集成FineIP，可以显示IP（发送图片或文件）</li>
<li>集成插件破解，精简大量无用插件</li>
</ul>
<p><span id="more-1632"></span>保留插件为：</p>
<p>视频聊天 Com.Tencent.AudioVideo<br />
文件传输 Com.Tencent.FileTransfer<br />
QQ邮箱　Com.Tencent.Mail<br />
网络硬盘 Com.Tencent.NetDisk<br />
QQ秀　　Com.Tencent.QQShow<br />
QQ空间　Com.Tencent.Qzone<br />
远程协助 Com.Tencent.RemoteHelp<br />
好友印象 Com.Tencent.SNSApp<br />
天气预报 Com.Tencent.Weather</p>
<p>如果你认为精简过多，可以下载<a href="http://u.115.com/file/f036e76f1a">还原包</a>，解压到插件目录即可。</p>
<h2>下载地址：<a href="http://u.115.com/file/f0c3cf89da" target="_blank">http://u.115.com/file/f0c3cf89da</a></h2>
<p>此外为了减小安装包体积，采用了精简版IP数据库。</p>
<p>如果无法满足你的需求，可以下载最新版<a href="http://u.115.com/file/f084b530a2" target="_blank">纯真数据库</a>，解压到Bin目录下覆盖原有文件即可。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1632</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>QQ侦探 HIPS of QQ</title>
		<link>http://www.shuax.com/?p=1630</link>
		<comments>http://www.shuax.com/?p=1630#comments</comments>
		<pubDate>Mon, 19 Jul 2010 10:51:18 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[实用软件]]></category>
		<category><![CDATA[QQ]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1630</guid>
		<description><![CDATA[据说QQ是会扫描用户隐私的，许多人都在寻找方法防止此事，我刚好在网上看见这个软件，就推荐给大家了。 《QQ侦探》是一款专为腾讯IM系列软件打造的轻量级智能型&#8221;类HIPS&#8221;，其主要功能是拦截QQ（包括TM）的一些程序行为，让您的系统更加安全。（注：HIPS即主机入侵防御系统） 《QQ侦探》采用内核驱动的方式拦截QQ行为，因此，您可以在不启动任何《QQ侦探》进程的情况下，QQ的行为也会受到限制。您启用了《QQ侦探》的保护模块之后，您不会感觉到您的系统和之前有任何不同。《QQ侦探》已经在内部为您做了大量的工作，因此您只需要双击&#8221;QQDetective.exe&#8221;（QQ侦探配置程序）自动安装保护模块然后退出即可。当然，您也可以通过&#8221;QQDetective.exe&#8221;进行自己的个性化设置。另外，您还可以使用&#8221;QDLog.exe&#8221;查看当前QQ的行为拦截记录。 《QQ侦探》的主要功能： 1.拦截文件内容扫描 2.监控QQ操作注册表关键信息（《QQ侦探》不会拦截QQ对注册表的操作） 3.拦截QQ访问其他进程虚拟内存 4.拦截QQ创建进程动作 下载地址：http://code.google.com/p/qqdetective/downloads/list]]></description>
			<content:encoded><![CDATA[<p>据说QQ是会扫描用户隐私的，许多人都在寻找方法防止此事，我刚好在网上看见这个软件，就推荐给大家了。</p>
<p>《QQ侦探》是一款专为腾讯IM系列软件打造的轻量级智能型&#8221;类HIPS&#8221;，其主要功能是拦截QQ（包括TM）的一些程序行为，让您的系统更加安全。（注：HIPS即主机入侵防御系统）</p>
<p>《QQ侦探》采用内核驱动的方式拦截QQ行为，因此，您可以在不启动任何《QQ侦探》进程的情况下，QQ的行为也会受到限制。您启用了《QQ侦探》的保护模块之后，您不会感觉到您的系统和之前有任何不同。《QQ侦探》已经在内部为您做了大量的工作，因此您只需要双击&#8221;QQDetective.exe&#8221;（QQ侦探配置程序）自动安装保护模块然后退出即可。当然，您也可以通过&#8221;QQDetective.exe&#8221;进行自己的个性化设置。另外，您还可以使用&#8221;QDLog.exe&#8221;查看当前QQ的行为拦截记录。</p>
<p><span id="more-1630"></span></p>
<p>《QQ侦探》的主要功能：</p>
<p>1.拦截文件内容扫描</p>
<p>2.监控QQ操作注册表关键信息（《QQ侦探》不会拦截QQ对注册表的操作）</p>
<p>3.拦截QQ访问其他进程虚拟内存</p>
<p>4.拦截QQ创建进程动作</p>
<p>下载地址：<a href="http://code.google.com/p/qqdetective/downloads/list" target="_blank">http://code.google.com/p/qqdetective/downloads/list</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1630</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>关于PT的经验</title>
		<link>http://www.shuax.com/?p=1614</link>
		<comments>http://www.shuax.com/?p=1614#comments</comments>
		<pubDate>Sun, 18 Jul 2010 07:32:35 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[我的生活]]></category>
		<category><![CDATA[下载]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1614</guid>
		<description><![CDATA[据说因为版权问题，学校以前的资源分享网站倒闭了，为了摆脱网速的限制，我们几个人开始使用FTP分享资源，但是流量确实太大，经过测试，PT能够在校园网中使用，我们使用的网站系统是xbtit，免费的，但是功能不是太强，只能刚好使用。经过修改，我已经把汉化全部做完了，也加上了防止迅雷等吸血客户端链接的代码。如果你有需要，可以联系我获得源代码。 偶然一天看见nexusphp开源了，据说是和葡萄PT闹矛盾，然后……不管那么多了，我们就渔翁得利吧，官方网站：http://sourceforge.net/projects/nexusphp/files/ 下载最新源代码。 我使用的是Windows环境，服务器用的APMServ5.2.6，因为这个用起来比较简单。需要启用memcached和运行一下go-pear.bat，后面那个我不知道是否必须。首先配置虚拟主机等，这些就不用我介绍了。然后导入nexusphp的数据库，修改配置文件&#8217;config/allconfig.php&#8217;中的对应部分，修改&#8217;classes\class_cache.php&#8217;中的localhost为127.0.0.1。 在浏览器中输入你的域名应该就能看见网站了。现在注册一个账号。然后来到数据库中将此帐号的class设置为16，这样才是管理员。 剩下的工作就使用管理员账号进行设置吧。 另外由于xbtit的密码保存方式和nexusphp的不一致，直接进行转移是不太可能的了，大概要修改代码吧。]]></description>
			<content:encoded><![CDATA[<p>据说因为版权问题，学校以前的资源分享网站倒闭了，为了摆脱网速的限制，我们几个人开始使用FTP分享资源，但是流量确实太大，经过测试，PT能够在校园网中使用，我们使用的网站系统是xbtit，免费的，但是功能不是太强，只能刚好使用。经过修改，我已经把汉化全部做完了，也加上了防止迅雷等吸血客户端链接的代码。如果你有需要，可以联系我获得源代码。</p>
<p><span id="more-1614"></span></p>
<p>偶然一天看见nexusphp开源了，据说是和葡萄PT闹矛盾，然后……不管那么多了，我们就渔翁得利吧，官方网站：http://sourceforge.net/projects/nexusphp/files/ 下载最新源代码。</p>
<p>我使用的是Windows环境，服务器用的APMServ5.2.6，因为这个用起来比较简单。需要启用memcached和运行一下go-pear.bat，后面那个我不知道是否必须。首先配置虚拟主机等，这些就不用我介绍了。然后导入nexusphp的数据库，修改配置文件&#8217;config/allconfig.php&#8217;中的对应部分，修改&#8217;classes\class_cache.php&#8217;中的localhost为127.0.0.1。</p>
<p>在浏览器中输入你的域名应该就能看见网站了。现在注册一个账号。然后来到数据库中将此帐号的class设置为16，这样才是管理员。</p>
<p>剩下的工作就使用管理员账号进行设置吧。</p>
<p>另外由于xbtit的密码保存方式和nexusphp的不一致，直接进行转移是不太可能的了，大概要修改代码吧。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1614</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>我不说这个是什么东西，喜欢的拿去</title>
		<link>http://www.shuax.com/?p=1610</link>
		<comments>http://www.shuax.com/?p=1610#comments</comments>
		<pubDate>Sat, 26 Jun 2010 22:06:35 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[原创软件]]></category>
		<category><![CDATA[dll]]></category>
		<category><![CDATA[QQ]]></category>
		<category><![CDATA[解密]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1610</guid>
		<description><![CDATA[因为是请求别人给我看看的，所以具体是什么我就不说了，自己下载压缩包看吧，也许对你有用，呵呵。 压缩包不大，不用怕。 这是我第一次采用dll的形式写的程序，不知道兼容性好不，呵呵。 包含一下内容： dir.dll/tag.dll/tea.dll/例子.bat/不告诉你名字.exe 这次就不附带源代码了，实在太多了。 QQdll 文件大小：7.1 KB&#12288;文件名称：QQdll.rar]]></description>
			<content:encoded><![CDATA[<p>因为是请求别人给我看看的，所以具体是什么我就不说了，自己下载压缩包看吧，也许对你有用，呵呵。</p>
<p>压缩包不大，不用怕。</p>
<p>这是我第一次采用dll的形式写的程序，不知道兼容性好不，呵呵。</p>
<p>包含一下内容：</p>
<p>dir.dll/tag.dll/tea.dll/例子.bat/不告诉你名字.exe</p>
<p>这次就不附带源代码了，实在太多了。</p>
<p><span id="more-1610"></span><br />
<div class='download-link'>
							<a href='http://www.shuax.com/download.php?file=http://www.shuax.com/wp-content/uploads/2010/06/QQdll.rar'><img alt='Download' class='leftalign' src='http://www.shuax.com/wp-content/plugins/dBeautifier/icons/downloads.png' /></a>
							<h4>
								<a href='http://www.shuax.com/download.php?file=http://www.shuax.com/wp-content/uploads/2010/06/QQdll.rar'>QQdll</a>
							</h4><p>文件大小：7.1 KB&#12288;文件名称：QQdll.rar</p>
						</div></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1610</wfw:commentRss>
		<slash:comments>22</slash:comments>
		</item>
		<item>
		<title>学习了一下C++的运算符重载</title>
		<link>http://www.shuax.com/?p=1608</link>
		<comments>http://www.shuax.com/?p=1608#comments</comments>
		<pubDate>Thu, 24 Jun 2010 23:57:27 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[C/C++]]></category>
		<category><![CDATA[程序开发]]></category>
		<category><![CDATA[C++]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1608</guid>
		<description><![CDATA[各位不好意思了，最近很忙，都不想写博客了。今天空多，发一篇。 因为对char失去了使用的欲望，所以尝试着自己写一个string类，没写完，全当是学习一下重载咯。 其实代码没必要这么多的，我又顺便学了一个str开头的函数。 除了需要引用malloc.h以外，其它的都是独立的。 所有全代码请查看全文SString.h。 &#160; #ifndef ___S_STRING_H_ #define ___S_STRING_H_ &#160; #ifdef __cplusplus extern &#34;C&#34; &#123; #endif &#160; #include &#60;malloc.h&#62; &#160; class String &#123; private: char *str; int len; int strlen&#40;const char *str&#41; &#123; int length = 0; while &#40;*str++&#41; &#123; length++; &#125; return length; &#125; char *strcpy&#40;char *dst, const char *src&#41; &#123; char *tmp]]></description>
			<content:encoded><![CDATA[<p>各位不好意思了，最近很忙，都不想写博客了。今天空多，发一篇。</p>
<p>因为对char失去了使用的欲望，所以尝试着自己写一个string类，没写完，全当是学习一下重载咯。</p>
<p>其实代码没必要这么多的，我又顺便学了一个str开头的函数。</p>
<p>除了需要引用malloc.h以外，其它的都是独立的。</p>
<p>所有全代码请查看全文SString.h。</p>
<p><span id="more-1608"></span></p>

<div class="wp_codebox"><table><tr id="p160812"><td class="code" id="p1608code12"><pre class="cpp" style="font-family:monospace;">&nbsp;
<span style="color: #339900;">#ifndef ___S_STRING_H_</span>
<span style="color: #339900;">#define ___S_STRING_H_</span>
&nbsp;
<span style="color: #339900;">#ifdef	__cplusplus</span>
<span style="color: #0000ff;">extern</span> <span style="color: #FF0000;">&quot;C&quot;</span> <span style="color: #008000;">&#123;</span>
<span style="color: #339900;">#endif</span>
&nbsp;
<span style="color: #339900;">#include &lt;malloc.h&gt;</span>
&nbsp;
<span style="color: #0000ff;">class</span> String
<span style="color: #008000;">&#123;</span>
<span style="color: #0000ff;">private</span><span style="color: #008080;">:</span>
	<span style="color: #0000ff;">char</span> <span style="color: #000040;">*</span>str<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">int</span> len<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">int</span> <span style="color: #0000dd;">strlen</span><span style="color: #008000;">&#40;</span><span style="color: #0000ff;">const</span> <span style="color: #0000ff;">char</span> <span style="color: #000040;">*</span>str<span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000ff;">int</span> length <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">while</span> <span style="color: #008000;">&#40;</span><span style="color: #000040;">*</span>str<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
		<span style="color: #008000;">&#123;</span>
			length<span style="color: #000040;">++</span><span style="color: #008080;">;</span>
		<span style="color: #008000;">&#125;</span>
		<span style="color: #0000ff;">return</span> length<span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000ff;">char</span> <span style="color: #000040;">*</span><span style="color: #0000dd;">strcpy</span><span style="color: #008000;">&#40;</span><span style="color: #0000ff;">char</span> <span style="color: #000040;">*</span>dst, <span style="color: #0000ff;">const</span> <span style="color: #0000ff;">char</span> <span style="color: #000040;">*</span>src<span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000ff;">char</span> <span style="color: #000040;">*</span>tmp <span style="color: #000080;">=</span> dst<span style="color: #008080;">;</span>
		<span style="color: #0000ff;">while</span> <span style="color: #008000;">&#40;</span><span style="color: #008000;">&#40;</span><span style="color: #000040;">*</span>tmp<span style="color: #000040;">++</span> <span style="color: #000080;">=</span> <span style="color: #000040;">*</span>src<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span> <span style="color: #000040;">!</span><span style="color: #000080;">=</span> <span style="color: #FF0000;">'<span style="color: #006699; font-weight: bold;">\0</span>'</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">return</span> dst<span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000ff;">char</span> <span style="color: #000040;">*</span><span style="color: #0000dd;">strcat</span><span style="color: #008000;">&#40;</span><span style="color: #0000ff;">char</span> <span style="color: #000040;">*</span>dst, <span style="color: #0000ff;">const</span> <span style="color: #0000ff;">char</span> <span style="color: #000040;">*</span>src<span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000ff;">char</span> <span style="color: #000040;">*</span>tmp   <span style="color: #000080;">=</span>   dst<span style="color: #008080;">;</span>
		<span style="color: #0000ff;">while</span> <span style="color: #008000;">&#40;</span><span style="color: #000040;">*</span>dst<span style="color: #008000;">&#41;</span> dst<span style="color: #000040;">++</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">while</span> <span style="color: #008000;">&#40;</span><span style="color: #008000;">&#40;</span><span style="color: #000040;">*</span>dst<span style="color: #000040;">++</span> <span style="color: #000080;">=</span>  <span style="color: #000040;">*</span>src<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span> <span style="color: #000040;">!</span><span style="color: #000080;">=</span> <span style="color: #FF0000;">'<span style="color: #006699; font-weight: bold;">\0</span>'</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">return</span> tmp<span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000ff;">int</span> <span style="color: #0000dd;">strcmp</span><span style="color: #008000;">&#40;</span><span style="color: #0000ff;">const</span> <span style="color: #0000ff;">char</span> <span style="color: #000040;">*</span>dst, <span style="color: #0000ff;">const</span> <span style="color: #0000ff;">char</span> <span style="color: #000040;">*</span>src<span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000ff;">while</span> <span style="color: #008000;">&#40;</span><span style="color: #000040;">*</span>dst <span style="color: #000040;">&amp;&amp;</span> <span style="color: #000040;">*</span>src <span style="color: #000040;">&amp;&amp;</span> <span style="color: #008000;">&#40;</span><span style="color: #000040;">*</span>dst <span style="color: #000080;">==</span> <span style="color: #000040;">*</span>src<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span>
		<span style="color: #008000;">&#123;</span>
			dst <span style="color: #000040;">++</span><span style="color: #008080;">;</span>
			src <span style="color: #000040;">++</span><span style="color: #008080;">;</span>
		<span style="color: #008000;">&#125;</span>
		<span style="color: #0000ff;">return</span> <span style="color: #000040;">*</span>dst <span style="color: #000040;">-</span> <span style="color: #000040;">*</span>src<span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">public</span><span style="color: #008080;">:</span>
	<span style="color: #666666;">//构造、析构函数</span>
	String<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	~String<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	String<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">const</span> <span style="color: #0000ff;">char</span> <span style="color: #000040;">*</span>src<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #666666;">//重载操作符</span>
	operator <span style="color: #0000ff;">char</span> <span style="color: #000040;">*</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span><span style="color: #666666;">//这个很强大、没这个好多函数都不能用了</span>
	<span style="color: #0000ff;">void</span>  operator <span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">const</span> <span style="color: #0000ff;">char</span> <span style="color: #000040;">*</span>src<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">char</span> <span style="color: #000040;">*</span>operator <span style="color: #000040;">+</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">const</span> <span style="color: #0000ff;">char</span> <span style="color: #000040;">*</span>src<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">void</span> operator <span style="color: #000040;">+</span><span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">const</span> <span style="color: #0000ff;">char</span> <span style="color: #000040;">*</span>src<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">bool</span> operator <span style="color: #000080;">==</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">const</span> <span style="color: #0000ff;">char</span> <span style="color: #000040;">*</span>src<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">bool</span> operator <span style="color: #000040;">!</span><span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">const</span> <span style="color: #0000ff;">char</span> <span style="color: #000040;">*</span>src<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #666666;">//实用函数</span>
	<span style="color: #0000ff;">int</span> length<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span><span style="color: #0000ff;">return</span> len <span style="color: #000040;">-</span> <span style="color: #0000dd;">1</span><span style="color: #008080;">;</span><span style="color: #008000;">&#125;</span>
	<span style="color: #0000ff;">void</span> replace<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">const</span> <span style="color: #0000ff;">char</span> <span style="color: #000040;">*</span>dst, <span style="color: #0000ff;">const</span> <span style="color: #0000ff;">char</span> <span style="color: #000040;">*</span>src<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span><span style="color: #008080;">;</span>
&nbsp;
String<span style="color: #008080;">::</span><span style="color: #007788;">String</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	len <span style="color: #000080;">=</span> <span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>
	str <span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">char</span> <span style="color: #000040;">*</span><span style="color: #008000;">&#41;</span><span style="color: #0000dd;">malloc</span><span style="color: #008000;">&#40;</span>len <span style="color: #000040;">*</span> <span style="color: #0000dd;">sizeof</span><span style="color: #008000;">&#40;</span><span style="color: #0000ff;">char</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #000040;">*</span>str <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
String<span style="color: #008080;">::</span>~String<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000dd;">free</span><span style="color: #008000;">&#40;</span>str<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
String<span style="color: #008080;">::</span><span style="color: #007788;">String</span><span style="color: #008000;">&#40;</span><span style="color: #0000ff;">const</span> <span style="color: #0000ff;">char</span> <span style="color: #000040;">*</span>src<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	len <span style="color: #000080;">=</span> <span style="color: #0000dd;">strlen</span><span style="color: #008000;">&#40;</span>src<span style="color: #008000;">&#41;</span> <span style="color: #000040;">+</span> <span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>
	str <span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">char</span> <span style="color: #000040;">*</span><span style="color: #008000;">&#41;</span><span style="color: #0000dd;">malloc</span><span style="color: #008000;">&#40;</span>len <span style="color: #000040;">*</span> <span style="color: #0000dd;">sizeof</span><span style="color: #008000;">&#40;</span><span style="color: #0000ff;">char</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">strcpy</span><span style="color: #008000;">&#40;</span>str, src<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
String<span style="color: #008080;">::</span><span style="color: #007788;">operator</span> <span style="color: #0000ff;">char</span> <span style="color: #000040;">*</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">return</span> str<span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
<span style="color: #0000ff;">void</span> String<span style="color: #008080;">::</span><span style="color: #007788;">operator</span> <span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">const</span> <span style="color: #0000ff;">char</span> <span style="color: #000040;">*</span> src<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	len <span style="color: #000080;">=</span> <span style="color: #0000dd;">strlen</span><span style="color: #008000;">&#40;</span>src<span style="color: #008000;">&#41;</span> <span style="color: #000040;">+</span> <span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>
	str <span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">char</span> <span style="color: #000040;">*</span><span style="color: #008000;">&#41;</span><span style="color: #0000dd;">malloc</span><span style="color: #008000;">&#40;</span>len <span style="color: #000040;">*</span> <span style="color: #0000dd;">sizeof</span><span style="color: #008000;">&#40;</span><span style="color: #0000ff;">char</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">strcpy</span><span style="color: #008000;">&#40;</span>str, src<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
<span style="color: #0000ff;">char</span> <span style="color: #000040;">*</span>String<span style="color: #008080;">::</span><span style="color: #007788;">operator</span> <span style="color: #000040;">+</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">const</span> <span style="color: #0000ff;">char</span> <span style="color: #000040;">*</span>src<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">char</span> <span style="color: #000040;">*</span>tmp <span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">char</span> <span style="color: #000040;">*</span><span style="color: #008000;">&#41;</span><span style="color: #0000dd;">malloc</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#40;</span>len <span style="color: #000040;">+</span> <span style="color: #0000dd;">strlen</span><span style="color: #008000;">&#40;</span>src<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span> <span style="color: #000040;">*</span> <span style="color: #0000dd;">sizeof</span><span style="color: #008000;">&#40;</span><span style="color: #0000ff;">char</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">strcpy</span><span style="color: #008000;">&#40;</span>tmp , str<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">strcat</span><span style="color: #008000;">&#40;</span>tmp , src<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">return</span> tmp<span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
<span style="color: #0000ff;">void</span> String<span style="color: #008080;">::</span><span style="color: #007788;">operator</span> <span style="color: #000040;">+</span><span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">const</span> <span style="color: #0000ff;">char</span> <span style="color: #000040;">*</span> src<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	len <span style="color: #000040;">+</span><span style="color: #000080;">=</span> <span style="color: #0000dd;">strlen</span><span style="color: #008000;">&#40;</span>src<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">char</span> <span style="color: #000040;">*</span>tmp <span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">char</span> <span style="color: #000040;">*</span><span style="color: #008000;">&#41;</span><span style="color: #0000dd;">malloc</span><span style="color: #008000;">&#40;</span>len <span style="color: #000040;">*</span> <span style="color: #0000dd;">sizeof</span><span style="color: #008000;">&#40;</span><span style="color: #0000ff;">char</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">strcpy</span><span style="color: #008000;">&#40;</span>tmp , str<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">strcat</span><span style="color: #008000;">&#40;</span>tmp , src<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">strcpy</span><span style="color: #008000;">&#40;</span>str , tmp<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">free</span><span style="color: #008000;">&#40;</span>tmp<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
<span style="color: #0000ff;">bool</span> String<span style="color: #008080;">::</span><span style="color: #007788;">operator</span> <span style="color: #000080;">==</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">const</span> <span style="color: #0000ff;">char</span> <span style="color: #000040;">*</span>src<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">return</span> <span style="color: #000040;">!</span><span style="color: #0000dd;">strcmp</span><span style="color: #008000;">&#40;</span>str, src<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
<span style="color: #0000ff;">bool</span> String<span style="color: #008080;">::</span><span style="color: #007788;">operator</span> <span style="color: #000040;">!</span><span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">const</span> <span style="color: #0000ff;">char</span> <span style="color: #000040;">*</span>src<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">return</span> <span style="color: #0000dd;">strcmp</span><span style="color: #008000;">&#40;</span>str, src<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #339900;">#ifdef	__cplusplus</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #339900;">#endif</span>
&nbsp;
<span style="color: #339900;">#endif /* ___S_STRING_H_ */</span></pre></td></tr></table></div>

<p>再次警告没有写完，不能直接用，参看着看看还是没问题的。</p>
<p>话说四川高考查询网www.scgkcx.com的域名怎么提示到期了呢？某些部门的效率也太低了吧，不至于就为了多收点钱，就强迫那些急需要查分的考生拨打昂贵的声讯电话吧，唉，不多说了，反正我不用查。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1608</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>【原创】QQ2010正式版(1720)精简美化版</title>
		<link>http://www.shuax.com/?p=1603</link>
		<comments>http://www.shuax.com/?p=1603#comments</comments>
		<pubDate>Tue, 15 Jun 2010 19:09:28 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[原创软件]]></category>
		<category><![CDATA[QQ]]></category>
		<category><![CDATA[美化]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1603</guid>
		<description><![CDATA[等着看巴西对朝鲜的时候没事干做的。 美化图片：http://u.115.com/file/f07846e184 是按照这个做的，但是那个消息盒子的图片我怎么弄都弄不出来，那就将就着吧。 记得安装完毕后选择“磨砂”这个皮肤，效果会好得多。 精简部分，保留以下插件： Com.Tencent.AudioVideo Com.Tencent.FileTransfer Com.Tencent.Mail Com.Tencent.NetDisk Com.Tencent.QQGame Com.Tencent.QQLive Com.Tencent.QQMusic Com.Tencent.QQPet Com.Tencent.QQShow Com.Tencent.Qzone Com.Tencent.RemoteHelp Com.Tencent.SNSApp Com.Tencent.Weather 其余插件均已删除。 已经集成了寒星的会员补丁，但并未默认开启。如果你需要开启（例如使用表情涂鸦），请将bin目录下的IM.dll和IM.dll.bak交换。 下载地址：http://u.115.com/file/f0485a717e 建议安装前删除原有版本。]]></description>
			<content:encoded><![CDATA[<p>等着看巴西对朝鲜的时候没事干做的。</p>
<p>美化图片：http://u.115.com/file/f07846e184</p>
<p><a href="http://u.115.com/file/f07846e184"></a><br />
是按照这个做的，但是那个消息盒子的图片我怎么弄都弄不出来，那就将就着吧。<br />
记得安装完毕后选择“磨砂”这个皮肤，效果会好得多。</p>
<p>精简部分，保留以下插件：<br />
Com.Tencent.AudioVideo<br />
Com.Tencent.FileTransfer</p>
<p><span id="more-1603"></span><br />
Com.Tencent.Mail<br />
Com.Tencent.NetDisk<br />
Com.Tencent.QQGame<br />
Com.Tencent.QQLive<br />
Com.Tencent.QQMusic<br />
Com.Tencent.QQPet<br />
Com.Tencent.QQShow<br />
Com.Tencent.Qzone<br />
Com.Tencent.RemoteHelp<br />
Com.Tencent.SNSApp<br />
Com.Tencent.Weather</p>
<p>其余插件均已删除。</p>
<p>已经集成了寒星的会员补丁，但并未默认开启。如果你需要开启（例如使用表情涂鸦），请将bin目录下的IM.dll和IM.dll.bak交换。</p>
<p>下载地址：<a href="http://u.115.com/file/f0485a717e">http://u.115.com/file/f0485a717e</a> 建议安装前删除原有版本。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1603</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
		<item>
		<title>进程注入dll的学习</title>
		<link>http://www.shuax.com/?p=1600</link>
		<comments>http://www.shuax.com/?p=1600#comments</comments>
		<pubDate>Tue, 15 Jun 2010 06:18:27 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[程序开发]]></category>
		<category><![CDATA[dll]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1600</guid>
		<description><![CDATA[演示效果是：注入后能显示QQ进程的PID。 dll采用devcpp向导生成的（注意选择C语言，而不是C++），测试代码为： #if BUILDING_DLL # define DLLIMPORT __declspec (dllexport) #else /* Not BUILDING_DLL */ # define DLLIMPORT __declspec (dllimport) #endif /* Not BUILDING_DLL */ &#160; &#160; DLLIMPORT void Test &#40;void&#41;; DLLIMPORT void Test &#40;&#41; &#123; char ss&#91;1024&#93;=&#34;\0&#34;; sprintf&#40;ss,&#34;PID:%ld&#34;,GetCurrentProcessId&#40;&#41;&#41;; MessageBox &#40;0, ss, &#34;DLL Injection Successful!&#34;, MB_ICONINFORMATION&#41;; &#125; 已经检测在开启UAC的状态下可以成功注入，但是在线扫描有部分杀软报毒。 具体注入代码采用的CompleteInject.cpp 原始文章：http://www.codeproject.com/KB/threads/completeinject.aspx #include &#60;windows.h&#62; #include &#60;stdio.h&#62; &#160; /***************************************************************************************************/]]></description>
			<content:encoded><![CDATA[<p>演示效果是：注入后能显示QQ进程的PID。</p>
<p>dll采用devcpp向导生成的（注意选择C语言，而不是C++），测试代码为：</p>

<div class="wp_codebox"><table><tr id="p160015"><td class="code" id="p1600code15"><pre class="cpp" style="font-family:monospace;"><span style="color: #339900;">#if BUILDING_DLL</span>
<span style="color: #339900;"># define DLLIMPORT __declspec (dllexport)</span>
<span style="color: #339900;">#else /* Not BUILDING_DLL */</span>
<span style="color: #339900;"># define DLLIMPORT __declspec (dllimport)</span>
<span style="color: #339900;">#endif /* Not BUILDING_DLL */</span>
&nbsp;
&nbsp;
DLLIMPORT <span style="color: #0000ff;">void</span> Test <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">void</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
DLLIMPORT <span style="color: #0000ff;">void</span> Test <span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
    <span style="color: #0000ff;">char</span> ss<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">1024</span><span style="color: #008000;">&#93;</span><span style="color: #000080;">=</span><span style="color: #FF0000;">&quot;<span style="color: #006699; font-weight: bold;">\0</span>&quot;</span><span style="color: #008080;">;</span>
    <span style="color: #0000dd;">sprintf</span><span style="color: #008000;">&#40;</span>ss,<span style="color: #FF0000;">&quot;PID:%ld&quot;</span>,GetCurrentProcessId<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	MessageBox <span style="color: #008000;">&#40;</span><span style="color: #0000dd;">0</span>, ss, <span style="color: #FF0000;">&quot;DLL Injection Successful!&quot;</span>, MB_ICONINFORMATION<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></td></tr></table></div>

<p>已经检测在开启UAC的状态下可以成功注入，但是在线扫描有部分杀软报毒。<br />
<span id="more-1600"></span><br />
具体注入代码采用的CompleteInject.cpp<br />
原始文章：http://www.codeproject.com/KB/threads/completeinject.aspx</p>

<div class="wp_codebox"><table><tr id="p160016"><td class="code" id="p1600code16"><pre class="cpp" style="font-family:monospace;"><span style="color: #339900;">#include &lt;windows.h&gt;</span>
<span style="color: #339900;">#include &lt;stdio.h&gt;</span>
&nbsp;
<span style="color: #ff0000; font-style: italic;">/***************************************************************************************************/</span>
<span style="color: #666666;">//	Function: </span>
<span style="color: #666666;">//		Inject</span>
<span style="color: #666666;">//	</span>
<span style="color: #666666;">//	Parameters:</span>
<span style="color: #666666;">//		HANDLE hProcess - The handle to the process to inject the DLL into.</span>
<span style="color: #666666;">//</span>
<span style="color: #666666;">//		const char* dllname - The name of the DLL to inject into the process.</span>
<span style="color: #666666;">//		</span>
<span style="color: #666666;">//		const char* funcname - The name of the function to call once the DLL has been injected.</span>
<span style="color: #666666;">//</span>
<span style="color: #666666;">//	Description:</span>
<span style="color: #666666;">//		This function will inject a DLL into a process and execute an exported function</span>
<span style="color: #666666;">//		from the DLL to &quot;initialize&quot; it. The function should be in the format shown below,</span>
<span style="color: #666666;">//		not parameters and no return type. Do not forget to prefix extern &quot;C&quot; if you are in C++</span>
<span style="color: #666666;">//</span>
<span style="color: #666666;">//			__declspec(dllexport) void FunctionName(void)</span>
<span style="color: #666666;">//</span>
<span style="color: #666666;">//		The function that is called in the injected DLL</span>
<span style="color: #666666;">//		-MUST- return, the loader waits for the thread to terminate before removing the </span>
<span style="color: #666666;">//		allocated space and returning control to the Loader. This method of DLL injection</span>
<span style="color: #666666;">//		also adds error handling, so the end user knows if something went wrong.</span>
<span style="color: #ff0000; font-style: italic;">/***************************************************************************************************/</span>
&nbsp;
<span style="color: #0000ff;">void</span> Inject<span style="color: #008000;">&#40;</span>HANDLE hProcess, <span style="color: #0000ff;">const</span> <span style="color: #0000ff;">char</span><span style="color: #000040;">*</span> dllname, <span style="color: #0000ff;">const</span> <span style="color: #0000ff;">char</span><span style="color: #000040;">*</span> funcname<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
<span style="color: #666666;">//------------------------------------------//</span>
<span style="color: #666666;">// Function variables.						//</span>
<span style="color: #666666;">//------------------------------------------//</span>
&nbsp;
	<span style="color: #666666;">// Main DLL we will need to load</span>
	HMODULE kernel32	<span style="color: #000080;">=</span> <span style="color: #0000ff;">NULL</span><span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #666666;">// Main functions we will need to import</span>
	FARPROC loadlibrary		<span style="color: #000080;">=</span> <span style="color: #0000ff;">NULL</span><span style="color: #008080;">;</span>
	FARPROC getprocaddress	<span style="color: #000080;">=</span> <span style="color: #0000ff;">NULL</span><span style="color: #008080;">;</span>
	FARPROC exitprocess		<span style="color: #000080;">=</span> <span style="color: #0000ff;">NULL</span><span style="color: #008080;">;</span>
	FARPROC exitthread		<span style="color: #000080;">=</span> <span style="color: #0000ff;">NULL</span><span style="color: #008080;">;</span>
	FARPROC freelibraryandexitthread <span style="color: #000080;">=</span> <span style="color: #0000ff;">NULL</span><span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #666666;">// The workspace we will build the codecave on locally</span>
	LPBYTE workspace		<span style="color: #000080;">=</span> <span style="color: #0000ff;">NULL</span><span style="color: #008080;">;</span>
	DWORD workspaceIndex	<span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #666666;">// The memory in the process we write to</span>
	LPVOID codecaveAddress	<span style="color: #000080;">=</span> <span style="color: #0000ff;">NULL</span><span style="color: #008080;">;</span>
	DWORD dwCodecaveAddress <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #666666;">// Strings we have to write into the process</span>
	<span style="color: #0000ff;">char</span> injectDllName<span style="color: #008000;">&#91;</span>MAX_PATH <span style="color: #000040;">+</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span>	<span style="color: #000080;">=</span> <span style="color: #008000;">&#123;</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#125;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">char</span> injectFuncName<span style="color: #008000;">&#91;</span>MAX_PATH <span style="color: #000040;">+</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span>	<span style="color: #000080;">=</span> <span style="color: #008000;">&#123;</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#125;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">char</span> injectError0<span style="color: #008000;">&#91;</span>MAX_PATH <span style="color: #000040;">+</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span>		<span style="color: #000080;">=</span> <span style="color: #008000;">&#123;</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#125;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">char</span> injectError1<span style="color: #008000;">&#91;</span>MAX_PATH <span style="color: #000040;">+</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span>		<span style="color: #000080;">=</span> <span style="color: #008000;">&#123;</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#125;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">char</span> injectError2<span style="color: #008000;">&#91;</span>MAX_PATH <span style="color: #000040;">+</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span>		<span style="color: #000080;">=</span> <span style="color: #008000;">&#123;</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#125;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">char</span> user32Name<span style="color: #008000;">&#91;</span>MAX_PATH <span style="color: #000040;">+</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span>		<span style="color: #000080;">=</span> <span style="color: #008000;">&#123;</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#125;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">char</span> msgboxName<span style="color: #008000;">&#91;</span>MAX_PATH <span style="color: #000040;">+</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span>		<span style="color: #000080;">=</span> <span style="color: #008000;">&#123;</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#125;</span><span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #666666;">// Placeholder addresses to use the strings</span>
	DWORD user32NameAddr	<span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
	DWORD user32Addr		<span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
	DWORD msgboxNameAddr	<span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
	DWORD msgboxAddr		<span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
	DWORD dllAddr			<span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
	DWORD dllNameAddr		<span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
	DWORD funcNameAddr		<span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
	DWORD error0Addr		<span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
	DWORD error1Addr		<span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
	DWORD error2Addr		<span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #666666;">// Where the codecave execution should begin at</span>
	DWORD codecaveExecAddr <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #666666;">// Handle to the thread we create in the process</span>
	HANDLE hThread <span style="color: #000080;">=</span> <span style="color: #0000ff;">NULL</span><span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #666666;">// Temp variables</span>
	DWORD dwTmpSize <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #666666;">// Old protection on page we are writing to in the process and the bytes written</span>
	DWORD oldProtect	<span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>	
	DWORD bytesRet		<span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
&nbsp;
<span style="color: #666666;">//------------------------------------------//</span>
<span style="color: #666666;">// Variable initialization.					//</span>
<span style="color: #666666;">//------------------------------------------//</span>
&nbsp;
	<span style="color: #666666;">// Get the address of the main DLL</span>
	kernel32	<span style="color: #000080;">=</span> LoadLibrary<span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;kernel32.dll&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #666666;">// Get our functions</span>
	loadlibrary		<span style="color: #000080;">=</span> GetProcAddress<span style="color: #008000;">&#40;</span>kernel32,	<span style="color: #FF0000;">&quot;LoadLibraryA&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	getprocaddress	<span style="color: #000080;">=</span> GetProcAddress<span style="color: #008000;">&#40;</span>kernel32,	<span style="color: #FF0000;">&quot;GetProcAddress&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	exitprocess		<span style="color: #000080;">=</span> GetProcAddress<span style="color: #008000;">&#40;</span>kernel32,	<span style="color: #FF0000;">&quot;ExitProcess&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	exitthread		<span style="color: #000080;">=</span> GetProcAddress<span style="color: #008000;">&#40;</span>kernel32,	<span style="color: #FF0000;">&quot;ExitThread&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	freelibraryandexitthread <span style="color: #000080;">=</span> GetProcAddress<span style="color: #008000;">&#40;</span>kernel32,	<span style="color: #FF0000;">&quot;FreeLibraryAndExitThread&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
&nbsp;
<span style="color: #666666;">// This section will cause compiler warnings on VS8, </span>
<span style="color: #666666;">// you can upgrade the functions or ignore them</span>
&nbsp;
	<span style="color: #666666;">// Build names</span>
	_snprintf<span style="color: #008000;">&#40;</span>injectDllName, MAX_PATH, <span style="color: #FF0000;">&quot;%s&quot;</span>, dllname<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	_snprintf<span style="color: #008000;">&#40;</span>injectFuncName, MAX_PATH, <span style="color: #FF0000;">&quot;%s&quot;</span>, funcname<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	_snprintf<span style="color: #008000;">&#40;</span>user32Name, MAX_PATH, <span style="color: #FF0000;">&quot;user32.dll&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	_snprintf<span style="color: #008000;">&#40;</span>msgboxName, MAX_PATH, <span style="color: #FF0000;">&quot;MessageBoxA&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #666666;">// Build error messages</span>
	_snprintf<span style="color: #008000;">&#40;</span>injectError0, MAX_PATH, <span style="color: #FF0000;">&quot;Error&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	_snprintf<span style="color: #008000;">&#40;</span>injectError1, MAX_PATH, <span style="color: #FF0000;">&quot;Could not load the dll: %s&quot;</span>, injectDllName<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	_snprintf<span style="color: #008000;">&#40;</span>injectError2, MAX_PATH, <span style="color: #FF0000;">&quot;Could not load the function: %s&quot;</span>, injectFuncName<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #666666;">// Create the workspace</span>
	workspace <span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span>LPBYTE<span style="color: #008000;">&#41;</span>HeapAlloc<span style="color: #008000;">&#40;</span>GetProcessHeap<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>, HEAP_ZERO_MEMORY, <span style="color: #0000dd;">1024</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #666666;">// Allocate space for the codecave in the process</span>
	codecaveAddress <span style="color: #000080;">=</span> VirtualAllocEx<span style="color: #008000;">&#40;</span>hProcess, <span style="color: #0000dd;">0</span>, <span style="color: #0000dd;">1024</span>, MEM_COMMIT <span style="color: #000040;">|</span> MEM_RESERVE, PAGE_EXECUTE_READWRITE<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	dwCodecaveAddress <span style="color: #000080;">=</span> PtrToUlong<span style="color: #008000;">&#40;</span>codecaveAddress<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
&nbsp;
<span style="color: #666666;">// Note there is no error checking done above for any functions that return a pointer/handle.</span>
<span style="color: #666666;">// I could have added them, but it'd just add more messiness to the code and not provide any real</span>
<span style="color: #666666;">// benefit. It's up to you though in your final code if you want it there or not.</span>
&nbsp;
<span style="color: #666666;">//------------------------------------------//</span>
<span style="color: #666666;">// Data and string writing.					//</span>
<span style="color: #666666;">//------------------------------------------//</span>
&nbsp;
	<span style="color: #666666;">// Write out the address for the user32 dll address</span>
	user32Addr <span style="color: #000080;">=</span> workspaceIndex <span style="color: #000040;">+</span> dwCodecaveAddress<span style="color: #008080;">;</span>
	dwTmpSize <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">memcpy</span><span style="color: #008000;">&#40;</span>workspace <span style="color: #000040;">+</span> workspaceIndex, <span style="color: #000040;">&amp;</span>dwTmpSize, <span style="color: #0000dd;">4</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	workspaceIndex <span style="color: #000040;">+</span><span style="color: #000080;">=</span> <span style="color: #0000dd;">4</span><span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #666666;">// Write out the address for the MessageBoxA address</span>
	msgboxAddr <span style="color: #000080;">=</span> workspaceIndex <span style="color: #000040;">+</span> dwCodecaveAddress<span style="color: #008080;">;</span>
	dwTmpSize <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">memcpy</span><span style="color: #008000;">&#40;</span>workspace <span style="color: #000040;">+</span> workspaceIndex, <span style="color: #000040;">&amp;</span>dwTmpSize, <span style="color: #0000dd;">4</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	workspaceIndex <span style="color: #000040;">+</span><span style="color: #000080;">=</span> <span style="color: #0000dd;">4</span><span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #666666;">// Write out the address for the injected DLL's module</span>
	dllAddr <span style="color: #000080;">=</span> workspaceIndex <span style="color: #000040;">+</span> dwCodecaveAddress<span style="color: #008080;">;</span>
	dwTmpSize <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">memcpy</span><span style="color: #008000;">&#40;</span>workspace <span style="color: #000040;">+</span> workspaceIndex, <span style="color: #000040;">&amp;</span>dwTmpSize, <span style="color: #0000dd;">4</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	workspaceIndex <span style="color: #000040;">+</span><span style="color: #000080;">=</span> <span style="color: #0000dd;">4</span><span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #666666;">// User32 Dll Name</span>
	user32NameAddr <span style="color: #000080;">=</span> workspaceIndex <span style="color: #000040;">+</span> dwCodecaveAddress<span style="color: #008080;">;</span>
	dwTmpSize <span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span>DWORD<span style="color: #008000;">&#41;</span><span style="color: #0000dd;">strlen</span><span style="color: #008000;">&#40;</span>user32Name<span style="color: #008000;">&#41;</span> <span style="color: #000040;">+</span> <span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">memcpy</span><span style="color: #008000;">&#40;</span>workspace <span style="color: #000040;">+</span> workspaceIndex, user32Name, dwTmpSize<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	workspaceIndex <span style="color: #000040;">+</span><span style="color: #000080;">=</span> dwTmpSize<span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #666666;">// MessageBoxA name</span>
	msgboxNameAddr <span style="color: #000080;">=</span> workspaceIndex <span style="color: #000040;">+</span> dwCodecaveAddress<span style="color: #008080;">;</span>
	dwTmpSize <span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span>DWORD<span style="color: #008000;">&#41;</span><span style="color: #0000dd;">strlen</span><span style="color: #008000;">&#40;</span>msgboxName<span style="color: #008000;">&#41;</span> <span style="color: #000040;">+</span> <span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">memcpy</span><span style="color: #008000;">&#40;</span>workspace <span style="color: #000040;">+</span> workspaceIndex, msgboxName, dwTmpSize<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	workspaceIndex <span style="color: #000040;">+</span><span style="color: #000080;">=</span> dwTmpSize<span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #666666;">// Dll Name</span>
	dllNameAddr <span style="color: #000080;">=</span> workspaceIndex <span style="color: #000040;">+</span> dwCodecaveAddress<span style="color: #008080;">;</span>
	dwTmpSize <span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span>DWORD<span style="color: #008000;">&#41;</span><span style="color: #0000dd;">strlen</span><span style="color: #008000;">&#40;</span>injectDllName<span style="color: #008000;">&#41;</span> <span style="color: #000040;">+</span> <span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">memcpy</span><span style="color: #008000;">&#40;</span>workspace <span style="color: #000040;">+</span> workspaceIndex, injectDllName, dwTmpSize<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	workspaceIndex <span style="color: #000040;">+</span><span style="color: #000080;">=</span> dwTmpSize<span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #666666;">// Function Name</span>
	funcNameAddr <span style="color: #000080;">=</span> workspaceIndex <span style="color: #000040;">+</span> dwCodecaveAddress<span style="color: #008080;">;</span>
	dwTmpSize <span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span>DWORD<span style="color: #008000;">&#41;</span><span style="color: #0000dd;">strlen</span><span style="color: #008000;">&#40;</span>injectFuncName<span style="color: #008000;">&#41;</span> <span style="color: #000040;">+</span> <span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">memcpy</span><span style="color: #008000;">&#40;</span>workspace <span style="color: #000040;">+</span> workspaceIndex, injectFuncName, dwTmpSize<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	workspaceIndex <span style="color: #000040;">+</span><span style="color: #000080;">=</span> dwTmpSize<span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #666666;">// Error Message 1</span>
	error0Addr <span style="color: #000080;">=</span> workspaceIndex <span style="color: #000040;">+</span> dwCodecaveAddress<span style="color: #008080;">;</span>
	dwTmpSize <span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span>DWORD<span style="color: #008000;">&#41;</span><span style="color: #0000dd;">strlen</span><span style="color: #008000;">&#40;</span>injectError0<span style="color: #008000;">&#41;</span> <span style="color: #000040;">+</span> <span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">memcpy</span><span style="color: #008000;">&#40;</span>workspace <span style="color: #000040;">+</span> workspaceIndex, injectError0, dwTmpSize<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	workspaceIndex <span style="color: #000040;">+</span><span style="color: #000080;">=</span> dwTmpSize<span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #666666;">// Error Message 2</span>
	error1Addr <span style="color: #000080;">=</span> workspaceIndex <span style="color: #000040;">+</span> dwCodecaveAddress<span style="color: #008080;">;</span>
	dwTmpSize <span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span>DWORD<span style="color: #008000;">&#41;</span><span style="color: #0000dd;">strlen</span><span style="color: #008000;">&#40;</span>injectError1<span style="color: #008000;">&#41;</span> <span style="color: #000040;">+</span> <span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">memcpy</span><span style="color: #008000;">&#40;</span>workspace <span style="color: #000040;">+</span> workspaceIndex, injectError1, dwTmpSize<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	workspaceIndex <span style="color: #000040;">+</span><span style="color: #000080;">=</span> dwTmpSize<span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #666666;">// Error Message 3</span>
	error2Addr <span style="color: #000080;">=</span> workspaceIndex <span style="color: #000040;">+</span> dwCodecaveAddress<span style="color: #008080;">;</span>
	dwTmpSize <span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span>DWORD<span style="color: #008000;">&#41;</span><span style="color: #0000dd;">strlen</span><span style="color: #008000;">&#40;</span>injectError2<span style="color: #008000;">&#41;</span> <span style="color: #000040;">+</span> <span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">memcpy</span><span style="color: #008000;">&#40;</span>workspace <span style="color: #000040;">+</span> workspaceIndex, injectError2, dwTmpSize<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	workspaceIndex <span style="color: #000040;">+</span><span style="color: #000080;">=</span> dwTmpSize<span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #666666;">// Pad a few INT3s after string data is written for seperation</span>
	workspace<span style="color: #008000;">&#91;</span>workspaceIndex<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #208080;">0xCC</span><span style="color: #008080;">;</span>
	workspace<span style="color: #008000;">&#91;</span>workspaceIndex<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #208080;">0xCC</span><span style="color: #008080;">;</span>
	workspace<span style="color: #008000;">&#91;</span>workspaceIndex<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #208080;">0xCC</span><span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #666666;">// Store where the codecave execution should begin</span>
	codecaveExecAddr <span style="color: #000080;">=</span> workspaceIndex <span style="color: #000040;">+</span> dwCodecaveAddress<span style="color: #008080;">;</span>
&nbsp;
<span style="color: #666666;">// For debugging - infinite loop, attach onto process and step over</span>
	<span style="color: #666666;">//workspace[workspaceIndex++] = 0xEB;</span>
	<span style="color: #666666;">//workspace[workspaceIndex++] = 0xFE;</span>
&nbsp;
<span style="color: #666666;">//------------------------------------------//</span>
<span style="color: #666666;">// User32.dll loading.						//</span>
<span style="color: #666666;">//------------------------------------------//</span>
&nbsp;
<span style="color: #666666;">// User32 DLL Loading</span>
	<span style="color: #666666;">// PUSH 0x00000000 - Push the address of the DLL name to use in LoadLibraryA</span>
	workspace<span style="color: #008000;">&#91;</span>workspaceIndex<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #208080;">0x68</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">memcpy</span><span style="color: #008000;">&#40;</span>workspace <span style="color: #000040;">+</span> workspaceIndex, <span style="color: #000040;">&amp;</span>user32NameAddr, <span style="color: #0000dd;">4</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	workspaceIndex <span style="color: #000040;">+</span><span style="color: #000080;">=</span> <span style="color: #0000dd;">4</span><span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #666666;">// MOV EAX, ADDRESS - Move the address of LoadLibraryA into EAX</span>
	workspace<span style="color: #008000;">&#91;</span>workspaceIndex<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #208080;">0xB8</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">memcpy</span><span style="color: #008000;">&#40;</span>workspace <span style="color: #000040;">+</span> workspaceIndex, <span style="color: #000040;">&amp;</span>loadlibrary, <span style="color: #0000dd;">4</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	workspaceIndex <span style="color: #000040;">+</span><span style="color: #000080;">=</span> <span style="color: #0000dd;">4</span><span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #666666;">// CALL EAX - Call LoadLibraryA</span>
	workspace<span style="color: #008000;">&#91;</span>workspaceIndex<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #208080;">0xFF</span><span style="color: #008080;">;</span>
	workspace<span style="color: #008000;">&#91;</span>workspaceIndex<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #208080;">0xD0</span><span style="color: #008080;">;</span>
&nbsp;
<span style="color: #666666;">// MessageBoxA Loading</span>
	<span style="color: #666666;">// PUSH 0x000000 - Push the address of the function name to load</span>
	workspace<span style="color: #008000;">&#91;</span>workspaceIndex<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #208080;">0x68</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">memcpy</span><span style="color: #008000;">&#40;</span>workspace <span style="color: #000040;">+</span> workspaceIndex, <span style="color: #000040;">&amp;</span>msgboxNameAddr, <span style="color: #0000dd;">4</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	workspaceIndex <span style="color: #000040;">+</span><span style="color: #000080;">=</span> <span style="color: #0000dd;">4</span><span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #666666;">// Push EAX, module to use in GetProcAddress</span>
	workspace<span style="color: #008000;">&#91;</span>workspaceIndex<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #208080;">0x50</span><span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #666666;">// MOV EAX, ADDRESS - Move the address of GetProcAddress into EAX</span>
	workspace<span style="color: #008000;">&#91;</span>workspaceIndex<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #208080;">0xB8</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">memcpy</span><span style="color: #008000;">&#40;</span>workspace <span style="color: #000040;">+</span> workspaceIndex, <span style="color: #000040;">&amp;</span>getprocaddress, <span style="color: #0000dd;">4</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	workspaceIndex <span style="color: #000040;">+</span><span style="color: #000080;">=</span> <span style="color: #0000dd;">4</span><span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #666666;">// CALL EAX - Call GetProcAddress</span>
	workspace<span style="color: #008000;">&#91;</span>workspaceIndex<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #208080;">0xFF</span><span style="color: #008080;">;</span>
	workspace<span style="color: #008000;">&#91;</span>workspaceIndex<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #208080;">0xD0</span><span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #666666;">// MOV [ADDRESS], EAX - Save the address to our variable</span>
	workspace<span style="color: #008000;">&#91;</span>workspaceIndex<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #208080;">0xA3</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">memcpy</span><span style="color: #008000;">&#40;</span>workspace <span style="color: #000040;">+</span> workspaceIndex, <span style="color: #000040;">&amp;</span>msgboxAddr, <span style="color: #0000dd;">4</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	workspaceIndex <span style="color: #000040;">+</span><span style="color: #000080;">=</span> <span style="color: #0000dd;">4</span><span style="color: #008080;">;</span>
&nbsp;
<span style="color: #666666;">//------------------------------------------//</span>
<span style="color: #666666;">// Injected dll loading.					//</span>
<span style="color: #666666;">//------------------------------------------//</span>
&nbsp;
<span style="color: #ff0000; font-style: italic;">/*
	// This is the way the following assembly code would look like in C/C++
&nbsp;
	// Load the injected DLL into this process
	HMODULE h = LoadLibrary(&quot;mydll.dll&quot;);
	if(!h)
	{
		MessageBox(0, &quot;Could not load the dll: mydll.dll&quot;, &quot;Error&quot;, MB_ICONERROR);
		ExitProcess(0);
	}
&nbsp;
	// Get the address of the export function
	FARPROC p = GetProcAddress(h, &quot;Initialize&quot;);
	if(!p)
	{
		MessageBox(0, &quot;Could not load the function: Initialize&quot;, &quot;Error&quot;, MB_ICONERROR);
		ExitProcess(0);
	}
&nbsp;
	// So we do not need a function pointer interface
	__asm call p
&nbsp;
	// Exit the thread so the loader continues
	ExitThread(0);
*/</span>
&nbsp;
<span style="color: #666666;">// DLL Loading</span>
	<span style="color: #666666;">// PUSH 0x00000000 - Push the address of the DLL name to use in LoadLibraryA</span>
	workspace<span style="color: #008000;">&#91;</span>workspaceIndex<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #208080;">0x68</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">memcpy</span><span style="color: #008000;">&#40;</span>workspace <span style="color: #000040;">+</span> workspaceIndex, <span style="color: #000040;">&amp;</span>dllNameAddr, <span style="color: #0000dd;">4</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	workspaceIndex <span style="color: #000040;">+</span><span style="color: #000080;">=</span> <span style="color: #0000dd;">4</span><span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #666666;">// MOV EAX, ADDRESS - Move the address of LoadLibraryA into EAX</span>
	workspace<span style="color: #008000;">&#91;</span>workspaceIndex<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #208080;">0xB8</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">memcpy</span><span style="color: #008000;">&#40;</span>workspace <span style="color: #000040;">+</span> workspaceIndex, <span style="color: #000040;">&amp;</span>loadlibrary, <span style="color: #0000dd;">4</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	workspaceIndex <span style="color: #000040;">+</span><span style="color: #000080;">=</span> <span style="color: #0000dd;">4</span><span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #666666;">// CALL EAX - Call LoadLibraryA</span>
	workspace<span style="color: #008000;">&#91;</span>workspaceIndex<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #208080;">0xFF</span><span style="color: #008080;">;</span>
	workspace<span style="color: #008000;">&#91;</span>workspaceIndex<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #208080;">0xD0</span><span style="color: #008080;">;</span>
&nbsp;
<span style="color: #666666;">// Error Checking</span>
	<span style="color: #666666;">// CMP EAX, 0</span>
	workspace<span style="color: #008000;">&#91;</span>workspaceIndex<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #208080;">0x83</span><span style="color: #008080;">;</span>
	workspace<span style="color: #008000;">&#91;</span>workspaceIndex<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #208080;">0xF8</span><span style="color: #008080;">;</span>
	workspace<span style="color: #008000;">&#91;</span>workspaceIndex<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #208080;">0x00</span><span style="color: #008080;">;</span>
&nbsp;
<span style="color: #666666;">// JNZ EIP + 0x1E to skip over eror code</span>
	workspace<span style="color: #008000;">&#91;</span>workspaceIndex<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #208080;">0x75</span><span style="color: #008080;">;</span>
	workspace<span style="color: #008000;">&#91;</span>workspaceIndex<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #208080;">0x1E</span><span style="color: #008080;">;</span>
&nbsp;
<span style="color: #666666;">// Error Code 1</span>
	<span style="color: #666666;">// MessageBox</span>
		<span style="color: #666666;">// PUSH 0x10 (MB_ICONHAND)</span>
		workspace<span style="color: #008000;">&#91;</span>workspaceIndex<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #208080;">0x6A</span><span style="color: #008080;">;</span>
		workspace<span style="color: #008000;">&#91;</span>workspaceIndex<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #208080;">0x10</span><span style="color: #008080;">;</span>
&nbsp;
		<span style="color: #666666;">// PUSH 0x000000 - Push the address of the MessageBox title</span>
		workspace<span style="color: #008000;">&#91;</span>workspaceIndex<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #208080;">0x68</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">memcpy</span><span style="color: #008000;">&#40;</span>workspace <span style="color: #000040;">+</span> workspaceIndex, <span style="color: #000040;">&amp;</span>error0Addr, <span style="color: #0000dd;">4</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		workspaceIndex <span style="color: #000040;">+</span><span style="color: #000080;">=</span> <span style="color: #0000dd;">4</span><span style="color: #008080;">;</span>
&nbsp;
		<span style="color: #666666;">// PUSH 0x000000 - Push the address of the MessageBox message</span>
		workspace<span style="color: #008000;">&#91;</span>workspaceIndex<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #208080;">0x68</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">memcpy</span><span style="color: #008000;">&#40;</span>workspace <span style="color: #000040;">+</span> workspaceIndex, <span style="color: #000040;">&amp;</span>error1Addr, <span style="color: #0000dd;">4</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		workspaceIndex <span style="color: #000040;">+</span><span style="color: #000080;">=</span> <span style="color: #0000dd;">4</span><span style="color: #008080;">;</span>
&nbsp;
		<span style="color: #666666;">// Push 0</span>
		workspace<span style="color: #008000;">&#91;</span>workspaceIndex<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #208080;">0x6A</span><span style="color: #008080;">;</span>
		workspace<span style="color: #008000;">&#91;</span>workspaceIndex<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #208080;">0x00</span><span style="color: #008080;">;</span>
&nbsp;
		<span style="color: #666666;">// MOV EAX, [ADDRESS] - Move the address of MessageBoxA into EAX</span>
		workspace<span style="color: #008000;">&#91;</span>workspaceIndex<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #208080;">0xA1</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">memcpy</span><span style="color: #008000;">&#40;</span>workspace <span style="color: #000040;">+</span> workspaceIndex, <span style="color: #000040;">&amp;</span>msgboxAddr, <span style="color: #0000dd;">4</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		workspaceIndex <span style="color: #000040;">+</span><span style="color: #000080;">=</span> <span style="color: #0000dd;">4</span><span style="color: #008080;">;</span>
&nbsp;
		<span style="color: #666666;">// CALL EAX - Call MessageBoxA</span>
		workspace<span style="color: #008000;">&#91;</span>workspaceIndex<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #208080;">0xFF</span><span style="color: #008080;">;</span>
		workspace<span style="color: #008000;">&#91;</span>workspaceIndex<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #208080;">0xD0</span><span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #666666;">// ExitProcess</span>
		<span style="color: #666666;">// Push 0</span>
		workspace<span style="color: #008000;">&#91;</span>workspaceIndex<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #208080;">0x6A</span><span style="color: #008080;">;</span>
		workspace<span style="color: #008000;">&#91;</span>workspaceIndex<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #208080;">0x00</span><span style="color: #008080;">;</span>
&nbsp;
		<span style="color: #666666;">// MOV EAX, ADDRESS - Move the address of ExitProcess into EAX</span>
		workspace<span style="color: #008000;">&#91;</span>workspaceIndex<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #208080;">0xB8</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">memcpy</span><span style="color: #008000;">&#40;</span>workspace <span style="color: #000040;">+</span> workspaceIndex, <span style="color: #000040;">&amp;</span>exitprocess, <span style="color: #0000dd;">4</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		workspaceIndex <span style="color: #000040;">+</span><span style="color: #000080;">=</span> <span style="color: #0000dd;">4</span><span style="color: #008080;">;</span>
&nbsp;
		<span style="color: #666666;">// CALL EAX - Call MessageBoxA</span>
		workspace<span style="color: #008000;">&#91;</span>workspaceIndex<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #208080;">0xFF</span><span style="color: #008080;">;</span>
		workspace<span style="color: #008000;">&#91;</span>workspaceIndex<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #208080;">0xD0</span><span style="color: #008080;">;</span>
&nbsp;
<span style="color: #666666;">//	Now we have the address of the injected DLL, so save the handle</span>
&nbsp;
	<span style="color: #666666;">// MOV [ADDRESS], EAX - Save the address to our variable</span>
	workspace<span style="color: #008000;">&#91;</span>workspaceIndex<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #208080;">0xA3</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">memcpy</span><span style="color: #008000;">&#40;</span>workspace <span style="color: #000040;">+</span> workspaceIndex, <span style="color: #000040;">&amp;</span>dllAddr, <span style="color: #0000dd;">4</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	workspaceIndex <span style="color: #000040;">+</span><span style="color: #000080;">=</span> <span style="color: #0000dd;">4</span><span style="color: #008080;">;</span>
&nbsp;
<span style="color: #666666;">// Load the initilize function from it</span>
&nbsp;
	<span style="color: #666666;">// PUSH 0x000000 - Push the address of the function name to load</span>
	workspace<span style="color: #008000;">&#91;</span>workspaceIndex<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #208080;">0x68</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">memcpy</span><span style="color: #008000;">&#40;</span>workspace <span style="color: #000040;">+</span> workspaceIndex, <span style="color: #000040;">&amp;</span>funcNameAddr, <span style="color: #0000dd;">4</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	workspaceIndex <span style="color: #000040;">+</span><span style="color: #000080;">=</span> <span style="color: #0000dd;">4</span><span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #666666;">// Push EAX, module to use in GetProcAddress</span>
	workspace<span style="color: #008000;">&#91;</span>workspaceIndex<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #208080;">0x50</span><span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #666666;">// MOV EAX, ADDRESS - Move the address of GetProcAddress into EAX</span>
	workspace<span style="color: #008000;">&#91;</span>workspaceIndex<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #208080;">0xB8</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">memcpy</span><span style="color: #008000;">&#40;</span>workspace <span style="color: #000040;">+</span> workspaceIndex, <span style="color: #000040;">&amp;</span>getprocaddress, <span style="color: #0000dd;">4</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	workspaceIndex <span style="color: #000040;">+</span><span style="color: #000080;">=</span> <span style="color: #0000dd;">4</span><span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #666666;">// CALL EAX - Call GetProcAddress</span>
	workspace<span style="color: #008000;">&#91;</span>workspaceIndex<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #208080;">0xFF</span><span style="color: #008080;">;</span>
	workspace<span style="color: #008000;">&#91;</span>workspaceIndex<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #208080;">0xD0</span><span style="color: #008080;">;</span>
&nbsp;
<span style="color: #666666;">// Error Checking</span>
	<span style="color: #666666;">// CMP EAX, 0</span>
	workspace<span style="color: #008000;">&#91;</span>workspaceIndex<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #208080;">0x83</span><span style="color: #008080;">;</span>
	workspace<span style="color: #008000;">&#91;</span>workspaceIndex<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #208080;">0xF8</span><span style="color: #008080;">;</span>
	workspace<span style="color: #008000;">&#91;</span>workspaceIndex<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #208080;">0x00</span><span style="color: #008080;">;</span>
&nbsp;
<span style="color: #666666;">// JNZ EIP + 0x1C to skip eror code</span>
	workspace<span style="color: #008000;">&#91;</span>workspaceIndex<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #208080;">0x75</span><span style="color: #008080;">;</span>
	workspace<span style="color: #008000;">&#91;</span>workspaceIndex<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #208080;">0x1C</span><span style="color: #008080;">;</span>
&nbsp;
<span style="color: #666666;">// Error Code 2</span>
	<span style="color: #666666;">// MessageBox</span>
		<span style="color: #666666;">// PUSH 0x10 (MB_ICONHAND)</span>
		workspace<span style="color: #008000;">&#91;</span>workspaceIndex<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #208080;">0x6A</span><span style="color: #008080;">;</span>
		workspace<span style="color: #008000;">&#91;</span>workspaceIndex<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #208080;">0x10</span><span style="color: #008080;">;</span>
&nbsp;
		<span style="color: #666666;">// PUSH 0x000000 - Push the address of the MessageBox title</span>
		workspace<span style="color: #008000;">&#91;</span>workspaceIndex<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #208080;">0x68</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">memcpy</span><span style="color: #008000;">&#40;</span>workspace <span style="color: #000040;">+</span> workspaceIndex, <span style="color: #000040;">&amp;</span>error0Addr, <span style="color: #0000dd;">4</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		workspaceIndex <span style="color: #000040;">+</span><span style="color: #000080;">=</span> <span style="color: #0000dd;">4</span><span style="color: #008080;">;</span>
&nbsp;
		<span style="color: #666666;">// PUSH 0x000000 - Push the address of the MessageBox message</span>
		workspace<span style="color: #008000;">&#91;</span>workspaceIndex<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #208080;">0x68</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">memcpy</span><span style="color: #008000;">&#40;</span>workspace <span style="color: #000040;">+</span> workspaceIndex, <span style="color: #000040;">&amp;</span>error2Addr, <span style="color: #0000dd;">4</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		workspaceIndex <span style="color: #000040;">+</span><span style="color: #000080;">=</span> <span style="color: #0000dd;">4</span><span style="color: #008080;">;</span>
&nbsp;
		<span style="color: #666666;">// Push 0</span>
		workspace<span style="color: #008000;">&#91;</span>workspaceIndex<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #208080;">0x6A</span><span style="color: #008080;">;</span>
		workspace<span style="color: #008000;">&#91;</span>workspaceIndex<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #208080;">0x00</span><span style="color: #008080;">;</span>
&nbsp;
		<span style="color: #666666;">// MOV EAX, ADDRESS - Move the address of MessageBoxA into EAX</span>
		workspace<span style="color: #008000;">&#91;</span>workspaceIndex<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #208080;">0xA1</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">memcpy</span><span style="color: #008000;">&#40;</span>workspace <span style="color: #000040;">+</span> workspaceIndex, <span style="color: #000040;">&amp;</span>msgboxAddr, <span style="color: #0000dd;">4</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		workspaceIndex <span style="color: #000040;">+</span><span style="color: #000080;">=</span> <span style="color: #0000dd;">4</span><span style="color: #008080;">;</span>
&nbsp;
		<span style="color: #666666;">// CALL EAX - Call MessageBoxA</span>
		workspace<span style="color: #008000;">&#91;</span>workspaceIndex<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #208080;">0xFF</span><span style="color: #008080;">;</span>
		workspace<span style="color: #008000;">&#91;</span>workspaceIndex<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #208080;">0xD0</span><span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #666666;">// ExitProcess</span>
		<span style="color: #666666;">// Push 0</span>
		workspace<span style="color: #008000;">&#91;</span>workspaceIndex<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #208080;">0x6A</span><span style="color: #008080;">;</span>
		workspace<span style="color: #008000;">&#91;</span>workspaceIndex<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #208080;">0x00</span><span style="color: #008080;">;</span>
&nbsp;
		<span style="color: #666666;">// MOV EAX, ADDRESS - Move the address of ExitProcess into EAX</span>
		workspace<span style="color: #008000;">&#91;</span>workspaceIndex<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #208080;">0xB8</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">memcpy</span><span style="color: #008000;">&#40;</span>workspace <span style="color: #000040;">+</span> workspaceIndex, <span style="color: #000040;">&amp;</span>exitprocess, <span style="color: #0000dd;">4</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		workspaceIndex <span style="color: #000040;">+</span><span style="color: #000080;">=</span> <span style="color: #0000dd;">4</span><span style="color: #008080;">;</span>
&nbsp;
<span style="color: #666666;">//	Now that we have the address of the function, we cam call it, </span>
<span style="color: #666666;">// if there was an error, the messagebox would be called as well.</span>
&nbsp;
	<span style="color: #666666;">// CALL EAX - Call ExitProcess -or- the Initialize function</span>
	workspace<span style="color: #008000;">&#91;</span>workspaceIndex<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #208080;">0xFF</span><span style="color: #008080;">;</span>
	workspace<span style="color: #008000;">&#91;</span>workspaceIndex<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #208080;">0xD0</span><span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #666666;">// If we get here, the Initialize function has been called, </span>
	<span style="color: #666666;">// so it's time to close this thread and optionally unload the DLL.</span>
&nbsp;
<span style="color: #666666;">//------------------------------------------//</span>
<span style="color: #666666;">// Exiting from the injected dll.			//</span>
<span style="color: #666666;">//------------------------------------------//</span>
&nbsp;
<span style="color: #666666;">// Call ExitThread to leave the DLL loaded</span>
<span style="color: #339900;">#if 1</span>
	<span style="color: #666666;">// Push 0 (exit code)</span>
	workspace<span style="color: #008000;">&#91;</span>workspaceIndex<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #208080;">0x6A</span><span style="color: #008080;">;</span>
	workspace<span style="color: #008000;">&#91;</span>workspaceIndex<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #208080;">0x00</span><span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #666666;">// MOV EAX, ADDRESS - Move the address of ExitThread into EAX</span>
	workspace<span style="color: #008000;">&#91;</span>workspaceIndex<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #208080;">0xB8</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">memcpy</span><span style="color: #008000;">&#40;</span>workspace <span style="color: #000040;">+</span> workspaceIndex, <span style="color: #000040;">&amp;</span>exitthread, <span style="color: #0000dd;">4</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	workspaceIndex <span style="color: #000040;">+</span><span style="color: #000080;">=</span> <span style="color: #0000dd;">4</span><span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #666666;">// CALL EAX - Call ExitThread</span>
	workspace<span style="color: #008000;">&#91;</span>workspaceIndex<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #208080;">0xFF</span><span style="color: #008080;">;</span>
	workspace<span style="color: #008000;">&#91;</span>workspaceIndex<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #208080;">0xD0</span><span style="color: #008080;">;</span>
<span style="color: #339900;">#endif</span>
&nbsp;
<span style="color: #666666;">// Call FreeLibraryAndExitThread to unload DLL</span>
<span style="color: #339900;">#if 0</span>
	<span style="color: #666666;">// Push 0 (exit code)</span>
	workspace<span style="color: #008000;">&#91;</span>workspaceIndex<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #208080;">0x6A</span><span style="color: #008080;">;</span>
	workspace<span style="color: #008000;">&#91;</span>workspaceIndex<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #208080;">0x00</span><span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #666666;">// PUSH [0x000000] - Push the address of the DLL module to unload</span>
	workspace<span style="color: #008000;">&#91;</span>workspaceIndex<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #208080;">0xFF</span><span style="color: #008080;">;</span>
	workspace<span style="color: #008000;">&#91;</span>workspaceIndex<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #208080;">0x35</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">memcpy</span><span style="color: #008000;">&#40;</span>workspace <span style="color: #000040;">+</span> workspaceIndex, <span style="color: #000040;">&amp;</span>dllAddr, <span style="color: #0000dd;">4</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	workspaceIndex <span style="color: #000040;">+</span><span style="color: #000080;">=</span> <span style="color: #0000dd;">4</span><span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #666666;">// MOV EAX, ADDRESS - Move the address of FreeLibraryAndExitThread into EAX</span>
	workspace<span style="color: #008000;">&#91;</span>workspaceIndex<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #208080;">0xB8</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">memcpy</span><span style="color: #008000;">&#40;</span>workspace <span style="color: #000040;">+</span> workspaceIndex, <span style="color: #000040;">&amp;</span>freelibraryandexitthread, <span style="color: #0000dd;">4</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	workspaceIndex <span style="color: #000040;">+</span><span style="color: #000080;">=</span> <span style="color: #0000dd;">4</span><span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #666666;">// CALL EAX - Call FreeLibraryAndExitThread</span>
	workspace<span style="color: #008000;">&#91;</span>workspaceIndex<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #208080;">0xFF</span><span style="color: #008080;">;</span>
	workspace<span style="color: #008000;">&#91;</span>workspaceIndex<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #208080;">0xD0</span><span style="color: #008080;">;</span>
<span style="color: #339900;">#endif</span>
&nbsp;
<span style="color: #666666;">//------------------------------------------//</span>
<span style="color: #666666;">// Code injection and cleanup.				//</span>
<span style="color: #666666;">//------------------------------------------//</span>
&nbsp;
	<span style="color: #666666;">// Change page protection so we can write executable code</span>
	VirtualProtectEx<span style="color: #008000;">&#40;</span>hProcess, codecaveAddress, workspaceIndex, PAGE_EXECUTE_READWRITE, <span style="color: #000040;">&amp;</span>oldProtect<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #666666;">// Write out the patch</span>
	WriteProcessMemory<span style="color: #008000;">&#40;</span>hProcess, codecaveAddress, workspace, workspaceIndex, <span style="color: #000040;">&amp;</span>bytesRet<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #666666;">// Restore page protection</span>
	VirtualProtectEx<span style="color: #008000;">&#40;</span>hProcess, codecaveAddress, workspaceIndex, oldProtect, <span style="color: #000040;">&amp;</span>oldProtect<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #666666;">// Make sure our changes are written right away</span>
	FlushInstructionCache<span style="color: #008000;">&#40;</span>hProcess, codecaveAddress, workspaceIndex<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #666666;">// Free the workspace memory</span>
	HeapFree<span style="color: #008000;">&#40;</span>GetProcessHeap<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>, <span style="color: #0000dd;">0</span>, workspace<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #666666;">// Execute the thread now and wait for it to exit, note we execute where the code starts, and not the codecave start</span>
	<span style="color: #666666;">// (since we wrote strings at the start of the codecave) -- NOTE: void* used for VC6 compatibility instead of UlongToPtr</span>
	hThread <span style="color: #000080;">=</span> CreateRemoteThread<span style="color: #008000;">&#40;</span>hProcess, <span style="color: #0000ff;">NULL</span>, <span style="color: #0000dd;">0</span>, <span style="color: #008000;">&#40;</span>LPTHREAD_START_ROUTINE<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#40;</span><span style="color: #0000ff;">void</span><span style="color: #000040;">*</span><span style="color: #008000;">&#41;</span>codecaveExecAddr<span style="color: #008000;">&#41;</span>, <span style="color: #0000dd;">0</span>, <span style="color: #0000dd;">0</span>, <span style="color: #0000ff;">NULL</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	WaitForSingleObject<span style="color: #008000;">&#40;</span>hThread, INFINITE<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span> 
&nbsp;
	<span style="color: #666666;">// Free the memory in the process that we allocated</span>
	VirtualFreeEx<span style="color: #008000;">&#40;</span>hProcess, codecaveAddress, <span style="color: #0000dd;">0</span>, MEM_RELEASE<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1600</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>[demo]sx-server 简单HTTP文件服务器</title>
		<link>http://www.shuax.com/?p=1597</link>
		<comments>http://www.shuax.com/?p=1597#comments</comments>
		<pubDate>Sun, 13 Jun 2010 09:04:43 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[原创软件]]></category>
		<category><![CDATA[C++]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1597</guid>
		<description><![CDATA[受到老师的鼓励，我也想自己动手完成一下http协议的实现。 具体说来就是RFC2616。 写了一个最基本的回应，只能响应GET方法。编码也仅仅是GB2312. 可以列目录，大于2G的文件不能下载（HTTP协议规定的~好像是）。 唉，难得打字了，自己运行exe文件并且查看源代码是最快捷的方法。 期望您观看后能给我指导。 下载地址： sHttpd 文件大小：9.0 KB&#12288;文件名称：sHttpd.rar]]></description>
			<content:encoded><![CDATA[<p>受到老师的鼓励，我也想自己动手完成一下http协议的实现。</p>
<p>具体说来就是RFC2616。</p>
<p>写了一个最基本的回应，只能响应GET方法。编码也仅仅是GB2312.</p>
<p>可以列目录，大于2G的文件不能下载（HTTP协议规定的~好像是）。</p>
<p>唉，难得打字了，自己运行exe文件并且查看源代码是最快捷的方法。</p>
<p>期望您观看后能给我指导。</p>
<p>下载地址：<div class='download-link'>
							<a href='http://www.shuax.com/download.php?file=http://www.shuax.com/wp-content/uploads/2010/06/sHttpd.rar'><img alt='Download' class='leftalign' src='http://www.shuax.com/wp-content/plugins/dBeautifier/icons/downloads.png' /></a>
							<h4>
								<a href='http://www.shuax.com/download.php?file=http://www.shuax.com/wp-content/uploads/2010/06/sHttpd.rar'>sHttpd</a>
							</h4><p>文件大小：9.0 KB&#12288;文件名称：sHttpd.rar</p>
						</div></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1597</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>QQ2010正式版 去广告纯净版</title>
		<link>http://www.shuax.com/?p=1592</link>
		<comments>http://www.shuax.com/?p=1592#comments</comments>
		<pubDate>Fri, 11 Jun 2010 15:10:17 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[原创软件]]></category>
		<category><![CDATA[QQ]]></category>
		<category><![CDATA[去广告]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1592</guid>
		<description><![CDATA[QQ2010 正式版全员发布啦！欢迎大家下载体验最新的QQ版本。配合今晚南非世界杯开幕，QQ新版本推出两款世界杯主题皮肤，更换世界杯皮肤，与全球球迷共狂欢。QQ2010 正式版 what&#8221;s new：=====================================1、支持读屏软件，关爱盲人用户精彩在线生活；2、发送腾讯新闻链接展示摘要，信息预览更轻松；3、新增两款世界杯主题皮肤，带来全新视觉享受；4、新增多款QQ游戏主题头像，个性头像随心设置；5、QQ性能优化升级，为您带来更顺畅的操作体验。特殊版本： 去掉了QQ安装过程中的附加软件，例如QQ软件管理器。 集成了会员补丁，感谢微笑一刀（还没给他说了，希望别介意） 不含任何个人信息，只为学习 已知问题： 安装结束后直接运行QQ会报错，因此我将此功能屏蔽了，你可以点击桌面的图标运行QQ。 窗口最小化后有残留是因为透明惹的祸，关闭透明功能即可。 大小: 27432312 字节文件版本: 1, 50, 1720, 0修改时间: 2010年6月11日, 22:36:02MD5: D22DB45C71414A965AD6554138E310E5SHA1: 743DC8D83F0479760ED9A5CBA7EB3372B9D27A6ECRC32: 189D623B下载地址：SX_QQ2010_MOD.exe]]></description>
			<content:encoded><![CDATA[<p>QQ2010 正式版全员发布啦！欢迎大家下载体验最新的QQ版本。配合今晚南非世界杯开幕，QQ新版本推出两款世界杯主题皮肤，更换世界杯皮肤，与全球球迷共狂欢。QQ2010 正式版 what&#8221;s new：<br style="word-wrap: break-word; line-height: normal;" />=====================================<br style="word-wrap: break-word; line-height: normal;" />1、支持读屏软件，关爱盲人用户精彩在线生活；<br style="word-wrap: break-word; line-height: normal;" />2、发送腾讯新闻链接展示摘要，信息预览更轻松；<br style="word-wrap: break-word; line-height: normal;" />3、新增两款世界杯主题皮肤，带来全新视觉享受；<br style="word-wrap: break-word; line-height: normal;" />4、新增多款QQ游戏主题头像，个性头像随心设置；<br style="word-wrap: break-word; line-height: normal;" />5、QQ性能优化升级，为您带来更顺畅的操作体验。<br style="word-wrap: break-word; line-height: normal;" /><span id="more-1592"></span><strong>特殊版本：</strong></p>
<ul style="word-wrap: break-word; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 14px; line-height: normal; padding: 0px;">
<li style="word-wrap: break-word; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 2em; list-style-type: disc; list-style-position: initial; list-style-image: initial; line-height: normal; padding: 0px;">去掉了QQ安装过程中的附加软件，例如QQ软件管理器。</li>
<li style="word-wrap: break-word; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 2em; list-style-type: disc; list-style-position: initial; list-style-image: initial; line-height: normal; padding: 0px;">集成了会员补丁，感谢<span style="word-wrap: break-word; line-height: normal; color: #ff0000;">微笑一刀</span>（还没给他说了，希望别介意）</li>
<li style="word-wrap: break-word; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 2em; list-style-type: disc; list-style-position: initial; list-style-image: initial; line-height: normal; padding: 0px;">不含任何个人信息，只为学习</li>
</ul>
<p><br style="word-wrap: break-word; line-height: normal;" /><strong>已知问题：</strong></p>
<ul style="word-wrap: break-word; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 14px; line-height: normal; padding: 0px;">
<li style="word-wrap: break-word; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 2em; list-style-type: disc; list-style-position: initial; list-style-image: initial; line-height: normal; padding: 0px;">安装结束后直接运行QQ会报错，因此我将此功能屏蔽了，你可以点击桌面的图标运行QQ。</li>
<li style="word-wrap: break-word; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 2em; list-style-type: disc; list-style-position: initial; list-style-image: initial; line-height: normal; padding: 0px;">窗口最小化后有残留是因为透明惹的祸，关闭透明功能即可。</li>
</ul>
<p><br style="word-wrap: break-word; line-height: normal;" />大小: 27432312 字节<br style="word-wrap: break-word; line-height: normal;" />文件版本: 1, 50, 1720, 0<br style="word-wrap: break-word; line-height: normal;" />修改时间: 2010年6月11日, 22:36:02<br style="word-wrap: break-word; line-height: normal;" />MD5: D22DB45C71414A965AD6554138E310E5<br style="word-wrap: break-word; line-height: normal;" />SHA1: 743DC8D83F0479760ED9A5CBA7EB3372B9D27A6E<br style="word-wrap: break-word; line-height: normal;" />CRC32: 189D623B<br style="word-wrap: break-word; line-height: normal;" /><br style="word-wrap: break-word; line-height: normal;" />下载地址：<a style="word-wrap: break-word; text-decoration: none; color: #e77b0f; line-height: normal;" href="http://u.115.com/file/f06d19c1d0" target="_blank">SX_QQ2010_MOD.exe</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1592</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>Sysinternals Suite</title>
		<link>http://www.shuax.com/?p=1590</link>
		<comments>http://www.shuax.com/?p=1590#comments</comments>
		<pubDate>Fri, 11 Jun 2010 11:04:41 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[实用软件]]></category>
		<category><![CDATA[实用]]></category>
		<category><![CDATA[软件]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1590</guid>
		<description><![CDATA[　　Sysinternals Suite是微软发布的一套非常强大的免费工具程序集.Sysinternals Suite一共包括将近70个windows工具。用好Windows Sysinternals Suite里的工具,你将更有能力处理Windows的各种问题,而且不花一毛钱.Sysinternals 之前为Winternals公司提供的免费工具,Winternals原本是一间主力产品为系统复原与资料保护的公司,为了解决工程师平常在工作上遇到的各种问题,便开发出许多小工具.之后他们将这些工具集合起来称为Sysinternals,并放在网路供人免费下载,其中也包含部分工具的原始码,一直以来都颇受IT专家社群的好评. 　　The Sysinternals web site was created in 1996 by Mark Russinovich and Bryce Cogswell to host their advanced system utilities and technical information. Microsoft acquired Sysinternals in July, 2006. Whether you’re an IT Pro or a developer, you’ll find Sysinternals utilities to help you manage, troubleshoot and diagnose your]]></description>
			<content:encoded><![CDATA[<p>　　Sysinternals Suite是微软发布的一套非常强大的免费工具程序集.Sysinternals Suite一共包括将近70个windows工具。用好Windows Sysinternals Suite里的工具,你将更有能力处理Windows的各种问题,而且不花一毛钱.Sysinternals 之前为Winternals公司提供的免费工具,Winternals原本是一间主力产品为系统复原与资料保护的公司,为了解决工程师平常在工作上遇到的各种问题,便开发出许多小工具.之后他们将这些工具集合起来称为Sysinternals,并放在网路供人免费下载,其中也包含部分工具的原始码,一直以来都颇受IT专家社群的好评.<br />
<span id="more-1590"></span><br />
　　The Sysinternals web site was created in 1996 by Mark Russinovich and Bryce Cogswell to host their advanced system utilities and technical information. Microsoft acquired Sysinternals in July, 2006. Whether you’re an IT Pro or a developer, you’ll find Sysinternals utilities to help you manage, troubleshoot and diagnose your Windows systems and applications. If you have a question about a tool or how to use them, please visit the Sysinternals Forum for answers and help from other users and our moderators.<br />
官方网站：http://technet.microsoft.com/zh-cn/sysinternals/bb842062(en-us).aspx<br />
下载地址：<a href="http://download.sysinternals.com/Files/SysinternalsSuite.zip">http://download.sysinternals.com/Files/SysinternalsSuite.zip</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1590</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[原创]简易无损音频转换器</title>
		<link>http://www.shuax.com/?p=1588</link>
		<comments>http://www.shuax.com/?p=1588#comments</comments>
		<pubDate>Fri, 04 Jun 2010 04:38:24 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[原创软件]]></category>
		<category><![CDATA[原创]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1588</guid>
		<description><![CDATA[最近电脑上的无损音乐越来越多了，但是我的手机当然是不支持的，啊！！ 所以网上找工具吧，找了半天限制都比较多，还有的根本就不能用~汗。还是自己弄吧，我全部用的官方的库写的批处理。 可以实现APE、FLAC的互相转换。APE、FLAC到MP3。 无损的压缩率我默认的是中等水平，MP3的压缩率是比较高的那种。具体帮助请查看WinRAR压缩包注释。 包含转换文件： APE2FLAC.bat APE2MP3.bat FLAC2APE.bat FLAC2MP3.bat AudioConverter 文件大小：583.4 KB&#12288;文件名称：AudioConverter.rar]]></description>
			<content:encoded><![CDATA[<p>最近电脑上的无损音乐越来越多了，但是我的手机当然是不支持的，啊！！</p>
<p>所以网上找工具吧，找了半天限制都比较多，还有的根本就不能用~汗。还是自己弄吧，我全部用的官方的库写的批处理。</p>
<p>可以实现APE、FLAC的互相转换。APE、FLAC到MP3。</p>
<p>无损的压缩率我默认的是中等水平，MP3的压缩率是比较高的那种。具体帮助请查看WinRAR压缩包注释。</p>
<p><span id="more-1588"></span>包含转换文件：</p>
<p>APE2FLAC.bat</p>
<p>APE2MP3.bat</p>
<p>FLAC2APE.bat</p>
<p>FLAC2MP3.bat</p>
<p><div class='download-link'>
							<a href='http://www.shuax.com/download.php?file=http://www.shuax.com/wp-content/uploads/2010/06/AudioConverter.rar'><img alt='Download' class='leftalign' src='http://www.shuax.com/wp-content/plugins/dBeautifier/icons/downloads.png' /></a>
							<h4>
								<a href='http://www.shuax.com/download.php?file=http://www.shuax.com/wp-content/uploads/2010/06/AudioConverter.rar'>AudioConverter</a>
							</h4><p>文件大小：583.4 KB&#12288;文件名称：AudioConverter.rar</p>
						</div></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1588</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>[游戏]东方永夜抄</title>
		<link>http://www.shuax.com/?p=1582</link>
		<comments>http://www.shuax.com/?p=1582#comments</comments>
		<pubDate>Sun, 30 May 2010 12:26:16 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[实用软件]]></category>
		<category><![CDATA[游戏]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1582</guid>
		<description><![CDATA[「东方永夜抄 ～ Imperishable Night」是一款弹幕射击游戏。 《东方永夜抄》MID完全版 基本操作： 方向键，上下左右移动 Z键，子弹攻击、选择 X键，绝招攻击 SHIFT，切换为妖精 ESC，暂停、退出 CTRL，跳过对话 当然，这些都是可以自己设置的。 下载地址：东方永夜抄.7z]]></description>
			<content:encoded><![CDATA[<p>「东方永夜抄 ～ Imperishable Night」是一款弹幕射击游戏。<br />
《东方永夜抄》MID完全版<br />
<a class="lightbox" href="http://www.shuax.com/wp-content/uploads/2010/05/df.jpg"><img class="aligncenter size-full wp-image-1583" title="df" src="http://www.shuax.com/wp-content/uploads/2010/05/df.jpg" alt="" width="656" height="518" /></a><br />
<span id="more-1582"></span><br />
基本操作：<br />
方向键，上下左右移动<br />
Z键，子弹攻击、选择<br />
X键，绝招攻击<br />
SHIFT，切换为妖精<br />
ESC，暂停、退出<br />
CTRL，跳过对话<br />
当然，这些都是可以自己设置的。<br />
下载地址：<a href="http://u.115.com/file/f0cb0bec82">东方永夜抄.7z</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1582</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>游戏答案揭晓</title>
		<link>http://www.shuax.com/?p=1580</link>
		<comments>http://www.shuax.com/?p=1580#comments</comments>
		<pubDate>Tue, 25 May 2010 09:10:14 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[我的生活]]></category>
		<category><![CDATA[游戏]]></category>
		<category><![CDATA[编程]]></category>
		<category><![CDATA[解密]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1580</guid>
		<description><![CDATA[还记得上次我发过的几个游戏吗？ Go-Getter：http://www.shuax.com/?p=1525 validate code：http://www.shuax.com/?p=1521 Get The Sum：http://www.shuax.com/?p=1519 现在终于有空了，就把答案揭晓了吧。 分别是：元编程（就是用程序生成程序）、验证码识别（简单的BMP）、批处理使用（基本知识） Get The Sum： 首先写出一个批量解压程序。 核心代码是： @echo off &#34;C:\Program Files\WinRAR\WinRAR&#34; -ibck x -o+ gnu.tar.bz2 临时\ cd 临时 copy /b 结果.txt + is + not + unix move gnu.tar.bz2 .. cd .. 调用程序是： @echo off for /l %%i in (1,1,20) do 核心.bat pause 执行完毕后会得到一个结果，然后我们看说明会知道需要排序，其实就不用自己去写排序程序了，直接用Windows自带的功能 sort 结果.txt /O ../结果.txt]]></description>
			<content:encoded><![CDATA[<p>还记得上次我发过的几个游戏吗？<br />
Go-Getter：http://www.shuax.com/?p=1525<br />
validate code：http://www.shuax.com/?p=1521<br />
Get The Sum：http://www.shuax.com/?p=1519<br />
现在终于有空了，就把答案揭晓了吧。</p>
<p>分别是：元编程（就是用程序生成程序）、验证码识别（简单的BMP）、批处理使用（基本知识）<br />
<span id="more-1580"></span></p>
<p>Get The Sum：</p>
<p>首先写出一个批量解压程序。<br />
核心代码是：</p>

<div class="wp_codebox"><table><tr id="p158024"><td class="code" id="p1580code24"><pre class="bat" style="font-family:monospace;">@echo off
&quot;C:\Program Files\WinRAR\WinRAR&quot; -ibck x -o+ gnu.tar.bz2 临时\
cd 临时
copy /b 结果.txt + is + not + unix
move gnu.tar.bz2 ..
cd ..</pre></td></tr></table></div>

<p>调用程序是：</p>

<div class="wp_codebox"><table><tr id="p158025"><td class="code" id="p1580code25"><pre class="bat" style="font-family:monospace;">@echo off
for /l %%i in (1,1,20) do 核心.bat
pause</pre></td></tr></table></div>

<p>执行完毕后会得到一个结果，然后我们看说明会知道需要排序，其实就不用自己去写排序程序了，直接用Windows自带的功能</p>

<div class="wp_codebox"><table><tr id="p158026"><td class="code" id="p1580code26"><pre class="bat" style="font-family:monospace;">sort 结果.txt /O ../结果.txt</pre></td></tr></table></div>

<p>即可。<br />
然后计算Md5吧，我写好了程序：</p>

<div class="wp_codebox"><table><tr id="p158027"><td class="code" id="p1580code27"><pre class="cpp" style="font-family:monospace;"><span style="color: #339900;">#include &lt;stdio.h&gt;</span>
<span style="color: #339900;">#include &lt;string.h&gt;</span>
<span style="color: #339900;">#include &quot;md5.cpp&quot;</span>
<span style="color: #0000ff;">void</span> convHEX<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">char</span> <span style="color: #000040;">*</span>src, <span style="color: #0000ff;">char</span> <span style="color: #000040;">*</span>des, <span style="color: #0000ff;">long</span> len<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">int</span> i, j<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>i <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span>, j <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span> i <span style="color: #000080;">&lt;</span> len<span style="color: #008080;">;</span> i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span><span style="color: #008000;">&#40;</span><span style="color: #0000ff;">unsigned</span> <span style="color: #0000ff;">char</span><span style="color: #008000;">&#41;</span>src<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #000040;">/</span> <span style="color: #0000dd;">16</span> <span style="color: #000080;">&gt;=</span> <span style="color: #0000dd;">10</span><span style="color: #008000;">&#41;</span> des<span style="color: #008000;">&#91;</span>j<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">unsigned</span> <span style="color: #0000ff;">char</span><span style="color: #008000;">&#41;</span>src<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #000040;">/</span> <span style="color: #0000dd;">16</span> <span style="color: #000040;">+</span> <span style="color: #0000dd;">87</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">else</span> des<span style="color: #008000;">&#91;</span>j<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">unsigned</span> <span style="color: #0000ff;">char</span><span style="color: #008000;">&#41;</span>src<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #000040;">/</span> <span style="color: #0000dd;">16</span> <span style="color: #000040;">+</span> <span style="color: #FF0000;">'0'</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span><span style="color: #008000;">&#40;</span><span style="color: #0000ff;">unsigned</span> <span style="color: #0000ff;">char</span><span style="color: #008000;">&#41;</span>src<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #000040;">%</span> <span style="color: #0000dd;">16</span> <span style="color: #000080;">&gt;=</span> <span style="color: #0000dd;">10</span><span style="color: #008000;">&#41;</span> des<span style="color: #008000;">&#91;</span>j<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">unsigned</span> <span style="color: #0000ff;">char</span><span style="color: #008000;">&#41;</span>src<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #000040;">%</span> <span style="color: #0000dd;">16</span> <span style="color: #000040;">+</span> <span style="color: #0000dd;">87</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">else</span> des<span style="color: #008000;">&#91;</span>j<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">unsigned</span> <span style="color: #0000ff;">char</span><span style="color: #008000;">&#41;</span>src<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #000040;">%</span> <span style="color: #0000dd;">16</span> <span style="color: #000040;">+</span> <span style="color: #FF0000;">'0'</span><span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	des<span style="color: #008000;">&#91;</span>j<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">int</span> main<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">FILE</span> <span style="color: #000040;">*</span>fp<span style="color: #008080;">;</span>
	fp<span style="color: #000080;">=</span><span style="color: #0000dd;">fopen</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;结果.txt&quot;</span>,<span style="color: #FF0000;">&quot;rb&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">char</span> s<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">1024</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">char</span> szDigest<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">16</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">while</span><span style="color: #008000;">&#40;</span><span style="color: #000040;">!</span><span style="color: #0000dd;">feof</span><span style="color: #008000;">&#40;</span>fp<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
        <span style="color: #0000dd;">fgets</span><span style="color: #008000;">&#40;</span>s,<span style="color: #0000dd;">1023</span>,fp<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
&nbsp;
        s<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">strlen</span><span style="color: #008000;">&#40;</span>s<span style="color: #008000;">&#41;</span><span style="color: #000040;">-</span><span style="color: #0000dd;">2</span><span style="color: #008000;">&#93;</span><span style="color: #000080;">=</span><span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
		MD5Digest<span style="color: #008000;">&#40;</span>s, <span style="color: #0000dd;">strlen</span><span style="color: #008000;">&#40;</span>s<span style="color: #008000;">&#41;</span>, szDigest<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		convHEX<span style="color: #008000;">&#40;</span>szDigest, s, <span style="color: #0000dd;">16</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%c&quot;</span>,s<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
&nbsp;
<span style="color: #008000;">&#125;</span></pre></td></tr></table></div>

<p>md5.cpp这个库文件我就不提供了，我的网站上的某些程序应该是有的。<br />
最终答案是：<br />
要求：<br />
0、将所有单词按字母顺序进行排序。<br />
1、将排序后的单词分别取其md5值的第一位，将结果按顺序进行字符串连接，得一字符串。<br />
2、此字符串的md5值的中间16位为过关KEY。</p>
<p>注：所有md5值均为32位，小写。<br />
510A9729<br />
<strong>2870c55ce594ded6</strong><br />
821469E1</p>
<p>validate code：<br />
这个题其实最简单了，我的思路就是把BMP还原成没得像素点，然后分别获得四个像素点。再加上手动识别出0-9的像素点，这样就可以识别出数字了。果然，效果很不错，识别速度特快。</p>

<div class="wp_codebox"><table><tr id="p158028"><td class="code" id="p1580code28"><pre class="cpp" style="font-family:monospace;"><span style="color: #666666;">//www.shuax.com 2010.05.25</span>
<span style="color: #339900;">#include &lt;stdio.h&gt;</span>
<span style="color: #339900;">#include &lt;windows.h&gt;</span>
<span style="color: #0000ff;">typedef</span> <span style="color: #0000ff;">struct</span>
<span style="color: #008000;">&#123;</span>
    <span style="color: #0000ff;">char</span> id<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>                                   <span style="color: #666666;">//bmp 文件标志 &quot;BM&quot;</span>
    <span style="color: #0000ff;">unsigned</span> <span style="color: #0000ff;">long</span> fileSize<span style="color: #008080;">;</span>                    <span style="color: #666666;">//文件大小</span>
    <span style="color: #0000ff;">unsigned</span> <span style="color: #0000ff;">long</span> reserved0<span style="color: #008080;">;</span>
    <span style="color: #0000ff;">unsigned</span> <span style="color: #0000ff;">long</span> bitmapDataOffset<span style="color: #008080;">;</span>
    <span style="color: #0000ff;">unsigned</span> <span style="color: #0000ff;">long</span> bitmapHeaderSize<span style="color: #008080;">;</span>
    <span style="color: #0000ff;">unsigned</span> <span style="color: #0000ff;">long</span> width<span style="color: #008080;">;</span>                    <span style="color: #666666;">//图像宽度</span>
    <span style="color: #0000ff;">unsigned</span> <span style="color: #0000ff;">long</span> height<span style="color: #008080;">;</span>                   <span style="color: #666666;">//图像高度</span>
    <span style="color: #0000ff;">unsigned</span> <span style="color: #0000ff;">short</span> planes<span style="color: #008080;">;</span>
    <span style="color: #0000ff;">unsigned</span> <span style="color: #0000ff;">short</span> bitsPerPixel<span style="color: #008080;">;</span>            <span style="color: #666666;">//每个像素站多少位</span>
    <span style="color: #0000ff;">unsigned</span> <span style="color: #0000ff;">long</span> compression<span style="color: #008080;">;</span>            <span style="color: #666666;">//是否压缩</span>
    <span style="color: #0000ff;">unsigned</span> <span style="color: #0000ff;">long</span> bitmapDataSize<span style="color: #008080;">;</span>
    <span style="color: #0000ff;">unsigned</span> <span style="color: #0000ff;">long</span> hRes<span style="color: #008080;">;</span>
    <span style="color: #0000ff;">unsigned</span> <span style="color: #0000ff;">long</span> vRes<span style="color: #008080;">;</span>
    <span style="color: #0000ff;">unsigned</span> <span style="color: #0000ff;">long</span> colors<span style="color: #008080;">;</span>
    <span style="color: #0000ff;">unsigned</span> <span style="color: #0000ff;">long</span> importantColors<span style="color: #008080;">;</span>
    <span style="color: #0000ff;">unsigned</span> <span style="color: #0000ff;">char</span> palette<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">256</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span><span style="color: #0000dd;">4</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>      <span style="color: #666666;">//调色板数据,24位及以上像素没有该数据</span>
<span style="color: #008000;">&#125;</span> BMPHeader_t<span style="color: #008080;">;</span>
&nbsp;
<span style="color: #0000ff;">long</span> GetFileSize<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">FILE</span><span style="color: #000040;">*</span> f<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
    <span style="color: #0000ff;">long</span> pos <span style="color: #000080;">=</span> <span style="color: #0000dd;">ftell</span><span style="color: #008000;">&#40;</span>f<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #0000dd;">fseek</span><span style="color: #008000;">&#40;</span>f,<span style="color: #0000dd;">0</span>,<span style="color: #0000ff;">SEEK_END</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #0000ff;">long</span> len <span style="color: #000080;">=</span> <span style="color: #0000dd;">ftell</span><span style="color: #008000;">&#40;</span>f<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #0000dd;">fseek</span><span style="color: #008000;">&#40;</span>f,pos,<span style="color: #0000ff;">SEEK_SET</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #0000ff;">return</span> len<span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">void</span> __stdcall Com_Error<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">const</span> <span style="color: #0000ff;">char</span> <span style="color: #000040;">*</span>fmt, ... <span style="color: #008000;">&#41;</span> 
<span style="color: #008000;">&#123;</span>
    <span style="color: #0000ff;">char</span>    com_errorMessage<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">4096</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
    <span style="color: #0000ff;">va_list</span>        argptr<span style="color: #008080;">;</span> 
&nbsp;
    <span style="color: #0000dd;">va_start</span> <span style="color: #008000;">&#40;</span>argptr,fmt<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #0000dd;">vsprintf</span> <span style="color: #008000;">&#40;</span>com_errorMessage,fmt,argptr<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #0000dd;">va_end</span> <span style="color: #008000;">&#40;</span>argptr<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span> 
&nbsp;
    MessageBox<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">NULL</span>,com_errorMessage,<span style="color: #FF0000;">&quot;错误提示&quot;</span>,MB_ICONERROR<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span> 
&nbsp;
<span style="color: #0000ff;">bool</span> LoadBMP<span style="color: #008000;">&#40;</span> <span style="color: #0000ff;">const</span> <span style="color: #0000ff;">char</span> <span style="color: #000040;">*</span>name, byte <span style="color: #000040;">**</span>pic, <span style="color: #0000ff;">int</span> <span style="color: #000040;">*</span>width, <span style="color: #0000ff;">int</span> <span style="color: #000040;">*</span>height <span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
    <span style="color: #0000ff;">int</span>        columns, rows, numPixels<span style="color: #008080;">;</span>
    byte    <span style="color: #000040;">*</span>pixbuf<span style="color: #008080;">;</span>
    <span style="color: #0000ff;">int</span>        row, column<span style="color: #008080;">;</span>
    byte    <span style="color: #000040;">*</span>buf_p<span style="color: #008080;">;</span>
    byte    <span style="color: #000040;">*</span>buffer<span style="color: #008080;">;</span>
    <span style="color: #0000ff;">int</span>        length<span style="color: #008080;">;</span>
    BMPHeader_t bmpHeader<span style="color: #008080;">;</span>
    byte        <span style="color: #000040;">*</span>bmpRGBA<span style="color: #008080;">;</span>
    <span style="color: #000040;">*</span>pic <span style="color: #000080;">=</span> <span style="color: #0000ff;">NULL</span><span style="color: #008080;">;</span>
    <span style="color: #666666;">// load the file</span>
    <span style="color: #0000ff;">FILE</span><span style="color: #000040;">*</span> pfile <span style="color: #000080;">=</span> <span style="color: #0000dd;">fopen</span><span style="color: #008000;">&#40;</span>name,<span style="color: #FF0000;">&quot;rb&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #0000ff;">if</span><span style="color: #008000;">&#40;</span>pfile <span style="color: #000080;">==</span> <span style="color: #0000ff;">NULL</span><span style="color: #008000;">&#41;</span>
    <span style="color: #008000;">&#123;</span>
        Com_Error<span style="color: #008000;">&#40;</span> <span style="color: #FF0000;">&quot;LoadBMP: Load BMP files failed (%s)<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span>, name <span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
        <span style="color: #0000ff;">return</span> <span style="color: #0000ff;">false</span><span style="color: #008080;">;</span>
    <span style="color: #008000;">&#125;</span>
    length <span style="color: #000080;">=</span> GetFileSize<span style="color: #008000;">&#40;</span>pfile<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    buffer <span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span>byte<span style="color: #000040;">*</span><span style="color: #008000;">&#41;</span> <span style="color: #0000dd;">malloc</span><span style="color: #008000;">&#40;</span>length<span style="color: #000040;">*</span><span style="color: #0000dd;">sizeof</span><span style="color: #008000;">&#40;</span>byte<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #0000dd;">fread</span><span style="color: #008000;">&#40;</span>buffer,<span style="color: #0000dd;">1</span>,length,pfile<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span><span style="color: #000040;">!</span>buffer<span style="color: #008000;">&#41;</span> 
    <span style="color: #008000;">&#123;</span>
        Com_Error<span style="color: #008000;">&#40;</span> <span style="color: #FF0000;">&quot;LoadBMP: Memory alloc failed (%s)<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span>, name <span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
        <span style="color: #0000ff;">return</span> <span style="color: #0000ff;">false</span><span style="color: #008080;">;</span>
    <span style="color: #008000;">&#125;</span> 
&nbsp;
    buf_p <span style="color: #000080;">=</span> buffer<span style="color: #008080;">;</span> 
&nbsp;
    bmpHeader.<span style="color: #007788;">id</span><span style="color: #008000;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #000040;">*</span>buf_p<span style="color: #000040;">++</span><span style="color: #008080;">;</span>
    bmpHeader.<span style="color: #007788;">id</span><span style="color: #008000;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #000040;">*</span>buf_p<span style="color: #000040;">++</span><span style="color: #008080;">;</span>
    bmpHeader.<span style="color: #007788;">fileSize</span> <span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span> <span style="color: #000040;">*</span> <span style="color: #008000;">&#40;</span> <span style="color: #0000ff;">long</span> <span style="color: #000040;">*</span> <span style="color: #008000;">&#41;</span> buf_p <span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    buf_p <span style="color: #000040;">+</span><span style="color: #000080;">=</span> <span style="color: #0000dd;">4</span><span style="color: #008080;">;</span>
    bmpHeader.<span style="color: #007788;">reserved0</span> <span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span> <span style="color: #000040;">*</span> <span style="color: #008000;">&#40;</span> <span style="color: #0000ff;">long</span> <span style="color: #000040;">*</span> <span style="color: #008000;">&#41;</span> buf_p <span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    buf_p <span style="color: #000040;">+</span><span style="color: #000080;">=</span> <span style="color: #0000dd;">4</span><span style="color: #008080;">;</span>
    bmpHeader.<span style="color: #007788;">bitmapDataOffset</span> <span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span> <span style="color: #000040;">*</span> <span style="color: #008000;">&#40;</span> <span style="color: #0000ff;">long</span> <span style="color: #000040;">*</span> <span style="color: #008000;">&#41;</span> buf_p <span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    buf_p <span style="color: #000040;">+</span><span style="color: #000080;">=</span> <span style="color: #0000dd;">4</span><span style="color: #008080;">;</span>
    bmpHeader.<span style="color: #007788;">bitmapHeaderSize</span> <span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span> <span style="color: #000040;">*</span> <span style="color: #008000;">&#40;</span> <span style="color: #0000ff;">long</span> <span style="color: #000040;">*</span> <span style="color: #008000;">&#41;</span> buf_p <span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    buf_p <span style="color: #000040;">+</span><span style="color: #000080;">=</span> <span style="color: #0000dd;">4</span><span style="color: #008080;">;</span>
    bmpHeader.<span style="color: #007788;">width</span> <span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span> <span style="color: #000040;">*</span> <span style="color: #008000;">&#40;</span> <span style="color: #0000ff;">long</span> <span style="color: #000040;">*</span> <span style="color: #008000;">&#41;</span> buf_p <span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    buf_p <span style="color: #000040;">+</span><span style="color: #000080;">=</span> <span style="color: #0000dd;">4</span><span style="color: #008080;">;</span>
    bmpHeader.<span style="color: #007788;">height</span> <span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span> <span style="color: #000040;">*</span> <span style="color: #008000;">&#40;</span> <span style="color: #0000ff;">long</span> <span style="color: #000040;">*</span> <span style="color: #008000;">&#41;</span> buf_p <span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    buf_p <span style="color: #000040;">+</span><span style="color: #000080;">=</span> <span style="color: #0000dd;">4</span><span style="color: #008080;">;</span>
    bmpHeader.<span style="color: #007788;">planes</span> <span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span> <span style="color: #000040;">*</span> <span style="color: #008000;">&#40;</span> <span style="color: #0000ff;">short</span> <span style="color: #000040;">*</span> <span style="color: #008000;">&#41;</span> buf_p <span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    buf_p <span style="color: #000040;">+</span><span style="color: #000080;">=</span> <span style="color: #0000dd;">2</span><span style="color: #008080;">;</span>
    bmpHeader.<span style="color: #007788;">bitsPerPixel</span> <span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span> <span style="color: #000040;">*</span> <span style="color: #008000;">&#40;</span> <span style="color: #0000ff;">short</span> <span style="color: #000040;">*</span> <span style="color: #008000;">&#41;</span> buf_p <span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    buf_p <span style="color: #000040;">+</span><span style="color: #000080;">=</span> <span style="color: #0000dd;">2</span><span style="color: #008080;">;</span>
    bmpHeader.<span style="color: #007788;">compression</span> <span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span> <span style="color: #000040;">*</span> <span style="color: #008000;">&#40;</span> <span style="color: #0000ff;">long</span> <span style="color: #000040;">*</span> <span style="color: #008000;">&#41;</span> buf_p <span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    buf_p <span style="color: #000040;">+</span><span style="color: #000080;">=</span> <span style="color: #0000dd;">4</span><span style="color: #008080;">;</span>
    bmpHeader.<span style="color: #007788;">bitmapDataSize</span> <span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span> <span style="color: #000040;">*</span> <span style="color: #008000;">&#40;</span> <span style="color: #0000ff;">long</span> <span style="color: #000040;">*</span> <span style="color: #008000;">&#41;</span> buf_p <span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    buf_p <span style="color: #000040;">+</span><span style="color: #000080;">=</span> <span style="color: #0000dd;">4</span><span style="color: #008080;">;</span>
    bmpHeader.<span style="color: #007788;">hRes</span> <span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span> <span style="color: #000040;">*</span> <span style="color: #008000;">&#40;</span> <span style="color: #0000ff;">long</span> <span style="color: #000040;">*</span> <span style="color: #008000;">&#41;</span> buf_p <span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    buf_p <span style="color: #000040;">+</span><span style="color: #000080;">=</span> <span style="color: #0000dd;">4</span><span style="color: #008080;">;</span>
    bmpHeader.<span style="color: #007788;">vRes</span> <span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span> <span style="color: #000040;">*</span> <span style="color: #008000;">&#40;</span> <span style="color: #0000ff;">long</span> <span style="color: #000040;">*</span> <span style="color: #008000;">&#41;</span> buf_p <span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    buf_p <span style="color: #000040;">+</span><span style="color: #000080;">=</span> <span style="color: #0000dd;">4</span><span style="color: #008080;">;</span>
    bmpHeader.<span style="color: #007788;">colors</span> <span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span> <span style="color: #000040;">*</span> <span style="color: #008000;">&#40;</span> <span style="color: #0000ff;">long</span> <span style="color: #000040;">*</span> <span style="color: #008000;">&#41;</span> buf_p <span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    buf_p <span style="color: #000040;">+</span><span style="color: #000080;">=</span> <span style="color: #0000dd;">4</span><span style="color: #008080;">;</span>
    bmpHeader.<span style="color: #007788;">importantColors</span> <span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span> <span style="color: #000040;">*</span> <span style="color: #008000;">&#40;</span> <span style="color: #0000ff;">long</span> <span style="color: #000040;">*</span> <span style="color: #008000;">&#41;</span> buf_p <span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    buf_p <span style="color: #000040;">+</span><span style="color: #000080;">=</span> <span style="color: #0000dd;">4</span><span style="color: #008080;">;</span> 
&nbsp;
    <span style="color: #0000dd;">memcpy</span><span style="color: #008000;">&#40;</span> bmpHeader.<span style="color: #007788;">palette</span>, buf_p, <span style="color: #0000dd;">sizeof</span><span style="color: #008000;">&#40;</span> bmpHeader.<span style="color: #007788;">palette</span> <span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span> 
&nbsp;
    <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> bmpHeader.<span style="color: #007788;">bitsPerPixel</span> <span style="color: #000080;">==</span> <span style="color: #0000dd;">8</span> <span style="color: #008000;">&#41;</span>
        buf_p <span style="color: #000040;">+</span><span style="color: #000080;">=</span> <span style="color: #0000dd;">1024</span><span style="color: #008080;">;</span> 
&nbsp;
    <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> bmpHeader.<span style="color: #007788;">id</span><span style="color: #008000;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#93;</span> <span style="color: #000040;">!</span><span style="color: #000080;">=</span> <span style="color: #FF0000;">'B'</span> <span style="color: #000040;">&amp;&amp;</span> bmpHeader.<span style="color: #007788;">id</span><span style="color: #008000;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span> <span style="color: #000040;">!</span><span style="color: #000080;">=</span> <span style="color: #FF0000;">'M'</span> <span style="color: #008000;">&#41;</span> 
    <span style="color: #008000;">&#123;</span>
        Com_Error<span style="color: #008000;">&#40;</span> <span style="color: #FF0000;">&quot;LoadBMP: only Windows-style BMP files supported (%s)<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span>, name <span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
        <span style="color: #0000ff;">return</span> <span style="color: #0000ff;">false</span><span style="color: #008080;">;</span>
    <span style="color: #008000;">&#125;</span>
    <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> bmpHeader.<span style="color: #007788;">fileSize</span> <span style="color: #000040;">!</span><span style="color: #000080;">=</span> length <span style="color: #008000;">&#41;</span>
    <span style="color: #008000;">&#123;</span>
        <span style="color: #666666;">//Com_Error(&quot;LoadBMP: header size does not match file size (%d vs. %d) (%s)\n&quot;, bmpHeader.fileSize, length, name );</span>
        <span style="color: #666666;">//return false;</span>
    <span style="color: #008000;">&#125;</span>
    <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> bmpHeader.<span style="color: #007788;">compression</span> <span style="color: #000040;">!</span><span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span> <span style="color: #008000;">&#41;</span>
    <span style="color: #008000;">&#123;</span>
        Com_Error<span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;LoadBMP: only uncompressed BMP files supported (%s)<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span>, name <span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
        <span style="color: #0000ff;">return</span> <span style="color: #0000ff;">false</span><span style="color: #008080;">;</span>
    <span style="color: #008000;">&#125;</span>
    <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> bmpHeader.<span style="color: #007788;">bitsPerPixel</span> <span style="color: #000080;">&lt;</span> <span style="color: #0000dd;">8</span> <span style="color: #008000;">&#41;</span>
    <span style="color: #008000;">&#123;</span>
        Com_Error<span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;LoadBMP: monochrome and 4-bit BMP files not supported (%s)<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span>, name <span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
        <span style="color: #0000ff;">return</span> <span style="color: #0000ff;">false</span><span style="color: #008080;">;</span>
    <span style="color: #008000;">&#125;</span> 
&nbsp;
    columns <span style="color: #000080;">=</span> bmpHeader.<span style="color: #007788;">width</span><span style="color: #008080;">;</span>
    rows <span style="color: #000080;">=</span> bmpHeader.<span style="color: #007788;">height</span><span style="color: #008080;">;</span> 
&nbsp;
    <span style="color: #0000ff;">if</span><span style="color: #008000;">&#40;</span>bmpHeader.<span style="color: #007788;">bitsPerPixel</span> <span style="color: #000080;">==</span> <span style="color: #0000dd;">24</span> <span style="color: #008000;">&#41;</span>
    <span style="color: #008000;">&#123;</span>
        <span style="color: #0000ff;">if</span><span style="color: #008000;">&#40;</span> <span style="color: #008000;">&#40;</span>columns <span style="color: #000040;">&amp;</span> <span style="color: #0000dd;">3</span><span style="color: #008000;">&#41;</span> <span style="color: #000040;">!</span><span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008000;">&#41;</span>                    <span style="color: #666666;">//检查宽度是否为4倍数</span>
           columns <span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span>columns <span style="color: #000040;">&amp;</span> ~<span style="color: #0000dd;">3</span><span style="color: #008000;">&#41;</span> <span style="color: #000040;">+</span> <span style="color: #0000dd;">4</span><span style="color: #008080;">;</span>    <span style="color: #666666;">//修正位图宽度值,对齐到4的倍数,不然图像会变形   </span>
    <span style="color: #008000;">&#125;</span> 
&nbsp;
    <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> rows <span style="color: #000080;">&lt;</span> <span style="color: #0000dd;">0</span> <span style="color: #008000;">&#41;</span>
        rows <span style="color: #000080;">=</span> <span style="color: #000040;">-</span>rows<span style="color: #008080;">;</span>
    numPixels <span style="color: #000080;">=</span> columns <span style="color: #000040;">*</span> rows<span style="color: #008080;">;</span> 
&nbsp;
    <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> width <span style="color: #008000;">&#41;</span> 
        <span style="color: #000040;">*</span>width <span style="color: #000080;">=</span> columns<span style="color: #008080;">;</span>
    <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> height <span style="color: #008000;">&#41;</span>
        <span style="color: #000040;">*</span>height <span style="color: #000080;">=</span> rows<span style="color: #008080;">;</span> 
&nbsp;
    bmpRGBA <span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span>byte<span style="color: #000040;">*</span><span style="color: #008000;">&#41;</span><span style="color: #0000dd;">malloc</span><span style="color: #008000;">&#40;</span> numPixels <span style="color: #000040;">*</span> <span style="color: #0000dd;">4</span> <span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #000040;">*</span>pic <span style="color: #000080;">=</span> bmpRGBA<span style="color: #008080;">;</span>
    buf_p <span style="color: #000080;">=</span> buffer<span style="color: #000040;">+</span><span style="color: #0000dd;">54</span><span style="color: #008080;">;</span> 
&nbsp;
    <span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span> row <span style="color: #000080;">=</span> rows<span style="color: #000040;">-</span><span style="color: #0000dd;">1</span><span style="color: #008080;">;</span> row <span style="color: #000080;">&gt;=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span> row<span style="color: #000040;">--</span><span style="color: #008000;">&#41;</span>
    <span style="color: #008000;">&#123;</span>
        pixbuf <span style="color: #000080;">=</span> bmpRGBA <span style="color: #000040;">+</span> row<span style="color: #000040;">*</span>columns<span style="color: #000040;">*</span><span style="color: #0000dd;">4</span><span style="color: #008080;">;</span> 
&nbsp;
        <span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span> column <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span> column <span style="color: #000080;">&lt;</span> columns<span style="color: #008080;">;</span> column<span style="color: #000040;">++</span> <span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            <span style="color: #0000ff;">unsigned</span> <span style="color: #0000ff;">char</span> red, green, blue, alpha<span style="color: #008080;">;</span>
            <span style="color: #0000ff;">int</span> palIndex<span style="color: #008080;">;</span>
            <span style="color: #0000ff;">unsigned</span> <span style="color: #0000ff;">short</span> shortPixel<span style="color: #008080;">;</span> 
&nbsp;
            <span style="color: #0000ff;">switch</span> <span style="color: #008000;">&#40;</span> bmpHeader.<span style="color: #007788;">bitsPerPixel</span> <span style="color: #008000;">&#41;</span>
            <span style="color: #008000;">&#123;</span>
            <span style="color: #0000ff;">case</span> <span style="color: #0000dd;">8</span><span style="color: #008080;">:</span>
                palIndex <span style="color: #000080;">=</span> <span style="color: #000040;">*</span>buf_p<span style="color: #000040;">++</span><span style="color: #008080;">;</span>
                <span style="color: #000040;">*</span>pixbuf<span style="color: #000040;">++</span> <span style="color: #000080;">=</span> bmpHeader.<span style="color: #007788;">palette</span><span style="color: #008000;">&#91;</span>palIndex<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
                <span style="color: #000040;">*</span>pixbuf<span style="color: #000040;">++</span> <span style="color: #000080;">=</span> bmpHeader.<span style="color: #007788;">palette</span><span style="color: #008000;">&#91;</span>palIndex<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
                <span style="color: #000040;">*</span>pixbuf<span style="color: #000040;">++</span> <span style="color: #000080;">=</span> bmpHeader.<span style="color: #007788;">palette</span><span style="color: #008000;">&#91;</span>palIndex<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
                <span style="color: #000040;">*</span>pixbuf<span style="color: #000040;">++</span> <span style="color: #000080;">=</span> <span style="color: #208080;">0xff</span><span style="color: #008080;">;</span>
                <span style="color: #0000ff;">break</span><span style="color: #008080;">;</span>
            <span style="color: #0000ff;">case</span> <span style="color: #0000dd;">16</span><span style="color: #008080;">:</span>
                shortPixel <span style="color: #000080;">=</span> <span style="color: #000040;">*</span> <span style="color: #008000;">&#40;</span> <span style="color: #0000ff;">unsigned</span> <span style="color: #0000ff;">short</span> <span style="color: #000040;">*</span> <span style="color: #008000;">&#41;</span> pixbuf<span style="color: #008080;">;</span>
                pixbuf <span style="color: #000040;">+</span><span style="color: #000080;">=</span> <span style="color: #0000dd;">2</span><span style="color: #008080;">;</span>
                <span style="color: #000040;">*</span>pixbuf<span style="color: #000040;">++</span> <span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span> shortPixel <span style="color: #000040;">&amp;</span> <span style="color: #008000;">&#40;</span> <span style="color: #0000dd;">31</span> <span style="color: #000080;">&lt;&lt;</span> <span style="color: #0000dd;">10</span> <span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#41;</span> <span style="color: #000080;">&gt;&gt;</span> <span style="color: #0000dd;">7</span><span style="color: #008080;">;</span>
                <span style="color: #000040;">*</span>pixbuf<span style="color: #000040;">++</span> <span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span> shortPixel <span style="color: #000040;">&amp;</span> <span style="color: #008000;">&#40;</span> <span style="color: #0000dd;">31</span> <span style="color: #000080;">&lt;&lt;</span> <span style="color: #0000dd;">5</span> <span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#41;</span> <span style="color: #000080;">&gt;&gt;</span> <span style="color: #0000dd;">2</span><span style="color: #008080;">;</span>
                <span style="color: #000040;">*</span>pixbuf<span style="color: #000040;">++</span> <span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span> shortPixel <span style="color: #000040;">&amp;</span> <span style="color: #008000;">&#40;</span> <span style="color: #0000dd;">31</span> <span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#41;</span> <span style="color: #000080;">&lt;&lt;</span> <span style="color: #0000dd;">3</span><span style="color: #008080;">;</span>
                <span style="color: #000040;">*</span>pixbuf<span style="color: #000040;">++</span> <span style="color: #000080;">=</span> <span style="color: #208080;">0xff</span><span style="color: #008080;">;</span>
                <span style="color: #0000ff;">break</span><span style="color: #008080;">;</span> 
&nbsp;
            <span style="color: #0000ff;">case</span> <span style="color: #0000dd;">24</span><span style="color: #008080;">:</span>
                blue <span style="color: #000080;">=</span> <span style="color: #000040;">*</span>buf_p<span style="color: #000040;">++</span><span style="color: #008080;">;</span>
                green <span style="color: #000080;">=</span> <span style="color: #000040;">*</span>buf_p<span style="color: #000040;">++</span><span style="color: #008080;">;</span>
                red <span style="color: #000080;">=</span> <span style="color: #000040;">*</span>buf_p<span style="color: #000040;">++</span><span style="color: #008080;">;</span>
                <span style="color: #000040;">*</span>pixbuf<span style="color: #000040;">++</span> <span style="color: #000080;">=</span> red<span style="color: #008080;">;</span>
                <span style="color: #000040;">*</span>pixbuf<span style="color: #000040;">++</span> <span style="color: #000080;">=</span> green<span style="color: #008080;">;</span>
                <span style="color: #000040;">*</span>pixbuf<span style="color: #000040;">++</span> <span style="color: #000080;">=</span> blue<span style="color: #008080;">;</span>
                <span style="color: #000040;">*</span>pixbuf<span style="color: #000040;">++</span> <span style="color: #000080;">=</span> <span style="color: #0000dd;">255</span><span style="color: #008080;">;</span>
                <span style="color: #0000ff;">break</span><span style="color: #008080;">;</span>
            <span style="color: #0000ff;">case</span> <span style="color: #0000dd;">32</span><span style="color: #008080;">:</span>
                blue <span style="color: #000080;">=</span> <span style="color: #000040;">*</span>buf_p<span style="color: #000040;">++</span><span style="color: #008080;">;</span>
                green <span style="color: #000080;">=</span> <span style="color: #000040;">*</span>buf_p<span style="color: #000040;">++</span><span style="color: #008080;">;</span>
                red <span style="color: #000080;">=</span> <span style="color: #000040;">*</span>buf_p<span style="color: #000040;">++</span><span style="color: #008080;">;</span>
                alpha <span style="color: #000080;">=</span> <span style="color: #000040;">*</span>buf_p<span style="color: #000040;">++</span><span style="color: #008080;">;</span>
                <span style="color: #000040;">*</span>pixbuf<span style="color: #000040;">++</span> <span style="color: #000080;">=</span> red<span style="color: #008080;">;</span>
                <span style="color: #000040;">*</span>pixbuf<span style="color: #000040;">++</span> <span style="color: #000080;">=</span> green<span style="color: #008080;">;</span>
                <span style="color: #000040;">*</span>pixbuf<span style="color: #000040;">++</span> <span style="color: #000080;">=</span> blue<span style="color: #008080;">;</span>
                <span style="color: #000040;">*</span>pixbuf<span style="color: #000040;">++</span> <span style="color: #000080;">=</span> alpha<span style="color: #008080;">;</span>
                <span style="color: #0000ff;">break</span><span style="color: #008080;">;</span>
            <span style="color: #0000ff;">default</span><span style="color: #008080;">:</span>
                Com_Error<span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;LoadBMP: illegal pixel_size '%d' in file '%s'<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span>, bmpHeader.<span style="color: #007788;">bitsPerPixel</span>, name <span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
                <span style="color: #0000ff;">return</span> <span style="color: #0000ff;">false</span><span style="color: #008080;">;</span>
            <span style="color: #008000;">&#125;</span>
        <span style="color: #008000;">&#125;</span>
    <span style="color: #008000;">&#125;</span> 
&nbsp;
    <span style="color: #0000dd;">free</span><span style="color: #008000;">&#40;</span>buffer<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #0000dd;">fclose</span><span style="color: #008000;">&#40;</span>pfile<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #0000ff;">return</span> <span style="color: #0000ff;">true</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
<span style="color: #0000ff;">int</span> main<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>	
&nbsp;
<span style="color: #0000ff;">for</span><span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> i<span style="color: #000080;">=</span><span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>i<span style="color: #000080;">&lt;</span><span style="color: #0000dd;">10000</span><span style="color: #008080;">;</span>i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">char</span> name<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">30</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">static</span> byte<span style="color: #000040;">*</span> pic <span style="color: #000080;">=</span> <span style="color: #0000ff;">NULL</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">static</span> byte<span style="color: #000040;">*</span> p<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">static</span> <span style="color: #0000ff;">int</span> w,h<span style="color: #008080;">;</span>
	wsprintf<span style="color: #008000;">&#40;</span>name,<span style="color: #FF0000;">&quot;%d.bmp&quot;</span>,i<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	LoadBMP<span style="color: #008000;">&#40;</span>name,<span style="color: #000040;">&amp;</span>pic,<span style="color: #000040;">&amp;</span>w,<span style="color: #000040;">&amp;</span>h<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	wsprintf<span style="color: #008000;">&#40;</span>name,<span style="color: #FF0000;">&quot;%d.txt&quot;</span>,i<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">freopen</span><span style="color: #008000;">&#40;</span>name,<span style="color: #FF0000;">&quot;w&quot;</span>,<span style="color: #0000ff;">stdout</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">int</span> i,j<span style="color: #008080;">;</span>
	<span style="color: #666666;">//第1个 </span>
	p<span style="color: #000080;">=</span>pic<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">for</span><span style="color: #008000;">&#40;</span>j<span style="color: #000080;">=</span><span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>j<span style="color: #000080;">&lt;</span><span style="color: #0000dd;">10</span><span style="color: #008080;">;</span>j<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
        <span style="color: #0000ff;">for</span><span style="color: #008000;">&#40;</span>i<span style="color: #000080;">=</span><span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>i<span style="color: #000080;">&lt;</span><span style="color: #0000dd;">10</span><span style="color: #008080;">;</span>i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
    	<span style="color: #008000;">&#123;</span>            
        	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%06X&quot;</span>,RGB<span style="color: #008000;">&#40;</span>p<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#93;</span>,p<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span>,p<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
        	p <span style="color: #000040;">+</span><span style="color: #000080;">=</span> <span style="color: #0000dd;">4</span><span style="color: #008080;">;</span>
    	<span style="color: #008000;">&#125;</span>
    	p<span style="color: #000040;">+</span><span style="color: #000080;">=</span><span style="color: #0000dd;">120</span><span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #666666;">//第2个 </span>
	p<span style="color: #000080;">=</span>pic<span style="color: #000040;">+</span><span style="color: #0000dd;">40</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">for</span><span style="color: #008000;">&#40;</span>j<span style="color: #000080;">=</span><span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>j<span style="color: #000080;">&lt;</span><span style="color: #0000dd;">10</span><span style="color: #008080;">;</span>j<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
        <span style="color: #0000ff;">for</span><span style="color: #008000;">&#40;</span>i<span style="color: #000080;">=</span><span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>i<span style="color: #000080;">&lt;</span><span style="color: #0000dd;">10</span><span style="color: #008080;">;</span>i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
    	<span style="color: #008000;">&#123;</span>            
        	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%06X&quot;</span>,RGB<span style="color: #008000;">&#40;</span>p<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#93;</span>,p<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span>,p<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
        	p <span style="color: #000040;">+</span><span style="color: #000080;">=</span> <span style="color: #0000dd;">4</span><span style="color: #008080;">;</span>
    	<span style="color: #008000;">&#125;</span>
    	p<span style="color: #000040;">+</span><span style="color: #000080;">=</span><span style="color: #0000dd;">120</span><span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #666666;">//第3个 </span>
	p<span style="color: #000080;">=</span>pic<span style="color: #000040;">+</span><span style="color: #0000dd;">80</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">for</span><span style="color: #008000;">&#40;</span>j<span style="color: #000080;">=</span><span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>j<span style="color: #000080;">&lt;</span><span style="color: #0000dd;">10</span><span style="color: #008080;">;</span>j<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
        <span style="color: #0000ff;">for</span><span style="color: #008000;">&#40;</span>i<span style="color: #000080;">=</span><span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>i<span style="color: #000080;">&lt;</span><span style="color: #0000dd;">10</span><span style="color: #008080;">;</span>i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
    	<span style="color: #008000;">&#123;</span>            
        	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%06X&quot;</span>,RGB<span style="color: #008000;">&#40;</span>p<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#93;</span>,p<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span>,p<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
        	p <span style="color: #000040;">+</span><span style="color: #000080;">=</span> <span style="color: #0000dd;">4</span><span style="color: #008080;">;</span>
    	<span style="color: #008000;">&#125;</span>
    	p<span style="color: #000040;">+</span><span style="color: #000080;">=</span><span style="color: #0000dd;">120</span><span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #666666;">//第4个 </span>
	p<span style="color: #000080;">=</span>pic<span style="color: #000040;">+</span><span style="color: #0000dd;">120</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">for</span><span style="color: #008000;">&#40;</span>j<span style="color: #000080;">=</span><span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>j<span style="color: #000080;">&lt;</span><span style="color: #0000dd;">10</span><span style="color: #008080;">;</span>j<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
        <span style="color: #0000ff;">for</span><span style="color: #008000;">&#40;</span>i<span style="color: #000080;">=</span><span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>i<span style="color: #000080;">&lt;</span><span style="color: #0000dd;">10</span><span style="color: #008080;">;</span>i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
    	<span style="color: #008000;">&#123;</span>            
        	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%06X&quot;</span>,RGB<span style="color: #008000;">&#40;</span>p<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#93;</span>,p<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span>,p<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
        	p <span style="color: #000040;">+</span><span style="color: #000080;">=</span> <span style="color: #0000dd;">4</span><span style="color: #008080;">;</span>
    	<span style="color: #008000;">&#125;</span>
    	p<span style="color: #000040;">+</span><span style="color: #000080;">=</span><span style="color: #0000dd;">120</span><span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
	<span style="color: #0000ff;">return</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></td></tr></table></div>

<p>然后将识别出来的数字统计到一个文件内。</p>

<div class="wp_codebox"><table><tr id="p158029"><td class="code" id="p1580code29"><pre class="cpp" style="font-family:monospace;"><span style="color: #339900;">#include &lt;stdio.h&gt;</span>
<span style="color: #339900;">#include &lt;windows.h&gt;</span>
<span style="color: #0000ff;">int</span> main<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>	
	<span style="color: #0000ff;">char</span> result<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">10</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span><span style="color: #0000dd;">1024</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
	<span style="color: #666666;">//读入答案</span>
	<span style="color: #0000ff;">FILE</span> <span style="color: #000040;">*</span>fp<span style="color: #008080;">;</span>
	fp<span style="color: #000080;">=</span><span style="color: #0000dd;">fopen</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;答案.txt&quot;</span>,<span style="color: #FF0000;">&quot;rb&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">for</span><span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> i<span style="color: #000080;">=</span><span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>i<span style="color: #000080;">&lt;</span><span style="color: #0000dd;">10</span><span style="color: #008080;">;</span>i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000dd;">fgets</span><span style="color: #008000;">&#40;</span>result<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span>,<span style="color: #0000dd;">1024</span>,fp<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #666666;">//printf(result[i]);</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000dd;">fclose</span><span style="color: #008000;">&#40;</span>fp<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #666666;">//读取文件</span>
	<span style="color: #0000ff;">for</span><span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> i<span style="color: #000080;">=</span><span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>i<span style="color: #000080;">&lt;</span><span style="color: #0000dd;">10000</span><span style="color: #008080;">;</span>i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000ff;">char</span> name<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">30</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">char</span> temp<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">1024</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
		wsprintf<span style="color: #008000;">&#40;</span>name,<span style="color: #FF0000;">&quot;%d.txt&quot;</span>,i<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		fp<span style="color: #000080;">=</span><span style="color: #0000dd;">fopen</span><span style="color: #008000;">&#40;</span>name,<span style="color: #FF0000;">&quot;rb&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #666666;">//printf(&quot;%d:&quot;,i);</span>
		<span style="color: #0000ff;">for</span><span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> j<span style="color: #000080;">=</span><span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>j<span style="color: #000080;">&lt;</span><span style="color: #0000dd;">4</span><span style="color: #008080;">;</span>j<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
		<span style="color: #008000;">&#123;</span>
            <span style="color: #0000dd;">fgets</span><span style="color: #008000;">&#40;</span>temp,<span style="color: #0000dd;">1024</span>,fp<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
			<span style="color: #0000ff;">for</span><span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> k<span style="color: #000080;">=</span><span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>k<span style="color: #000080;">&lt;</span><span style="color: #0000dd;">10</span><span style="color: #008080;">;</span>k<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
			<span style="color: #008000;">&#123;</span>
                <span style="color: #0000ff;">if</span><span style="color: #008000;">&#40;</span><span style="color: #0000dd;">strcmp</span><span style="color: #008000;">&#40;</span>result<span style="color: #008000;">&#91;</span>k<span style="color: #008000;">&#93;</span>,temp<span style="color: #008000;">&#41;</span><span style="color: #000080;">==</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#41;</span>
				<span style="color: #008000;">&#123;</span>
					<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%d&quot;</span>,k<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
					<span style="color: #0000ff;">break</span><span style="color: #008080;">;</span>
				<span style="color: #008000;">&#125;</span>
			<span style="color: #008000;">&#125;</span>
&nbsp;
		<span style="color: #008000;">&#125;</span>
		<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">fclose</span><span style="color: #008000;">&#40;</span>fp<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000dd;">getchar</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">return</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></td></tr></table></div>

<p>最后动用我们强大的Java，直接进行大数计算。</p>

<div class="wp_codebox"><table><tr id="p158030"><td class="code" id="p1580code30"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.io.*</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.math.BigDecimal</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> 大数<span style="color: #cc66cc;">2</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">void</span> main<span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> arg<span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">throws</span> <span style="color: #003399;">IOException</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #003399;">BigDecimal</span> sum<span style="color: #339933;">=</span><span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">BigDecimal</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000066; font-weight: bold;">long</span> x<span style="color: #339933;">=</span><span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
		<span style="color: #003399;">InputStreamReader</span> isr <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">InputStreamReader</span><span style="color: #009900;">&#40;</span><span style="color: #003399;">System</span>.<span style="color: #006633;">in</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #003399;">BufferedReader</span> buf <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">BufferedReader</span><span style="color: #009900;">&#40;</span>isr<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000000; font-weight: bold;">for</span> <span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">int</span> i <span style="color: #339933;">=</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span> i <span style="color: #339933;">&lt;</span> <span style="color: #cc66cc;">10000</span><span style="color: #339933;">;</span> i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			x<span style="color: #339933;">=</span> i<span style="color: #339933;">*</span><span style="color: #003399;">Integer</span>.<span style="color: #006633;">valueOf</span><span style="color: #009900;">&#40;</span>buf.<span style="color: #006633;">readLine</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">;</span>
			sum<span style="color: #339933;">=</span>sum.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">BigDecimal</span><span style="color: #009900;">&#40;</span>x<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
		<span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span>sum<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>Go-Getter虽然复杂，但是其实没有多少技术含量。<br />
首先使用Python运行代码，得到一个结果。<br />
然后到linux执行sh命令。<br />
然后会出现C、C++、Javascript、Java，最终得到一个tex文件，将其装换为pdf格式。是一个数学公式，计算出极限即可，是6个数字加上一个b，此时注意答案是需要16个字符，刚好pdf有9个字母是注明的红色的，组合一下，果然，通过验证。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1580</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Picasa3精简版</title>
		<link>http://www.shuax.com/?p=1574</link>
		<comments>http://www.shuax.com/?p=1574#comments</comments>
		<pubDate>Sun, 23 May 2010 05:05:34 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[原创软件]]></category>
		<category><![CDATA[原创]]></category>
		<category><![CDATA[软件]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1574</guid>
		<description><![CDATA[Picasa原为独立收费的图像管理、处理软件，其界面美观华丽，功能丰富。后来被Google收购并改为免费软件，成为了Google的一部分。它可以帮助您在计算机上立即找到、修改和共享所有图片，Picasa突出的优点是搜索硬盘中的相片图片的速度很快。更值得说的是启动速度很快，完全可以做为系统默认的图片查看器！支持图片类型：jpg、bmp、gif、png、psd、tif。 这个精简版是应一个网友的建议做的。他说：“我只想用Picasa里面的全屏浏览图片的功能，有没有这种精简版？”其实是有的，一个只有图片查看器的软件，只不过我没告诉他- -。 6月2日更新：解决了一个导致关联失效的问题。强烈建议重新下载。 只不过网上流传那个精简版好久没更新了，而且还是英文版，所以我就直接告诉他方法了：只保留&#8221;PicasaPhotoViewer.exe&#8221;和&#8221;/runtime/slingshot/respack.yt&#8221;两个文件，当然目录位置要保持不变，然后设置文件关联即可。据说完整的Picasa3安装好已经80多M了，这个看图工具才3M多一点点，也许很多人都不喜欢管理功能，只用这个看图功能呢，比如我(*^__^*) 。说了这么多废话，所以我最终决定自己动手做一个精简版，然而一两天又学不会NSIS，就继续用擅长的MFC做吧。 版本：Picasa 3.6 日期：2010.05.23 下载地址： Picasa3精简版 文件大小：1.5 MB&#12288;文件名称：Picasa3.7z 注意，本版本在Windows7上开发，XP系统尚未严格测试。]]></description>
			<content:encoded><![CDATA[<p>Picasa原为独立收费的图像管理、处理软件，其界面美观华丽，功能丰富。后来被Google收购并改为免费软件，成为了Google的一部分。它可以帮助您在计算机上立即找到、修改和共享所有图片，Picasa突出的优点是搜索硬盘中的相片图片的速度很快。更值得说的是启动速度很快，完全可以做为系统默认的图片查看器！支持图片类型：jpg、bmp、gif、png、psd、tif。</p>
<p>这个精简版是应一个网友的建议做的。他说：“我只想用Picasa里面的全屏浏览图片的功能，有没有这种精简版？”其实是有的，一个只有图片查看器的软件，只不过我没告诉他- -。</p>
<p>6月2日更新：解决了一个导致关联失效的问题。强烈建议重新下载。<br />
<span id="more-1574"></span><br />
只不过网上流传那个精简版好久没更新了，而且还是英文版，所以我就直接告诉他方法了：只保留&#8221;PicasaPhotoViewer.exe&#8221;和&#8221;/runtime/slingshot/respack.yt&#8221;两个文件，当然目录位置要保持不变，然后设置文件关联即可。据说完整的Picasa3安装好已经80多M了，这个看图工具才3M多一点点，也许很多人都不喜欢管理功能，只用这个看图功能呢，比如我(*^__^*) 。说了这么多废话，所以我最终决定自己动手做一个精简版，然而一两天又学不会NSIS，就继续用擅长的MFC做吧。<br />
版本：Picasa 3.6<br />
日期：2010.05.23</p>
<div><a class="lightbox" href="http://www.shuax.com/wp-content/uploads/2010/05/picasa.jpg"><img class="aligncenter size-full wp-image-1575" title="picasa" src="http://www.shuax.com/wp-content/uploads/2010/05/picasa.jpg" alt="" width="574" height="370" /></a></div>
<p>下载地址：<div class='download-link'>
							<a href='http://www.shuax.com/download.php?file=http://www.shuax.com/wp-content/uploads/2010/05/Picasa3.7z'><img alt='Download' class='leftalign' src='http://www.shuax.com/wp-content/plugins/dBeautifier/icons/downloads.png' /></a>
							<h4>
								<a href='http://www.shuax.com/download.php?file=http://www.shuax.com/wp-content/uploads/2010/05/Picasa3.7z'>Picasa3精简版</a>
							</h4><p>文件大小：1.5 MB&#12288;文件名称：Picasa3.7z</p>
						</div><br />
注意，本版本在Windows7上开发，XP系统尚未严格测试。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1574</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
		<item>
		<title>最强一波Mac软件</title>
		<link>http://www.shuax.com/?p=1570</link>
		<comments>http://www.shuax.com/?p=1570#comments</comments>
		<pubDate>Fri, 21 May 2010 23:43:37 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[我的生活]]></category>
		<category><![CDATA[苹果]]></category>
		<category><![CDATA[软件]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1570</guid>
		<description><![CDATA[只推荐这一次了，以后都不推荐了。 我的漂亮桌面 Y450完美驱动（无无线和摄像头我没有驱动）：Y450驱动.zip 输入法FunInputToy：FunInputToy_v1.9.3_intel.zip 开发工具eclipse：eclipse-java-galileo-SR2-macosx-cocoa-x86_64.tar.gz（自带了Xcode，我现在还不会用。） 天气预报：MenuWeather_1.2.zip BT下载：uTorrent-Mac-19343.dmg 虚拟机：VMware-Fusion-3.0.2-232708-light.dmg 注册机：core_keygen.dmg 音乐播放：Cog-r1934.tbz 视频播放：MPlayerX0.9.9.zip 虚拟机：crossover-demo-9.0.1.dmg 注册机：CrossOver_7.x-8.x_[SP].app.zip 文本编辑：MacVim-7_2-stable-1_2.tbz 图片管理：picasamac36.dmg 办公软件：iWork09Trial.dmg 聊天软件：QQ_B1_606.dmg 本来还有photoshop的，太大了，传不上来……自己去下载试用版吧，下载韩国那个版本就有简体中文了。远景有如何破解的方法。自己搜索一下吧。]]></description>
			<content:encoded><![CDATA[<p>只推荐这一次了，以后都不推荐了。</p>
<p>我的漂亮桌面</p>
<p style="text-align: center;"><a class="lightbox" href="http://www.shuax.com/wp-content/uploads/2010/05/desktop.jpg"><img class="aligncenter size-full wp-image-1571" title="desktop" src="http://www.shuax.com/wp-content/uploads/2010/05/desktop.jpg" alt="" width="819" height="460" /></a></p>
<p><span id="more-1570"></span></p>
<p>Y450完美驱动（无无线和摄像头我没有驱动）：<a href="http://u.115.com/file/f0974ff01e" target="_blank">Y450驱动.zip</a></p>
<p>输入法FunInputToy：<a href="http://u.115.com/file/f0bfc9ca19" target="_blank">FunInputToy_v1.9.3_intel.zip</a></p>
<p>开发工具eclipse：<a href="http://u.115.com/file/f08d2d4320" target="_blank">eclipse-java-galileo-SR2-macosx-cocoa-x86_64.tar.gz</a>（自带了Xcode，我现在还不会用。）</p>
<p>天气预报：<a href="http://u.115.com/file/f0fa2672b3" target="_blank">MenuWeather_1.2.zip</a></p>
<p>BT下载：<a href="http://u.115.com/file/f0631f223e" target="_blank">uTorrent-Mac-19343.dmg</a></p>
<p>虚拟机：<a href="http://u.115.com/file/f0265720f7" target="_blank">VMware-Fusion-3.0.2-232708-light.dmg</a> 注册机：<a href="http://u.115.com/file/f017689b2d" target="_blank">core_keygen.dmg</a></p>
<p>音乐播放：<a href="http://u.115.com/file/f0261da97f" target="_blank">Cog-r1934.tbz</a></p>
<p>视频播放：<a href="http://u.115.com/file/f071d9c765" target="_blank">MPlayerX0.9.9.zip</a></p>
<p>虚拟机：<a href="http://u.115.com/file/f0772c429d" target="_blank">crossover-demo-9.0.1.dmg</a> 注册机：<a href="http://u.115.com/file/f0314b71e0" target="_blank">CrossOver_7.x-8.x_[SP].app.zip</a></p>
<p>文本编辑：<a href="http://u.115.com/file/f0e3d612b3" target="_blank">MacVim-7_2-stable-1_2.tbz</a></p>
<p>图片管理：<a href="http://u.115.com/file/f0bb6dcdbc">picasamac36.dmg</a></p>
<p>办公软件：<a href="http://u.115.com/file/f0bc4011a0" target="_blank">iWork09Trial.dmg</a></p>
<p>聊天软件：<a href="http://u.115.com/file/f050c591d3" target="_blank">QQ_B1_606.dmg</a></p>
<p>本来还有photoshop的，太大了，传不上来……自己去下载试用版吧，下载韩国那个版本就有简体中文了。远景有如何破解的方法。自己搜索一下吧。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1570</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>群发邮件到QQ邮箱有困难么？&#8212;-QQ邮箱新功能为您解答．</title>
		<link>http://www.shuax.com/?p=1566</link>
		<comments>http://www.shuax.com/?p=1566#comments</comments>
		<pubDate>Fri, 21 May 2010 23:11:13 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[我的生活]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1566</guid>
		<description><![CDATA[什么是他域邮件管理 为了提升QQ邮箱用户顺利接收到其他邮箱优质内容的邮件，QQ邮箱为其他邮箱的管理员提供了“他域邮件管理”功能。使用此功能，其他邮箱管理员可以查询到每天发往QQ邮箱的邮件到达数据，用户对这些邮件的阅读数据，删除和投诉数据。其他邮箱管理员可以手工撤销QQ邮箱反垃圾系统对这个邮箱来信的自动拦截措施，或者对拦截措施提出撤销申请。同时，QQ邮箱管理团队会针对来信数据与拦截情况，为其他邮箱管理员提出邮件内容改良建议和提升邮件可达率的指引，引导各位管理员提升发送邮件的质量，为QQ邮箱用户提供更优质的邮件内容服务。 我可以查询到什么信息 他域邮箱来信管理为发件人和企业提供了关于您辖下IP地址发往QQ邮箱的多种电子邮件信息，包括邮件量、送达率、投诉率、阅读率、删除率等反垃圾过滤器的数据。您可以逐日地，按IP或按域名查看此信息。同时您还可以了解到造成送达率低下的原因及改进建议。 以前没有接触过“他域邮箱来信管理”吗？ 开始使用其实非常简单，请先登陆QQ邮箱，转至我们的首次开通页面。 然后你可以通过验证管理自己的域名。 现在QQ邮箱越来越好用了啊，呵呵。在那里我终于发现了被腾讯劫持的葡萄邀请码信件，呜呜……]]></description>
			<content:encoded><![CDATA[<h3>什么是他域邮件管理</h3>
<div>为了提升QQ邮箱用户顺利接收到其他邮箱优质内容的邮件，QQ邮箱为其他邮箱的管理员提供了“他域邮件管理”功能。使用此功能，其他邮箱管理员可以查询到每天发往QQ邮箱的邮件到达数据，用户对这些邮件的阅读数据，删除和投诉数据。其他邮箱管理员可以手工撤销QQ邮箱反垃圾系统对这个邮箱来信的自动拦截措施，或者对拦截措施提出撤销申请。同时，QQ邮箱管理团队会针对来信数据与拦截情况，为其他邮箱管理员提出邮件内容改良建议和提升邮件可达率的指引，引导各位管理员提升发送邮件的质量，为QQ邮箱用户提供更优质的邮件内容服务。</div>
<div><span id="more-1566"></span></div>
<h3>我可以查询到什么信息</h3>
<div>他域邮箱来信管理为发件人和企业提供了关于您辖下IP地址发往QQ邮箱的多种电子邮件信息，包括邮件量、送达率、投诉率、阅读率、删除率等反垃圾过滤器的数据。您可以逐日地，按IP或按域名查看此信息。同时您还可以了解到造成送达率低下的原因及改进建议。</div>
<h3>以前没有接触过“他域邮箱来信管理”吗？</h3>
<p>开始使用其实非常简单，请先登陆QQ邮箱，转至我们的首次开通页面。</p>
<p><a class="lightbox" href="http://www.shuax.com/wp-content/uploads/2010/05/4b.jpg"><img class="aligncenter size-full wp-image-1567" title="4b" src="http://www.shuax.com/wp-content/uploads/2010/05/4b.jpg" alt="" width="554" height="327" /></a>然后你可以通过验证管理自己的域名。</p>
<p><a class="lightbox" href="http://www.shuax.com/wp-content/uploads/2010/05/5.jpg"><img class="aligncenter size-full wp-image-1568" title="5" src="http://www.shuax.com/wp-content/uploads/2010/05/5.jpg" alt="" width="555" height="90" /></a></p>
<p>现在QQ邮箱越来越好用了啊，呵呵。在那里我终于发现了被腾讯劫持的葡萄邀请码信件，呜呜……</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1566</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>【转】Snow Leopard新手FAQ──基础知识</title>
		<link>http://www.shuax.com/?p=1563</link>
		<comments>http://www.shuax.com/?p=1563#comments</comments>
		<pubDate>Tue, 18 May 2010 07:01:17 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[我的生活]]></category>
		<category><![CDATA[苹果]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1563</guid>
		<description><![CDATA[原帖地址：http://bbs.pcbeta.com/viewthread.php?tid=703194Q：OSX不是不能在PC上安装吗？ A：2005年，苹果向全球宣布他们准备向Intel架构转移，并编写了Mac OS X的Intel版本。世界上一些黑客把OSX破 解后就可以在PC上运行了。 Q：苹果电脑官方会发布OSX for PC吗？ A：目前没有这个打算。 Q：我们使用的Hackintosh是否合法？ A：不合法。但苹果官方不会起诉你（只要你不是把Hackintosh安装盘拿出来卖 :P） Q：OSX是中文的么？ A：OSX 采用比Windows先进好多的多国语言技术。安装时选择以简体中文为主语言即可。如果之后还是英文，请进入System Preferences &#62; International， 把列表中的“简体中文”拖到最前面。之后注销(左上角苹果－Log Off)再登入，整个系统就是中文了。（如果安装的是国外整合版，则需要先安装中文语言包；中国的整合版或原版则不需要安装中文语言包） Q：OSX只是一个漂亮的系统，一点也不实用，对吗？ A：不。OSX不仅速度快，安全，而且在Windows中可以完成的任务都可以在OSX中轻松完成。大部分Windows软件都有Mac版本。 Q：OSX的系统需求是不是特别高？ A：10.5或10.6标准都最少cpu必须是支持 sse3指令集。而若要能开启64bit mode enabler(10.5)或直接运行64bit核心(10.6,在32bit核心包含64bit mode enabler)cpu必须支援到ssse3指令集。而目前可在只有sse2上cpu运行,是此种cpu必须使用囧核心而其内包含了sse3的模拟器，所以可在只有sse2上的cpu运行。而若只有sse2是无法开启64bit mode enabler或执行64位内核的——pcj Q：我之前用过PearPC，速度超级慢，这次的OSX也一样吗？ A：PearPC 是虚拟机，而这次我们可以直接实体启动，速度快了很多很多很多。比XP快哦。 Q：OSX的系统需求是不是特别高？ A：完全不高，只要你的CPU支持SSE2指令集就可以运行OSX。 Q：为什么我在各大厂商网站找不到OSX的驱动，或者不能在我的电脑上使用？ A：由于OSX原本专门给Mac机使用，所以只提供了Mac机的硬件驱动。当然，有很多高手自己编译了一些第三方驱动。 Q：OSX支持SATA吗？还有nForce？ A：是的。 Q：OSX支持AMD吗？ A：额，本来是不支持的，但已经有了AMD用的内核。 Q：什么是QE，什么是CI？ A：QE指Quartz Extreme，是利用显卡GPU的界面加速引擎。CI是利用显卡GPU的图片处理引擎，它也担任绘制OSX中3D效果的任务（比如水波纹，3D Cube）。显卡必须有一个适合的驱动才可以打开这两个很重要的功能。对于黑苹果雪豹而言，暂时主流的N卡基本上都能全美驱动，而对A卡的支持则相对少很多（需43XX以上的公板）。 Q：我的硬盘支持吗？ A：OSX支持全部硬盘，但是个别SATA SCSI 硬盘控制器不支持。解决的办法是：找块淘汰的IDE硬盘，10-20G的就好。OSX 要占据一个主分区,并且在扩展分区之前。 Q：什么是PPC，UB？ A：PPC是指PowerPC，也就是在苹果转换Intel x86之前使用的架构。PPC软件可以在Intel版当中模拟运行。 UB是指Universal]]></description>
			<content:encoded><![CDATA[<p>原帖地址：http://bbs.pcbeta.com/viewthread.php?tid=703194Q：OSX不是不能在PC上安装吗？<br />
A：2005年，苹果向全球宣布他们准备向Intel架构转移，并编写了Mac OS X的Intel版本。世界上一些黑客把OSX破 解后就可以在PC上运行了。</p>
<p>Q：苹果电脑官方会发布OSX for PC吗？<br />
A：目前没有这个打算。</p>
<p>Q：我们使用的Hackintosh是否合法？<br />
A：不合法。但苹果官方不会起诉你（只要你不是把Hackintosh安装盘拿出来卖 :P）<br />
<span id="more-1563"></span><br />
Q：OSX是中文的么？<br />
A：OSX 采用比Windows先进好多的多国语言技术。安装时选择以简体中文为主语言即可。如果之后还是英文，请进入System Preferences &gt; International， 把列表中的“简体中文”拖到最前面。之后注销(左上角苹果－Log Off)再登入，整个系统就是中文了。（如果安装的是国外整合版，则需要先安装中文语言包；中国的整合版或原版则不需要安装中文语言包）</p>
<p>Q：OSX只是一个漂亮的系统，一点也不实用，对吗？<br />
A：不。OSX不仅速度快，安全，而且在Windows中可以完成的任务都可以在OSX中轻松完成。大部分Windows软件都有Mac版本。</p>
<p>Q：OSX的系统需求是不是特别高？<br />
A：10.5或10.6标准都最少cpu必须是支持 sse3指令集。而若要能开启64bit mode enabler(10.5)或直接运行64bit核心(10.6,在32bit核心包含64bit mode enabler)cpu必须支援到ssse3指令集。而目前可在只有sse2上cpu运行,是此种cpu必须使用囧核心而其内包含了sse3的模拟器，所以可在只有sse2上的cpu运行。而若只有sse2是无法开启64bit mode enabler或执行64位内核的——pcj</p>
<p>Q：我之前用过PearPC，速度超级慢，这次的OSX也一样吗？<br />
A：PearPC 是虚拟机，而这次我们可以直接实体启动，速度快了很多很多很多。比XP快哦。</p>
<p>Q：OSX的系统需求是不是特别高？<br />
A：完全不高，只要你的CPU支持SSE2指令集就可以运行OSX。</p>
<p>Q：为什么我在各大厂商网站找不到OSX的驱动，或者不能在我的电脑上使用？<br />
A：由于OSX原本专门给Mac机使用，所以只提供了Mac机的硬件驱动。当然，有很多高手自己编译了一些第三方驱动。</p>
<p>Q：OSX支持SATA吗？还有nForce？<br />
A：是的。</p>
<p>Q：OSX支持AMD吗？<br />
A：额，本来是不支持的，但已经有了AMD用的内核。</p>
<p>Q：什么是QE，什么是CI？<br />
A：QE指Quartz Extreme，是利用显卡GPU的界面加速引擎。CI是利用显卡GPU的图片处理引擎，它也担任绘制OSX中3D效果的任务（比如水波纹，3D Cube）。显卡必须有一个适合的驱动才可以打开这两个很重要的功能。对于黑苹果雪豹而言，暂时主流的N卡基本上都能全美驱动，而对A卡的支持则相对少很多（需43XX以上的公板）。</p>
<p>Q：我的硬盘支持吗？<br />
A：OSX支持全部硬盘，但是个别SATA SCSI 硬盘控制器不支持。解决的办法是：找块淘汰的IDE硬盘，10-20G的就好。OSX 要占据一个主分区,并且在扩展分区之前。</p>
<p>Q：什么是PPC，UB？<br />
A：PPC是指PowerPC，也就是在苹果转换Intel x86之前使用的架构。PPC软件可以在Intel版当中模拟运行。 UB是指Universal Binary，也就是在Intel和PPC架构都可以完美运行的程序。所以，下载软件的时候一定要留意是不是Universal版本。</p>
<p>Q：Windows程序可以在OSX中运行吗？<br />
A：默认是不可以的，但是可以用CrossOver或Wine，协助X11来运行少量Windows程序 。您还可以安装Vmware Fusion 或 Parallels Desktop，在OSX中模拟Windows系统，从而瞬间转换两个系统，不需要重新启动。</p>
<p>Q：我在Windows中常用的软件，比如迅雷，都没有Mac版本，怎么办？<br />
A：Windows中的软件在Mac中都有替代品。</p>
<p>Q：OSX中可以使用QQ吗？<br />
A：可以，你有两种选择，QQ for Mac或WebQQ。</p>
<p>Q：OSX可以使用BT下载吗？<br />
A：可以，请下载Vuze（毒蛙）。</p>
<p>Q：为什么OSX这么难用？<br />
A：是因为你Windows用惯了，其实OSX比Windows更容易上手。</p>
<p>Q：别人都说OSX很好看，我为什么不这么觉着？<br />
A：个人喜好不同，你很特殊，大部分人都喜欢OSX简洁的风格。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1563</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iWork09官方中文版</title>
		<link>http://www.shuax.com/?p=1561</link>
		<comments>http://www.shuax.com/?p=1561#comments</comments>
		<pubDate>Tue, 18 May 2010 04:24:39 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[实用软件]]></category>
		<category><![CDATA[实用]]></category>
		<category><![CDATA[苹果]]></category>
		<category><![CDATA[软件]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1561</guid>
		<description><![CDATA[iWork’09，这是苹果深受用户欢迎的办公自动化套装软件的最新版本，不仅增加了强大的新功能，而且没有牺牲苹果公司传奇的产品易用性。Keynote’09引入了先进的物体过渡，可以使用所选的特效和MagicMove自动制作物体动画，MagicMove提供了一种应用一个简单过渡来制作复杂动画的创新方法。Pages’09提供了一个新的可帮助你专注于写作的全屏视图以及用于组织你的构思的大纲模式。Numbers’09引入了一种分组和汇总数据的快速方法，并大大简化了复杂公式的创建。另外，苹果公司今天还发布了iWork.com公共测试版—苹果正在开发的用于在线共享iWork’09文档的一项新服务。 iWork其中三款软件分别是: Pages、Numbers和Keynote，他们对应于Microsoft Office的Word、Excel与Powerpoint。 就我个人体验而言，我觉得这套软件实在是太棒了。另外你不用担心，它可以保存为doc等格式的，我试过了，是兼容的。 如果你用够了office，那么试试苹果出的软件吧，真得不错，全新的感觉。 官方网站：http://www.apple.com.cn/iwork/ 你可以下载30天试用版。当然你可以激活，就变成永久使用了。 这里提供自居序列号，我是用的：93G9-PE44-KRJE-QANS-EK5F-5S2激活的 Serial = PN3E-GPUC-E499-MOFO-MOFO-5S2 Serial = G3AJ-NG9N-J349-ISIR-54GM-5S2 Serial = CP3A-J4JH-PJR3-THEB-LADE-5S2 License = Retail Serial = Y93U-HMME-3YRG-MOFO-MOFO-5S2 Serial = 93G9-PE44-KRJE-QANS-EK5F-5S2 Serial = K4KK-4H4A-RERA-THEB-LADE-5S2 License = Volume Serial = M44K-UMER-KM33-MOFO-MOFO-5S2 Serial = MGRH-C3NP-R9C9-THEB-LADE-5S2 License = Not For Resale]]></description>
			<content:encoded><![CDATA[<p>iWork’09，这是苹果深受用户欢迎的办公自动化套装软件的最新版本，不仅增加了强大的新功能，而且没有牺牲苹果公司传奇的产品易用性。Keynote’09引入了先进的物体过渡，可以使用所选的特效和MagicMove自动制作物体动画，MagicMove提供了一种应用一个简单过渡来制作复杂动画的创新方法。Pages’09提供了一个新的可帮助你专注于写作的全屏视图以及用于组织你的构思的大纲模式。Numbers’09引入了一种分组和汇总数据的快速方法，并大大简化了复杂公式的创建。另外，苹果公司今天还发布了iWork.com公共测试版—苹果正在开发的用于在线共享iWork’09文档的一项新服务。</p>
<p><span id="more-1561"></span>iWork其中三款软件分别是: Pages、Numbers和Keynote，他们对应于Microsoft Office的Word、Excel与Powerpoint。</p>
<p>就我个人体验而言，我觉得这套软件实在是太棒了。另外你不用担心，它可以保存为doc等格式的，我试过了，是兼容的。</p>
<p>如果你用够了office，那么试试苹果出的软件吧，真得不错，全新的感觉。</p>
<p>官方网站：http://www.apple.com.cn/iwork/</p>
<p>你可以下载30天试用版。当然你可以激活，就变成永久使用了。</p>
<p>这里提供自居序列号，我是用的：<strong>93G9-PE44-KRJE-QANS-EK5F-5S2</strong>激活的</p>
<div></div>
<div></div>
<div id="_mcePaste">Serial = PN3E-GPUC-E499-MOFO-MOFO-5S2</div>
<div id="_mcePaste">Serial = G3AJ-NG9N-J349-ISIR-54GM-5S2</div>
<div id="_mcePaste">Serial = CP3A-J4JH-PJR3-THEB-LADE-5S2</div>
<div id="_mcePaste">License = Retail</div>
<div id="_mcePaste">Serial = Y93U-HMME-3YRG-MOFO-MOFO-5S2</div>
<div id="_mcePaste">Serial = 93G9-PE44-KRJE-QANS-EK5F-5S2</div>
<div id="_mcePaste">Serial = K4KK-4H4A-RERA-THEB-LADE-5S2</div>
<div id="_mcePaste">License = Volume</div>
<div id="_mcePaste">Serial = M44K-UMER-KM33-MOFO-MOFO-5S2</div>
<div id="_mcePaste">Serial = MGRH-C3NP-R9C9-THEB-LADE-5S2</div>
<div id="_mcePaste">License = Not For Resale</div>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1561</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Y450终于安装好了Mac OS</title>
		<link>http://www.shuax.com/?p=1555</link>
		<comments>http://www.shuax.com/?p=1555#comments</comments>
		<pubDate>Sun, 16 May 2010 01:26:06 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[我的生活]]></category>
		<category><![CDATA[苹果]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1555</guid>
		<description><![CDATA[我的电脑是联想的Y450A－TSI，昨天折腾了一天，终于把Mac OS安装好了，我现在就正在用着在上网。 苹果的东西很不习惯呢～～ 我来说说我的安装过程吧，免得后来人走弯路。 第一步：下载系统 我下载的是：Mac OSX SnowLeopard 10.6.2_10C2234_Retail.dmg 第二步：转换格式 使用UltraISO将这个dmg镜像转换为ISO格式。转换前5.75G，转换后7.19G。 第三步：划分分区 我是找了大约25G空余容量划分出来，一个7G用于放安装文件，剩下的用来作Mac OS系统盘。 注意，分盘的时候不要选择格式化，因为Mac不认这些格式。 第四步：写入镜像 使用Leopard硬盘安装助手，将ISO写入到那个7G的磁盘中。 第五步：准备安装 安装MacDrive，用于在windows环境下操作hfs磁盘系统。 重启后才能使用，此时应该替换原系统中的OSInstall，这样苹果才能安装在MBR分区表下。 注意，不同的Mac OS版本对应的OSInstall不同，我已经在这里吃过亏了。 安装Bootthink重启后，启动菜单就会出现这个，你可以选择启动苹果的安装磁盘。 建议重启前，把驱动复制到Bootthink。默认驱动位置是在：C:\Darwin\System\LibrarySL\Extensions 下面。 还有个DSDT.AML文件要放到 C:\Darwin目录下 安装Bootthink用于启动系统。 第六步：开始安装 提醒，将硬盘调整为AHCI方式，备用PE一个（总之能启动的东西），用来恢复windows的引导权，因为雪豹安装程序会把雪豹的分区设为“活动分区”，开机的时候就会无法进入bootthink的选项菜单和Windows。 现在可以使用Bootthink启动安装程序了。选择语言，然后点上面菜单中的：实用工具-&#62;磁盘工具，把剩下用来安装系统的分区格式化（抹掉）成“Mac Mac OS扩展 （日志式）”，然后直接X掉这个窗口，返回安装界面，把Mac OS安装到此磁盘即可。整个安装用时大概30分钟。然后会自动重启，你看看你的windows引导还在不在，如果不在了，就恢复一下吧。最后进入苹果系统后就是选择帐号啊之类的，没什么说的了。安装有点靠人品，同样的操作不一定每次都行。苹果第一次的欢迎界面很绚丽啊，传说中的星云，如果你运气不好，看见的就是五国了。看见五国也不要怕，有时候重启几次就自动好了，很奇怪啊。 第七步：实用工具 推荐一些实用工具吧，我联网折腾了好久才弄好，悲剧啊。 联网软件：iNodeClient_For_Mac_V3.60-E6210.tar.gz 视频播放：MPlayerX 音乐播放：Cog 还有一个QQ for Mac啦，哈哈哈。～ 资源下载：MAC装机.zip]]></description>
			<content:encoded><![CDATA[<p>我的电脑是联想的Y450A－TSI，昨天折腾了一天，终于把Mac OS安装好了，我现在就正在用着在上网。</p>
<p>苹果的东西很不习惯呢～～</p>
<p>我来说说我的安装过程吧，免得后来人走弯路。</p>
<p><span id="more-1555"></span> <strong>第一步：下载系统</strong></p>
<p>我下载的是：Mac OSX SnowLeopard 10.6.2_10C2234_Retail.dmg</p>
<p><strong>第二步：转换格式</strong></p>
<p>使用UltraISO将这个dmg镜像转换为ISO格式。转换前5.75G，转换后7.19G。</p>
<p><strong>第三步：划分分区</strong></p>
<p>我是找了大约25G空余容量划分出来，一个7G用于放安装文件，剩下的用来作Mac OS系统盘。</p>
<p>注意，分盘的时候不要选择格式化，因为Mac不认这些格式。</p>
<p><strong>第四步：写入镜像</strong></p>
<p>使用Leopard硬盘安装助手，将ISO写入到那个7G的磁盘中。</p>
<p><strong>第五步：准备安装</strong></p>
<p>安装MacDrive，用于在windows环境下操作hfs磁盘系统。</p>
<p>重启后才能使用，此时应该替换原系统中的OSInstall，这样苹果才能安装在MBR分区表下。</p>
<p>注意，不同的Mac OS版本对应的OSInstall不同，我已经在这里吃过亏了。</p>
<p>安装Bootthink重启后，启动菜单就会出现这个，你可以选择启动苹果的安装磁盘。</p>
<p>建议重启前，把驱动复制到Bootthink。默认驱动位置是在：C:\Darwin\System\LibrarySL\Extensions 下面。</p>
<p>还有个DSDT.AML文件要放到 C:\Darwin目录下</p>
<p>安装Bootthink用于启动系统。</p>
<p><strong>第六步：开始安装</strong></p>
<p>提醒，将硬盘调整为AHCI方式，备用PE一个（总之能启动的东西），用来恢复windows的引导权，因为雪豹安装程序会把雪豹的分区设为“活动分区”，开机的时候就会无法进入bootthink的选项菜单和Windows。</p>
<p>现在可以使用Bootthink启动安装程序了。选择语言，然后点上面菜单中的：实用工具-&gt;磁盘工具，把剩下用来安装系统的分区格式化（抹掉）成“Mac Mac OS扩展 （日志式）”，然后直接X掉这个窗口，返回安装界面，把Mac OS安装到此磁盘即可。整个安装用时大概30分钟。然后会自动重启，你看看你的windows引导还在不在，如果不在了，就恢复一下吧。最后进入苹果系统后就是选择帐号啊之类的，没什么说的了。安装有点靠人品，同样的操作不一定每次都行。苹果第一次的欢迎界面很绚丽啊，传说中的星云，如果你运气不好，看见的就是五国了。看见五国也不要怕，有时候重启几次就自动好了，很奇怪啊。</p>
<p><strong>第七步：实用工具</strong></p>
<p>推荐一些实用工具吧，我联网折腾了好久才弄好，悲剧啊。</p>
<p>联网软件：iNodeClient_For_Mac_V3.60-E6210.tar.gz</p>
<p>视频播放：MPlayerX</p>
<p>音乐播放：Cog</p>
<p>还有一个QQ for Mac啦，哈哈哈。～</p>
<p><strong>资源下载：</strong><a href="http://u.115.com/file/f039c301fb">MAC装机.zip</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1555</wfw:commentRss>
		<slash:comments>28</slash:comments>
		</item>
		<item>
		<title>PowerDesigner v15下载</title>
		<link>http://www.shuax.com/?p=1552</link>
		<comments>http://www.shuax.com/?p=1552#comments</comments>
		<pubDate>Thu, 13 May 2010 08:17:04 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[实用软件]]></category>
		<category><![CDATA[编程]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1552</guid>
		<description><![CDATA[PowerDesigner是Sybase公司的CASE工具集，使用它可以方便地对管理信息系统进行分析设计，它几乎包括了数据库模型设计的全过程。 利用PowerDesigner可以制作数据流程图、概念数据模型、物理数据模型，可以生成多种客户端开发工具的应用程序，还可为数据仓库制作结构模型，也能对团队设计模型进行控制。 它可与许多流行的数据库设计软件，例如：PowerBuilder，Delphi，VB等相配合使用来缩短开发时间和使系统设计更优化。 PowerDesigner 主要包括以下几个功能部分： （1） DataArchitect 这是一个强大的数据库设计工具，使用DataArchitect 可利用实体-关系图为一个信息系统 创建&#8221;概念数据模型&#8221;－CDM（Conceptual Data Model）。并且可根据CDM 产生基于某一特定 数据库管理系统（例如：Sybase System 11）的&#8221;物理数据模型&#8221;-PDM(Physical Data Model)。 还可优化PDM，产生为特定DBMS 创建数据库的SQL 语句并可以文件形式存储以便在其他时 刻运行这些SQL 语句创建数据库。另外，DataArchitect还可根据已存在的数据库反向生成 PDM，CDM 及创建数据库的SQL脚本。 （2） ProcessAnalyst 这部分用于创建功能模型和数据流图，创建&#8221;处理层次关系&#8221;。 （3） AppModeler 为客户/服务器应用程序创建应用模型。 （4） ODBC Administrator 此部分用来管理系统的各种数据源。 PowerDesigner 的4 种模型文件： 概念数据模型 (CDM) CDM 表现数据库的全部逻辑的结构,与任何的软件或数据储藏结构无关。 一个概念模型经常包括在物理数据库中仍然不实现的数据对象。 它给运行计划或业务活动的数据一个正式表现方式。 物理数据模型 (PDM) PDM 叙述数据库的物理实现。藉由 PDM ，你考虑真实的物理实现的细节。 它进入帐户两个软件或数据储藏结构之内拿。 你能修正 PDM 适合你的表现或物理约束。 面向对象模型]]></description>
			<content:encoded><![CDATA[<p><strong>PowerDesigner</strong>是Sybase公司的CASE工具集，使用它可以方便地对管理信息系统进行分析设计，它几乎包括了数据库模型设计的全过程。<br />
利用<strong>PowerDesigner</strong>可以制作数据流程图、概念数据模型、物理数据模型，可以生成多种客户端开发工具的应用程序，还可为数据仓库制作结构模型，也能对团队设计模型进行控制。<br />
它可与许多流行的数据库设计软件，例如：PowerBuilder，Delphi，VB等相配合使用来缩短开发时间和使系统设计更优化。<br />
<span id="more-1552"></span><br />
<strong>PowerDesigner</strong> 主要包括以下几个功能部分：<br />
（1） DataArchitect<br />
这是一个强大的数据库设计工具，使用DataArchitect 可利用实体-关系图为一个信息系统<br />
创建&#8221;概念数据模型&#8221;－CDM（Conceptual Data Model）。并且可根据CDM 产生基于某一特定<br />
数据库管理系统（例如：Sybase System 11）的&#8221;物理数据模型&#8221;-PDM(Physical Data Model)。<br />
还可优化PDM，产生为特定DBMS 创建数据库的SQL 语句并可以文件形式存储以便在其他时<br />
刻运行这些SQL 语句创建数据库。另外，DataArchitect还可根据已存在的数据库反向生成<br />
PDM，CDM 及创建数据库的SQL脚本。<br />
（2） ProcessAnalyst<br />
这部分用于创建功能模型和数据流图，创建&#8221;处理层次关系&#8221;。<br />
（3） AppModeler<br />
为客户/服务器应用程序创建应用模型。<br />
（4） ODBC Administrator<br />
此部分用来管理系统的各种数据源。</p>
<p><strong>PowerDesigner</strong> 的4 种模型文件：<br />
概念数据模型 (CDM)<br />
CDM 表现数据库的全部逻辑的结构,与任何的软件或数据储藏结构无关。 一个概念模型经常包括在物理数据库中仍然不实现的数据对象。 它给运行计划或业务活动的数据一个正式表现方式。<br />
物理数据模型 (PDM)<br />
PDM 叙述数据库的物理实现。藉由 PDM ，你考虑真实的物理实现的细节。 它进入帐户两个软件或数据储藏结构之内拿。 你能修正 PDM 适合你的表现或物理约束。<br />
面向对象模型 (OOM)<br />
一个OOM包含一系列包，类，接口 , 和他们的关系。 这些对象一起形成所有的( 或部份) 一个软件系统的逻辑的设计视图的类结构。 一个OOM 本质上是软件系统的一个静态的概念模型。<br />
你使用 <strong>PowerDesigner</strong> 面向对象模型建立面向对象模型.(OOM) 你能为纯粹地对象- 导向的靠模切目的建立一个OOM, 产生Java 文件或者PowerBuilder 文件，或你能使用一个来自OOM的物理数据模型(PDM)对象 , 来表示关系数据库设计分析。<br />
业务程序模型 (BPM)<br />
BPM 描述业务的各种不同内在任务和内在流程，而且客户如何以这些任务和流程互相影响。<br />
BPM 是从业务合伙人的观点来看业务逻辑和规则的概念模型，使用一个图表描述程序，流程，信息和合作协议之间的交互作用。</p>
<p>是从verycd上面下载的，那个下载太恶心了。一个rar里面一堆的zip，把zip解开又是一堆的rar分卷，我很不幸的成为了牺牲者，第一次下载时，xxxx01.zip我解压时提示我CRC校验失败，呜呜…………。在网上下载了另外一个版本，有病毒，舍弃了。</p>
<p>下载地址：<a href="http://u.115.com/file/f05d6711e6">PowerDesigner152_Evaluation.exe</a></p>
<p>破解补丁：<a href="http://www.shuax.com/wp-content/uploads/2010/05/crack.rar">crack</a> 覆盖安装后的原有文件即可。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1552</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>torrent文件格式</title>
		<link>http://www.shuax.com/?p=1549</link>
		<comments>http://www.shuax.com/?p=1549#comments</comments>
		<pubDate>Sun, 09 May 2010 05:57:07 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[程序开发]]></category>
		<category><![CDATA[文件]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1549</guid>
		<description><![CDATA[torrent文件采用Bencode编码。 Bencode支持如下四种编码：二进制串、整型数字、列表（List）和字典（Dictionary）。 二进制串 在Bencode中，一个二进制串格式为&#60;长度&#62;:&#60;内容&#62;。 例子:如&#8221;8:announce&#8221;指&#8221;announce&#8221;. 注意，二进制串的内容不一定为字符串。长度的单位为字节。 整型数字 整型数字以字母&#8221;i&#8221;开始。结尾为字母“e“。格式为：i&#60;数字文本内容&#62;e。例如，123453编码后为： i123453e 列表 列表以字母&#8221;l&#8221;开头，结尾为字母“e”。格式为：l&#60;列表内容&#62;e。其中，列表内容为各种数据的罗列。可以为二进制串、整型数字、字典甚至是另外一个列表。 字典 字典以字母“d”开头，结尾为“e”。各位是d&#60;字典内容&#62;e。 字典的内容为键值对。其中，键值必须为字符串（二进制串）。值可以去四种任意的数据类型。所有键值对按顺序排开即可。例如一个字典，内容包括：（“key1”，“value1”）、（“key2”， “value2”）,编码后为： d4:key16:value14:key26:value2e 常见内容： announce:字符串,指向tracker的URL. announce-list:(可选),字典,这是一个对官方协议的扩展,支持&#8221;多Tracker&#8221;. creation date:(可选),整数,创建日期(UNIX创世纪格式:1970-1-1日00:00UTC到当时的秒数) comment:(可选),字符串,注释 created by:可选,字符串,创建此.torrent文件的BT下载端程序名和版本号 encoding:BitComet对Metafile的扩展，一般用来指出不使用utf-8而使用gbk. Info，剩下的部分用于存放种子hash信息。 当我们成功提交一个请求给Tracker服务器。它会返回一个内容为&#8221;text/plain&#8221;类型的回复。其内容为一个bencode编码的字典（dictionary）。 我根据这些原理，写了一个简单的Tracker announce 网址自动转换程序。 #include &#60;stdio.h&#62; #include &#60;windows.h&#62; long GetFileSize&#40;FILE* fp&#41; &#123; long len; long now = ftell&#40;fp&#41;; fseek&#40;fp, 0, SEEK_END&#41;; len = ftell&#40;fp&#41;; fseek&#40;fp, now, SEEK_SET&#41;; return len;]]></description>
			<content:encoded><![CDATA[<p>torrent文件采用Bencode编码。</p>
<p><span>Bencode</span>支持如下四种编码：二进制串、整型数字、列表（List）和字典（Dictionary）。</p>
<p><strong>二进制串</strong></p>
<p>在<span>Bencode</span>中，一个二进制串格式为&lt;长度&gt;:&lt;内容&gt;。</p>
<p>例子:如&#8221;8:announce&#8221;指&#8221;announce&#8221;.</p>
<p>注意，二进制串的内容不一定为字符串。长度的单位为字节。<br />
<span id="more-1549"></span><br />
<strong>整型数字</strong></p>
<p>整型数字以字母&#8221;i&#8221;开始。结尾为字母“e“。格式为：i&lt;数字文本内容&gt;e。例如，123453编码后为：</p>
<p>i123453e</p>
<p><strong>列表</strong></p>
<p>列表以字母&#8221;l&#8221;开头，结尾为字母“e”。格式为：l&lt;列表内容&gt;e。其中，列表内容为各种数据的罗列。可以为二进制串、整型数字、字典甚至是另外一个列表。</p>
<p><strong>字典</strong></p>
<p>字典以字母“d”开头，结尾为“e”。各位是d&lt;字典内容&gt;e。</p>
<p>字典的内容为键值对。其中，键值必须为字符串（二进制串）。值可以去四种任意的数据类型。所有键值对按顺序排开即可。例如一个字典，内容包括：（“key1”，“value1”）、（“key2”，  “value2”）,编码后为：</p>
<p>d4:key16:value14:key26:value2e</p>
<p><strong>常见内容：</strong></p>
<li>announce:字符串,指向tracker的URL.</li>
<li>announce-list:(可选),字典,这是一个对官方协议的扩展,支持&#8221;多Tracker&#8221;.</li>
<li>creation  date:(可选),整数,创建日期(UNIX创世纪格式:1970-1-1日00:00UTC到当时的秒数)</li>
<li>comment:(可选),字符串,注释</li>
<li>created by:可选,字符串,创建此.torrent文件的BT下载端程序名和版本号</li>
<li>encoding:BitComet对Metafile的扩展，一般用来指出不使用utf-8而使用gbk.</li>
<li>Info，剩下的部分用于存放种子hash信息。</li>
<p>当我们成功提交一个请求给Tracker服务器。它会返回一个内容为&#8221;text/plain&#8221;类型的回复。其内容为一个<span>bencode</span>编码的字典（dictionary）。</p>
<p>我根据这些原理，写了一个简单的Tracker announce 网址自动转换程序。</p>

<div class="wp_codebox"><table><tr id="p154933"><td class="code" id="p1549code33"><pre class="cpp" style="font-family:monospace;"><span style="color: #339900;">#include &lt;stdio.h&gt;</span>
<span style="color: #339900;">#include &lt;windows.h&gt;</span>
<span style="color: #0000ff;">long</span> GetFileSize<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">FILE</span><span style="color: #000040;">*</span> fp<span style="color: #008000;">&#41;</span>   
<span style="color: #008000;">&#123;</span>   
	<span style="color: #0000ff;">long</span> len<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">long</span> now <span style="color: #000080;">=</span> <span style="color: #0000dd;">ftell</span><span style="color: #008000;">&#40;</span>fp<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">fseek</span><span style="color: #008000;">&#40;</span>fp, <span style="color: #0000dd;">0</span>, <span style="color: #0000ff;">SEEK_END</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>   
    len   <span style="color: #000080;">=</span>   <span style="color: #0000dd;">ftell</span><span style="color: #008000;">&#40;</span>fp<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>   
    <span style="color: #0000dd;">fseek</span><span style="color: #008000;">&#40;</span>fp, now, <span style="color: #0000ff;">SEEK_SET</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>   
    <span style="color: #0000ff;">return</span> len<span style="color: #008080;">;</span>   
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">int</span> main<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> argc,<span style="color: #0000ff;">char</span> <span style="color: #000040;">*</span>argv<span style="color: #008000;">&#91;</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">if</span><span style="color: #008000;">&#40;</span>argc<span style="color: #000040;">!</span><span style="color: #000080;">=</span><span style="color: #0000dd;">3</span><span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000dd;">puts</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;参数不正确！&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">return</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
    <span style="color: #0000ff;">FILE</span> <span style="color: #000040;">*</span>fp <span style="color: #000080;">=</span> <span style="color: #0000dd;">fopen</span><span style="color: #008000;">&#40;</span>argv<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span>,<span style="color: #FF0000;">&quot;rb&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
&nbsp;
&nbsp;
	<span style="color: #0000ff;">char</span> announce<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">1024</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">char</span> newwebsite<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">1024</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">char</span> head<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">1024</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #0000ff;">int</span> num<span style="color: #008080;">;</span>
	<span style="color: #0000dd;">fscanf</span><span style="color: #008000;">&#40;</span>fp,<span style="color: #FF0000;">&quot;d8:announce%d:&quot;</span>,<span style="color: #000040;">&amp;</span>num<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">fread</span><span style="color: #008000;">&#40;</span>announce,num,<span style="color: #0000dd;">1</span>,fp<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">if</span><span style="color: #008000;">&#40;</span><span style="color: #0000dd;">strstr</span><span style="color: #008000;">&#40;</span>announce,<span style="color: #FF0000;">&quot;free.stonept.org&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%s 未转换<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span>,argv<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #666666;">//return 0;</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000ff;">else</span><span style="color: #008000;">&#123;</span>
        <span style="color: #0000dd;">strcpy</span><span style="color: #008000;">&#40;</span>newwebsite,<span style="color: #FF0000;">&quot;http://free.stonept.org/announce.php&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
        <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%s 已转换<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span>,argv<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #008000;">&#125;</span>
    <span style="color: #0000ff;">FILE</span> <span style="color: #000040;">*</span>out <span style="color: #000080;">=</span> <span style="color: #0000dd;">fopen</span><span style="color: #008000;">&#40;</span>argv<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #008000;">&#93;</span>,<span style="color: #FF0000;">&quot;wb&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    wsprintf<span style="color: #008000;">&#40;</span>head,<span style="color: #FF0000;">&quot;d8:announce%d:%s&quot;</span>,<span style="color: #0000dd;">strlen</span><span style="color: #008000;">&#40;</span>newwebsite<span style="color: #008000;">&#41;</span>,newwebsite<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #0000dd;">fputs</span><span style="color: #008000;">&#40;</span>head,out<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #0000ff;">long</span> fl <span style="color: #000080;">=</span> GetFileSize<span style="color: #008000;">&#40;</span>fp<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #0000ff;">while</span><span style="color: #008000;">&#40;</span><span style="color: #0000dd;">ftell</span><span style="color: #008000;">&#40;</span>fp<span style="color: #008000;">&#41;</span><span style="color: #000080;">&lt;</span>fl<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#123;</span>
          <span style="color: #0000dd;">fputc</span><span style="color: #008000;">&#40;</span><span style="color: #0000dd;">fgetc</span><span style="color: #008000;">&#40;</span>fp<span style="color: #008000;">&#41;</span>,out<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #008000;">&#125;</span>
	<span style="color: #0000dd;">fclose</span><span style="color: #008000;">&#40;</span>fp<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">fclose</span><span style="color: #008000;">&#40;</span>out<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></td></tr></table></div>

<p>这只是其中的一个文件，另外一个你可以自己推导出来。</p>
<p>批处理bat菜单程序</p>

<div class="wp_codebox"><table><tr id="p154934"><td class="code" id="p1549code34"><pre class="bat" style="font-family:monospace;">@echo off
COLOR 0A
cls
title Tracker announce 自动转换程序
echo 此脚本由shuax制作
echo.
echo.
echo 请选择要执行的操作：
echo 1、转换为自由区Tracker
echo 2、转换为高清区Tracker
echo.
set /p choice=请选择：
&nbsp;
if /i &quot;%choice%&quot;==&quot;1&quot; goto free
if /i &quot;%choice%&quot;==&quot;2&quot; goto hd
:free
for %%i in (*.torrent) do (
	自由区 &quot;%%i&quot; [free]&quot;%%i&quot; 
)
echo+
PAUSE
exit
&nbsp;
:hd
for %%i in (*.torrent) do (
	高清区 &quot;%%i&quot; [hd]&quot;%%i&quot; 
)
echo+
PAUSE
exit</pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1549</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>QQ概念版Beta1.2发布了</title>
		<link>http://www.shuax.com/?p=1547</link>
		<comments>http://www.shuax.com/?p=1547#comments</comments>
		<pubDate>Wed, 05 May 2010 23:45:57 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[实用软件]]></category>
		<category><![CDATA[QQ]]></category>
		<category><![CDATA[软件]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1547</guid>
		<description><![CDATA[QQ概念版Bata1.2在大家的期盼中发布了，官网地址是：http://gainian.qq.com。 欢迎您下载体验，我们的推荐配置是windows 7 系统评分3.5以上。 QQ 概念版是利用微软最新一代的客户端展现层技术&#8211;WPF，精心打造的创新型IM产品。 QQ 概念版是腾讯首款NUI(自然用户交互)产品，全面实现了多点触摸操作。 在实现IM的基础功能外，QQ概念版还推出了动感相框、动态背景、多Tab聊天窗口、3D交互、矢量界面、桌面好友等一系列新功能、新体验以及Windows7的重要新特性。 在 Beta 1.1 的基础上做了以下优化 1. 无数个性能优化。 2. 控制单人会话窗口和群窗口同屏显示的消息数,节约资源。 3. 修正会话窗口的可拖动区域。 4. 解决动态修改分辨率导致表情窗口无法弹出的 bug。 5. 解决一些用户反馈较多的 bug。 6. 增加了功能演示和意见反馈的入口。 下载地址：http://dl_dir.qq.com/qqfile/qq/QQ2010/QQConceptBeta1.2_chs.exe]]></description>
			<content:encoded><![CDATA[<p>QQ概念版Bata1.2在大家的期盼中发布了，官网地址是：http://gainian.qq.com。</p>
<p>欢迎您下载体验，我们的推荐配置是windows 7 系统评分3.5以上。</p>
<p>QQ 概念版是利用微软最新一代的客户端展现层技术&#8211;WPF，精心打造的创新型IM产品。</p>
<p>QQ 概念版是腾讯首款NUI(自然用户交互)产品，全面实现了多点触摸操作。</p>
<p>在实现IM的基础功能外，QQ概念版还推出了动感相框、动态背景、多Tab聊天窗口、3D交互、矢量界面、桌面好友等一系列新功能、新体验以及Windows7的重要新特性。</p>
<p><span id="more-1547"></span></p>
<p>在 Beta 1.1 的基础上做了以下优化</p>
<p>1. 无数个性能优化。</p>
<p>2. 控制单人会话窗口和群窗口同屏显示的消息数,节约资源。</p>
<p>3. 修正会话窗口的可拖动区域。</p>
<p>4. 解决动态修改分辨率导致表情窗口无法弹出的 bug。</p>
<p>5. 解决一些用户反馈较多的 bug。</p>
<p>6. 增加了功能演示和意见反馈的入口。</p>
<p>下载地址：<a href="http://dl_dir.qq.com/qqfile/qq/QQ2010/QQConceptBeta1.2_chs.exe">http://dl_dir.qq.com/qqfile/qq/QQ2010/QQConceptBeta1.2_chs.exe</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1547</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>[转]Adobe Photoshop CS5 Extended 绿色汉化正式版</title>
		<link>http://www.shuax.com/?p=1544</link>
		<comments>http://www.shuax.com/?p=1544#comments</comments>
		<pubDate>Sat, 01 May 2010 18:44:14 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[实用软件]]></category>
		<category><![CDATA[实用]]></category>
		<category><![CDATA[软件]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1544</guid>
		<description><![CDATA[此版本Photoshop CS5 Extended 由官方英文正式版Photoshop CS5 Extended 加上汉化破解而成，只需要执行一次快速安装即可使用。 此绿色版特点： 1. 精简了Bridge CS5,Extension Manager CS5(这两个插件以后以单独形式附带);Device Central CS5,ExtendScript Toolkit CS5,帮助系统,示例,多国语言,激活系统等组件. 2. 保留了Camera Raw 6;颜色预置;PDF预置等一般精简版会缺失的功能. 3. 保留与Bridge CS5,Extension Manager CS5的通讯文件,以便日后增加Bridge CS5,Extension Manager CS5; 4. 使用SQLLite准确注册程序,为以后安装其他Adobe程序做好准备. 5. 能完整关联所有Photoshop能编辑的文件。 6. 程序不含任何第三方插件。保持纯净。 来自Ansifa的最新作品 软件语言: 简体中文(基本没有遇到未汉化的地方) 整理时间: 2010-5-2 运行环境: Windows XP/2003/Vista/7.0/2008 软件大小：79.2 MB (83,101,413 字节) MD5:8A59978F0DF3A27590FAD949B7F88E28 下载地址：Adobe_Photoshop_CS5_Extend_GreenVersion.7z 安装包内还有详细说明，请仔细查看。]]></description>
			<content:encoded><![CDATA[<p>此版本Photoshop CS5 Extended 由官方英文正式版Photoshop CS5 Extended 加上汉化破解而成，只需要执行一次快速安装即可使用。</p>
<p>此绿色版特点：<br />
1. 精简了Bridge CS5,Extension Manager CS5(这两个插件以后以单独形式附带);Device Central CS5,ExtendScript Toolkit CS5,帮助系统,示例,多国语言,激活系统等组件.<br />
2. 保留了Camera Raw 6;颜色预置;PDF预置等一般精简版会缺失的功能.<br />
3. 保留与Bridge CS5,Extension Manager CS5的通讯文件,以便日后增加Bridge CS5,Extension Manager CS5;<br />
4. 使用SQLLite准确注册程序,为以后安装其他Adobe程序做好准备.<br />
5. 能完整关联所有Photoshop能编辑的文件。<br />
6. 程序不含任何第三方插件。保持纯净。<br />
<span id="more-1544"></span><br />
<strong>来自<a href="http://ansifa.blog.163.com/">Ansifa</a>的最新作品</strong></p>
<p>软件语言: 简体中文(基本没有遇到未汉化的地方)<br />
整理时间: 2010-5-2<br />
运行环境: Windows XP/2003/Vista/7.0/2008<br />
软件大小：79.2 MB (83,101,413 字节)<br />
MD5:8A59978F0DF3A27590FAD949B7F88E28</p>
<p>下载地址：<a href="http://soft2.wmzhe.com/download/Ansifa2010/AdobeCS5/Adobe_Photoshop_CS5_Extend_GreenVersion.7z">Adobe_Photoshop_CS5_Extend_GreenVersion.7z</a></p>
<p>安装包内还有详细说明，请仔细查看。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1544</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows 7 32位补丁合集[截至5.1]</title>
		<link>http://www.shuax.com/?p=1542</link>
		<comments>http://www.shuax.com/?p=1542#comments</comments>
		<pubDate>Sat, 01 May 2010 11:15:51 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[原创软件]]></category>
		<category><![CDATA[WIN7]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1542</guid>
		<description><![CDATA[我长期重装系统，每次都从RTM开始打补丁，打多了还是觉得有点麻烦。我还是用360下载的补丁，我保存了的。但是一个一个的点来安装，效率还是太低了，所以写了个批处理，能够自动搜索当前文件夹下面的补丁，进行静默安装。 我把补丁打了个包，补丁是用360扫描并下载的，一共有18个补丁。注意，我的是32位系统，如果你的是64位系统，请自行下载补丁，如果重装，批处理还是可以用的。 下载地址：http://u.115.com/file/f07d1ddb72 没什么技术含量，方便而已。]]></description>
			<content:encoded><![CDATA[<p>我长期重装系统，每次都从RTM开始打补丁，打多了还是觉得有点麻烦。我还是用360下载的补丁，我保存了的。但是一个一个的点来安装，效率还是太低了，所以写了个批处理，能够自动搜索当前文件夹下面的补丁，进行静默安装。</p>
<p>我把补丁打了个包，补丁是用360扫描并下载的，一共有18个补丁。注意，我的是32位系统，如果你的是64位系统，请自行下载补丁，如果重装，批处理还是可以用的。</p>
<p><span id="more-1542"></span><br />
下载地址：<a href="http://u.115.com/file/f07d1ddb72">http://u.115.com/file/f07d1ddb72</a></p>
<p>没什么技术含量，方便而已。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1542</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>QQ2010 Beta3(1700) 去广告纯净版</title>
		<link>http://www.shuax.com/?p=1540</link>
		<comments>http://www.shuax.com/?p=1540#comments</comments>
		<pubDate>Fri, 30 Apr 2010 14:17:23 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[原创软件]]></category>
		<category><![CDATA[QQ]]></category>
		<category><![CDATA[破解]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1540</guid>
		<description><![CDATA[文件签名：QQ2010Beta3 2010年4月28日(1700) 清除了QQ软件管理器、QQ拼音等捆绑软件安装软件。 去掉了开机启动和设置浏览器首页。 集成了寒星的本地会员补丁，完美去广告可使用涂鸦功能，在这里感谢他。 不含个人信息的纯净版。 1、新增腾讯微博面板，腾讯微博用户将可使用该功能方便的发表微博，分享身边的一切；说明：QQ2010 Beta3的微博面板暂时只对微博注册用户开放。 2、新增拍拍用户彩钻图标，享受腾讯拍拍网缤纷彩钻尊贵特权，开启您的快乐网购生活。 大小: 26703224 字节 文件版本: 1, 48, 1700, 0 修改时间: 2010年4月30日, 22:10:13 MD5: 89B5D45E7DFB3346EF1FC87C11BC426D SHA1: 19C1D382CD3D1B72B42A3CA4FC4D6CCC32B20630 CRC32: EDFF541B 下载地址：http://u.115.com/file/f06b44e121]]></description>
			<content:encoded><![CDATA[<p><strong>文件签名：QQ2010Beta3 2010年4月28日(1700)</strong></p>
<p>清除了QQ软件管理器、QQ拼音等捆绑软件安装软件。<br />
去掉了开机启动和设置浏览器首页。<br />
集成了<a href="http://www.hxlive.cn/archives/530/">寒星</a>的本地会员补丁，完美去广告可使用涂鸦功能，在这里感谢他。<br />
不含个人信息的纯净版。</p>
<p><span id="more-1540"></span></p>
<div id="_mcePaste">1、新增腾讯微博面板，腾讯微博用户将可使用该功能方便的发表微博，分享身边的一切；说明：QQ2010 Beta3的微博面板暂时只对微博注册用户开放。</div>
<p>2、新增拍拍用户彩钻图标，享受腾讯拍拍网缤纷彩钻尊贵特权，开启您的快乐网购生活。</p>
<p>大小: 26703224 字节</p>
<p>文件版本: 1, 48, 1700, 0</p>
<p>修改时间: 2010年4月30日, 22:10:13</p>
<p>MD5: 89B5D45E7DFB3346EF1FC87C11BC426D</p>
<p>SHA1: 19C1D382CD3D1B72B42A3CA4FC4D6CCC32B20630</p>
<p>CRC32: EDFF541B</p>
<p>下载地址：<a href="http://u.115.com/file/f06b44e121">http://u.115.com/file/f06b44e121</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1540</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>QQ2010 Beta3(1690) 纯净版</title>
		<link>http://www.shuax.com/?p=1537</link>
		<comments>http://www.shuax.com/?p=1537#comments</comments>
		<pubDate>Tue, 27 Apr 2010 08:58:42 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[原创软件]]></category>
		<category><![CDATA[QQ]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1537</guid>
		<description><![CDATA[文件签名：QQ2010Beta3 2010年4月23日(1690) 清除了QQ软件管理器、QQ拼音等捆绑软件安装软件。 去掉了开机启动和设置浏览器首页。 没有集成本地会员补丁，没有去广告。 不含个人信息的纯净版。 这个版本增加了微博的入口，增加了彩钻，还有阻尼感的滚动。 大小: 26260856 字节 文件版本: 1, 48, 1690, 0 修改时间: 2010年4月27日, 16:49:41 MD5: 61A23D15EE84224F94A1704F58DB4617 SHA1: 46DBD6AE9E8A440240D6C1773B5B5F3EBF318EAB CRC32: 8EBA39C9 下载地址：http://u.115.com/file/f05c7ffc30]]></description>
			<content:encoded><![CDATA[<p><strong>文件签名：QQ2010Beta3 2010年4月23日(1690)</strong></p>
<p>清除了QQ软件管理器、QQ拼音等捆绑软件安装软件。<br />
去掉了开机启动和设置浏览器首页。<br />
没有集成本地会员补丁，没有去广告。<br />
不含个人信息的纯净版。<br />
<span id="more-1537"></span><br />
<strong>这个版本增加了微博的入口，增加了彩钻，还有阻尼感的滚动。</strong></p>
<p>大小: 26260856 字节<br />
文件版本: 1, 48, 1690, 0<br />
修改时间: 2010年4月27日, 16:49:41<br />
MD5: 61A23D15EE84224F94A1704F58DB4617<br />
SHA1: 46DBD6AE9E8A440240D6C1773B5B5F3EBF318EAB<br />
CRC32: 8EBA39C9</p>
<p>下载地址：<a href="http://u.115.com/file/f05c7ffc30">http://u.115.com/file/f05c7ffc30</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1537</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>[三核心浏览器]Lunascape 6 Orion</title>
		<link>http://www.shuax.com/?p=1535</link>
		<comments>http://www.shuax.com/?p=1535#comments</comments>
		<pubDate>Tue, 27 Apr 2010 04:28:40 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[实用软件]]></category>
		<category><![CDATA[实用]]></category>
		<category><![CDATA[软件]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1535</guid>
		<description><![CDATA[Lunascape刚刚发布了一款名叫Orion的浏览器产品，这也是Lunascape浏览器系列的第六个版本，主打卖点一样：三核心浏览器，包含IE、Firefox和Webkit核心，并且开始支持扩展。 Lunascape表示，这款浏览器非常适合Web设计和开发人员，因为它可以随时在引擎之间进行切换，浏览器兼容目前最新的Windows 7系统，跑分速度也要明显更快。 新版拥有新的使用者介面，介面设计更为简洁， 有用过Lunascape5的使用者，应该会觉得程式介面与按键元素与Firefox满类似的，新版命名为Orion的新使用介面，则相当有Opera10的影子，包含上方的按钮、网址列、搜寻列，以及左方的功能面板。也可以换回原本的Stander界面、或是选择Cool界面，以及切换各式不同的布景主题。大致上个大浏览器该有的功能Lunascape 6也都没少，像是分页浏览、RSS订阅、快速切换搜寻引擎等功能。 Lunascape6增加兼容Firefox插件功能，可加入Firefox的插件并使用，让作业更为方便。对于已经有一卡车插件的Firefox使用者，也贴心的设计了汇入设定，可轻松把原本Firefox的插件全部转移增加到Lunascape6上头。对IE的插件支援则是上一版就有的功能。另外插件管理也被整理在一起，会被自动分类在同一组工具列栏位，可避免插件按钮过多，让程式介面过于复杂。 下载地址：http://www.lunascape.tv/Download/tabid/111/Default.aspx]]></description>
			<content:encoded><![CDATA[<p>Lunascape刚刚发布了一款名叫Orion的浏览器产品，这也是Lunascape浏览器系列的第六个版本，主打卖点一样：三核心浏览器，包含IE、Firefox和Webkit核心，并且开始支持扩展。</p>
<p>Lunascape表示，这款浏览器非常适合Web设计和开发人员，因为它可以随时在引擎之间进行切换，浏览器兼容目前最新的Windows 7系统，跑分速度也要明显更快。<br />
<span id="more-1535"></span><br />
新版拥有新的使用者介面，介面设计更为简洁， 有用过Lunascape5的使用者，应该会觉得程式介面与按键元素与Firefox满类似的，新版命名为Orion的新使用介面，则相当有Opera10的影子，包含上方的按钮、网址列、搜寻列，以及左方的功能面板。也可以换回原本的Stander界面、或是选择Cool界面，以及切换各式不同的布景主题。大致上个大浏览器该有的功能Lunascape 6也都没少，像是分页浏览、RSS订阅、快速切换搜寻引擎等功能。</p>
<p>Lunascape6增加兼容Firefox插件功能，可加入Firefox的插件并使用，让作业更为方便。对于已经有一卡车插件的Firefox使用者，也贴心的设计了汇入设定，可轻松把原本Firefox的插件全部转移增加到Lunascape6上头。对IE的插件支援则是上一版就有的功能。另外插件管理也被整理在一起，会被自动分类在同一组工具列栏位，可避免插件按钮过多，让程式介面过于复杂。</p>
<p>下载地址：<a href="http://www.lunascape.tv/Download/tabid/111/Default.aspx">http://www.lunascape.tv/Download/tabid/111/Default.aspx</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1535</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Java完整ICQ程序[界面]</title>
		<link>http://www.shuax.com/?p=1528</link>
		<comments>http://www.shuax.com/?p=1528#comments</comments>
		<pubDate>Thu, 22 Apr 2010 00:33:01 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[JAVA]]></category>
		<category><![CDATA[编程]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1528</guid>
		<description><![CDATA[最近要实现一个完整的ICQ程序，最开始，当然就写界面咯。 写的可能不是很标准，不过还是挺好看的就是了。原来Java换肤还是挺简单的。 启动界面 import java.awt.*; import java.awt.event.*; &#160; import javax.swing.*; &#160; public class 启动 extends JFrame implements ActionListener&#123; /** * */ private static final long serialVersionUID = 1L; JTextField 用户; JPasswordField 密码; JButton 登录,注册,找回; public static void main&#40;String args&#91;&#93;&#41;&#123; try &#123; UIManager.setLookAndFeel&#40;&#34;com.seaglasslookandfeel.SeaGlassLookAndFeel&#34;&#41;; UIManager.put&#40;&#34;PasswordField.font&#34;,new Font&#40;&#34;Verdana&#34;,Font.BOLD,12&#41;&#41;; //UIManager.setLookAndFeel(&#34;com.sun.java.swing.plaf.windows.WindowsLookAndFeel&#34;); /* Font f = new Font(&#34;微软雅黑&#34;,Font.PLAIN,12); UIManager.put(&#34;TextField.font&#34;, f); UIManager.put(&#34;Label.font&#34;, f);]]></description>
			<content:encoded><![CDATA[<p>最近要实现一个完整的ICQ程序，最开始，当然就写界面咯。</p>
<p>写的可能不是很标准，不过还是挺好看的就是了。原来Java换肤还是挺简单的。</p>
<p><a href="http://www.shuax.com/wp-content/uploads/2010/04/1.png" class="lightbox"><img class="aligncenter size-full wp-image-1529" title="启动界面" src="http://www.shuax.com/wp-content/uploads/2010/04/1.png" alt="" width="372" height="265" /></a></p>
<p><span id="more-1528"></span><br />
启动界面</p>

<div class="wp_codebox"><table><tr id="p152838"><td class="code" id="p1528code38"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.awt.*</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.awt.event.*</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javax.swing.*</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> 启动 <span style="color: #000000; font-weight: bold;">extends</span> <span style="color: #003399;">JFrame</span> <span style="color: #000000; font-weight: bold;">implements</span> <span style="color: #003399;">ActionListener</span><span style="color: #009900;">&#123;</span>
	<span style="color: #008000; font-style: italic; font-weight: bold;">/**
	 * 
	 */</span>
	<span style="color: #000000; font-weight: bold;">private</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000000; font-weight: bold;">final</span> <span style="color: #000066; font-weight: bold;">long</span> serialVersionUID <span style="color: #339933;">=</span> 1L<span style="color: #339933;">;</span>
	<span style="color: #003399;">JTextField</span> 用户<span style="color: #339933;">;</span>
	<span style="color: #003399;">JPasswordField</span> 密码<span style="color: #339933;">;</span>
	<span style="color: #003399;">JButton</span> 登录,注册,找回<span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">void</span> main<span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span> args<span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">try</span> <span style="color: #009900;">&#123;</span>
		    <span style="color: #003399;">UIManager</span>.<span style="color: #006633;">setLookAndFeel</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;com.seaglasslookandfeel.SeaGlassLookAndFeel&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		    <span style="color: #003399;">UIManager</span>.<span style="color: #006633;">put</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;PasswordField.font&quot;</span>,<span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">Font</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Verdana&quot;</span>,<span style="color: #003399;">Font</span>.<span style="color: #006633;">BOLD</span>,<span style="color: #cc66cc;">12</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		    <span style="color: #666666; font-style: italic;">//UIManager.setLookAndFeel(&quot;com.sun.java.swing.plaf.windows.WindowsLookAndFeel&quot;);</span>
		    <span style="color: #666666; font-style: italic;">/*
		    Font f = new Font(&quot;微软雅黑&quot;,Font.PLAIN,12);
			UIManager.put(&quot;TextField.font&quot;, f); 
			UIManager.put(&quot;Label.font&quot;, f);
			UIManager.put(&quot;ComboBox.font&quot;,f);
			UIManager.put(&quot;MenuBar.font&quot;,f);
			UIManager.put(&quot;ToolTip.font&quot;,f);
			UIManager.put(&quot;MenuItem.font&quot;,f);
			UIManager.put(&quot;Button.font&quot;,f);
			*/</span>
		<span style="color: #009900;">&#125;</span><span style="color: #000000; font-weight: bold;">catch</span> <span style="color: #009900;">&#40;</span><span style="color: #003399;">Exception</span> e<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #000000; font-weight: bold;">try</span> <span style="color: #009900;">&#123;</span>
				<span style="color: #003399;">UIManager</span>.<span style="color: #006633;">setLookAndFeel</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;com.sun.java.swing.plaf.windows.WindowsLookAndFeel&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span><span style="color: #000000; font-weight: bold;">catch</span> <span style="color: #009900;">&#40;</span><span style="color: #003399;">Exception</span> e2<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><span style="color: #009900;">&#125;</span>
			<span style="color: #003399;">JOptionPane</span>.<span style="color: #006633;">showMessageDialog</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">null</span>, <span style="color: #0000ff;">&quot;加载皮肤失败，使用默认界面。&quot;</span>,<span style="color: #0000ff;">&quot;警告&quot;</span>, <span style="color: #003399;">JOptionPane</span>.<span style="color: #006633;">YES_NO_CANCEL_OPTION</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
		<span style="color: #000000; font-weight: bold;">new</span> 启动<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
	<span style="color: #000000; font-weight: bold;">public</span> 启动<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
&nbsp;
		<span style="color: #000000; font-weight: bold;">super</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;QQ2010&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #003399;">UIManager</span>.<span style="color: #006633;">put</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;PasswordField.echoChar&quot;</span>,<span style="color: #0000ff;">'●'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		setLayout<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		setDefaultCloseOperation<span style="color: #009900;">&#40;</span><span style="color: #003399;">JFrame</span>.<span style="color: #006633;">EXIT_ON_CLOSE</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		setResizable<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #003399;">JLabel</span> user,pass<span style="color: #339933;">;</span>
		<span style="color: #003399;">JLabel</span> banner <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">JLabel</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">ImageIcon</span><span style="color: #009900;">&#40;</span>getClass<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">getResource</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;/banner.png&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		banner.<span style="color: #006633;">setBounds</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">324</span>, <span style="color: #cc66cc;">47</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		add<span style="color: #009900;">&#40;</span>banner<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		user <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">JLabel</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;账　　号：&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		pass <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">JLabel</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;密　　码：&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		user.<span style="color: #006633;">setBounds</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">15</span>,  <span style="color: #cc66cc;">60</span>, <span style="color: #cc66cc;">140</span>, <span style="color: #cc66cc;">30</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		pass.<span style="color: #006633;">setBounds</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">15</span>, <span style="color: #cc66cc;">110</span>, <span style="color: #cc66cc;">140</span>, <span style="color: #cc66cc;">30</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		用户 <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">JTextField</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		密码 <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">JPasswordField</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		密码.<span style="color: #006633;">setEchoChar</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'●'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		用户.<span style="color: #006633;">setBounds</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">90</span>,  <span style="color: #cc66cc;">60</span>, <span style="color: #cc66cc;">220</span>, <span style="color: #cc66cc;">30</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		密码.<span style="color: #006633;">setBounds</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">90</span>, <span style="color: #cc66cc;">110</span>, <span style="color: #cc66cc;">220</span>, <span style="color: #cc66cc;">30</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		add<span style="color: #009900;">&#40;</span>user<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		add<span style="color: #009900;">&#40;</span>pass<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		add<span style="color: #009900;">&#40;</span>用户<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		add<span style="color: #009900;">&#40;</span>密码<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		登录 <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">JButton</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;登录&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		注册 <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">JButton</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;注册&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		找回 <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">JButton</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;找回密码&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		登录.<span style="color: #006633;">setBounds</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">210</span>, <span style="color: #cc66cc;">155</span>, <span style="color: #cc66cc;">100</span>, <span style="color: #cc66cc;">30</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		注册.<span style="color: #006633;">setBounds</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">110</span>, <span style="color: #cc66cc;">155</span>, <span style="color: #cc66cc;">100</span>, <span style="color: #cc66cc;">30</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		找回.<span style="color: #006633;">setBounds</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">10</span>, <span style="color: #cc66cc;">155</span>, <span style="color: #cc66cc;">100</span>, <span style="color: #cc66cc;">30</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		add<span style="color: #009900;">&#40;</span>注册<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		add<span style="color: #009900;">&#40;</span>登录<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		add<span style="color: #009900;">&#40;</span>找回<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		登录.<span style="color: #006633;">addActionListener</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		注册.<span style="color: #006633;">addActionListener</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		找回.<span style="color: #006633;">addActionListener</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		setSize<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">324</span>,<span style="color: #cc66cc;">220</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		setLocationRelativeTo<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		setVisible<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> actionPerformed<span style="color: #009900;">&#40;</span><span style="color: #003399;">ActionEvent</span> e<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>e.<span style="color: #006633;">getSource</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">==</span>注册<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
			setVisible<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #000000; font-weight: bold;">new</span> 注册<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span><span style="color: #000000; font-weight: bold;">else</span> <span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>e.<span style="color: #006633;">getSource</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">==</span>找回<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
			setVisible<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #000000; font-weight: bold;">new</span> 找回密码<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span><span style="color: #000000; font-weight: bold;">else</span> <span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>e.<span style="color: #006633;">getSource</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">==</span>登录<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
			setVisible<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #000000; font-weight: bold;">new</span> 主界面<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p><a href="http://www.shuax.com/wp-content/uploads/2010/04/2.png" class="lightbox"><img src="http://www.shuax.com/wp-content/uploads/2010/04/2.png" alt="注册界面" title="2" width="464" height="294" class="aligncenter size-full wp-image-1530" /></a><br />
注册界面</p>

<div class="wp_codebox"><table><tr id="p152839"><td class="code" id="p1528code39"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.awt.event.*</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javax.swing.*</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> 注册 <span style="color: #000000; font-weight: bold;">extends</span> <span style="color: #003399;">JFrame</span> <span style="color: #000000; font-weight: bold;">implements</span> <span style="color: #003399;">ActionListener</span><span style="color: #009900;">&#123;</span>
	<span style="color: #008000; font-style: italic; font-weight: bold;">/**
	 * 
	 */</span>
	<span style="color: #000000; font-weight: bold;">private</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000000; font-weight: bold;">final</span> <span style="color: #000066; font-weight: bold;">long</span> serialVersionUID <span style="color: #339933;">=</span> 1L<span style="color: #339933;">;</span>
	<span style="color: #003399;">JTextField</span> 账号,昵称,邮箱<span style="color: #339933;">;</span>
	<span style="color: #003399;">JPasswordField</span> 密码<span style="color: #cc66cc;">1</span>,密码<span style="color: #cc66cc;">2</span><span style="color: #339933;">;</span>
	<span style="color: #003399;">JButton</span> 注册,返回<span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">public</span> 注册<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">super</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;QQ2010&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		setLayout<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		setDefaultCloseOperation<span style="color: #009900;">&#40;</span><span style="color: #003399;">JFrame</span>.<span style="color: #006633;">EXIT_ON_CLOSE</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		setResizable<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #000066; font-weight: bold;">int</span> 宽度  <span style="color: #339933;">=</span> <span style="color: #cc66cc;">220</span><span style="color: #339933;">;</span>
		<span style="color: #000066; font-weight: bold;">int</span> 高度 <span style="color: #339933;">=</span> <span style="color: #cc66cc;">30</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #003399;">String</span> label1<span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span><span style="color: #009900;">&#123;</span><span style="color: #0000ff;">&quot;注册提示：请仔细填写每项数据！&quot;</span>,<span style="color: #0000ff;">&quot;账　　号：&quot;</span>,<span style="color: #0000ff;">&quot;昵　　称：&quot;</span>,<span style="color: #0000ff;">&quot;邮　　箱：&quot;</span>,<span style="color: #0000ff;">&quot;密　　码：&quot;</span>,<span style="color: #0000ff;">&quot;重复密码：&quot;</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
		<span style="color: #003399;">JLabel</span> 标签<span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">JLabel</span><span style="color: #009900;">&#91;</span>label1.<span style="color: #006633;">length</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
		<span style="color: #000000; font-weight: bold;">for</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">int</span> i<span style="color: #339933;">=</span><span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>i<span style="color: #339933;">&lt;</span>label1.<span style="color: #006633;">length</span><span style="color: #339933;">;</span>i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
			标签<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">JLabel</span><span style="color: #009900;">&#40;</span>label1<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			标签<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>.<span style="color: #006633;">setBounds</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">10</span>, <span style="color: #cc66cc;">5</span><span style="color: #339933;">+</span>i<span style="color: #339933;">*</span><span style="color: #cc66cc;">30</span>, 宽度, 高度<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			add<span style="color: #009900;">&#40;</span>标签<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
		<span style="color: #003399;">String</span> label2<span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span><span style="color: #009900;">&#123;</span><span style="color: #0000ff;">&quot;账号必须唯一&quot;</span>,<span style="color: #0000ff;">&quot;可任意填写&quot;</span>,<span style="color: #0000ff;">&quot;找回密码的凭据&quot;</span>,<span style="color: #0000ff;">&quot;请保证密码强度&quot;</span>,<span style="color: #0000ff;">&quot;确认密码&quot;</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
		<span style="color: #003399;">JLabel</span> 提示<span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">JLabel</span><span style="color: #009900;">&#91;</span>label2.<span style="color: #006633;">length</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
		<span style="color: #000000; font-weight: bold;">for</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">int</span> i<span style="color: #339933;">=</span><span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>i<span style="color: #339933;">&lt;</span>label2.<span style="color: #006633;">length</span><span style="color: #339933;">;</span>i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
			提示<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">JLabel</span><span style="color: #009900;">&#40;</span>label2<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			提示<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>.<span style="color: #006633;">setBounds</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">315</span>, <span style="color: #cc66cc;">35</span><span style="color: #339933;">+</span>i<span style="color: #339933;">*</span><span style="color: #cc66cc;">30</span>, 宽度, 高度<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			add<span style="color: #009900;">&#40;</span>提示<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
&nbsp;
		账号  <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">JTextField</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		昵称  <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">JTextField</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		邮箱  <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">JTextField</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		账号.<span style="color: #006633;">setBounds</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">90</span>, <span style="color: #cc66cc;">35</span>, 宽度, 高度<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		昵称.<span style="color: #006633;">setBounds</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">90</span>, <span style="color: #cc66cc;">65</span>, 宽度, 高度<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		邮箱.<span style="color: #006633;">setBounds</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">90</span>, <span style="color: #cc66cc;">95</span>, 宽度, 高度<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		密码<span style="color: #cc66cc;">1</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">JPasswordField</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		密码<span style="color: #cc66cc;">2</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">JPasswordField</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		密码<span style="color: #cc66cc;">1</span>.<span style="color: #006633;">setEchoChar</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'●'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		密码<span style="color: #cc66cc;">2</span>.<span style="color: #006633;">setEchoChar</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'●'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		密码<span style="color: #cc66cc;">1</span>.<span style="color: #006633;">setBounds</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">90</span>, <span style="color: #cc66cc;">125</span>, 宽度, 高度<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		密码<span style="color: #cc66cc;">2</span>.<span style="color: #006633;">setBounds</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">90</span>, <span style="color: #cc66cc;">155</span>, 宽度, 高度<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		add<span style="color: #009900;">&#40;</span>账号<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		add<span style="color: #009900;">&#40;</span>昵称<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		add<span style="color: #009900;">&#40;</span>邮箱<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		add<span style="color: #009900;">&#40;</span>密码<span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		add<span style="color: #009900;">&#40;</span>密码<span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		注册 <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">JButton</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;注册&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		返回 <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">JButton</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;返回&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		注册.<span style="color: #006633;">setBounds</span><span style="color: #009900;">&#40;</span> <span style="color: #cc66cc;">90</span>, <span style="color: #cc66cc;">192</span>, <span style="color: #cc66cc;">100</span>, <span style="color: #cc66cc;">30</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		返回.<span style="color: #006633;">setBounds</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">210</span>, <span style="color: #cc66cc;">192</span>, <span style="color: #cc66cc;">100</span>, <span style="color: #cc66cc;">30</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		add<span style="color: #009900;">&#40;</span>注册<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		add<span style="color: #009900;">&#40;</span>返回<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		注册.<span style="color: #006633;">addActionListener</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		返回.<span style="color: #006633;">addActionListener</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		setSize<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">420</span>,<span style="color: #cc66cc;">255</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		setVisible<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		setLocationRelativeTo<span style="color: #009900;">&#40;</span> <span style="color: #000066; font-weight: bold;">null</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> actionPerformed<span style="color: #009900;">&#40;</span><span style="color: #003399;">ActionEvent</span> e<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>e.<span style="color: #006633;">getSource</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">==</span>返回<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
			setVisible<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #000000; font-weight: bold;">new</span> 启动<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span><span style="color: #000000; font-weight: bold;">else</span> <span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>e.<span style="color: #006633;">getSource</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">==</span>注册<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
&nbsp;
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p><a href="http://www.shuax.com/wp-content/uploads/2010/04/3.png" class="lightbox"><img src="http://www.shuax.com/wp-content/uploads/2010/04/3.png" alt="载入界面" title="3" width="287" height="672" class="aligncenter size-full wp-image-1531" /></a><br />
<a href="http://www.shuax.com/wp-content/uploads/2010/04/4.png" class="lightbox"><img src="http://www.shuax.com/wp-content/uploads/2010/04/4.png" alt="工作界面" title="4" width="377" height="666" class="aligncenter size-full wp-image-1532" /></a></p>
<p>主界面</p>

<div class="wp_codebox"><table><tr id="p152840"><td class="code" id="p1528code40"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.awt.*</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.awt.event.*</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javax.swing.*</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javax.swing.tree.*</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> 主界面 <span style="color: #000000; font-weight: bold;">extends</span> <span style="color: #003399;">JFrame</span> <span style="color: #000000; font-weight: bold;">implements</span> <span style="color: #003399;">ActionListener</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #008000; font-style: italic; font-weight: bold;">/**
	 * 
	 */</span>
	<span style="color: #000000; font-weight: bold;">private</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000000; font-weight: bold;">final</span> <span style="color: #000066; font-weight: bold;">long</span> serialVersionUID <span style="color: #339933;">=</span> 1L<span style="color: #339933;">;</span>
    <span style="color: #000000; font-weight: bold;">private</span> <span style="color: #003399;">Rectangle</span> rect<span style="color: #339933;">;</span>
    <span style="color: #000000; font-weight: bold;">private</span> <span style="color: #003399;">Point</span> point<span style="color: #339933;">;</span>
    <span style="color: #000000; font-weight: bold;">private</span> <span style="color: #003399;">Timer</span> timer <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">Timer</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">10</span>, <span style="color: #000000; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;;</span>
&nbsp;
    <span style="color: #003399;">JPanel</span> main,login<span style="color: #339933;">;</span>
    <span style="color: #003399;">JProgressBar</span> 进度条<span style="color: #339933;">;</span>
    <span style="color: #003399;">JFrame</span> fr<span style="color: #339933;">;</span>
    <span style="color: #003399;">JButton</span> 关于,添加<span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">public</span> 主界面<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">super</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;QQ2010&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		setDefaultCloseOperation<span style="color: #009900;">&#40;</span><span style="color: #003399;">JFrame</span>.<span style="color: #006633;">EXIT_ON_CLOSE</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		setResizable<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		setSize<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">250</span>,<span style="color: #cc66cc;">630</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		fr <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">this</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #666666; font-style: italic;">//登录界面</span>
		login <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">JPanel</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		login.<span style="color: #006633;">setLayout</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #003399;">GraphicsEnvironment</span> graphicsEnvironment <span style="color: #339933;">=</span> <span style="color: #003399;">GraphicsEnvironment</span>.<span style="color: #006633;">getLocalGraphicsEnvironment</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #003399;">GraphicsDevice</span> graphicsDevice <span style="color: #339933;">=</span> graphicsEnvironment.<span style="color: #006633;">getDefaultScreenDevice</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		DisplayMode displayMode <span style="color: #339933;">=</span> graphicsDevice.<span style="color: #006633;">getDisplayMode</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		setLocation<span style="color: #009900;">&#40;</span>displayMode.<span style="color: #006633;">getWidth</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">-</span><span style="color: #cc66cc;">50</span><span style="color: #339933;">-</span><span style="color: #cc66cc;">250</span>,<span style="color: #cc66cc;">50</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #666666; font-style: italic;">//JLabel 图片 = new JLabel(new ImageIcon(&quot;logo.png&quot;));</span>
		<span style="color: #003399;">JLabel</span> 图片 <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">JLabel</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">ImageIcon</span><span style="color: #009900;">&#40;</span>getClass<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">getResource</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;/logo.png&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #003399;">JLabel</span> 登录 <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">JLabel</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;正在登录...&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		进度条 <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">JProgressBar</span><span style="color: #009900;">&#40;</span><span style="color: #003399;">JProgressBar</span>.<span style="color: #006633;">HORIZONTAL</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		进度条.<span style="color: #006633;">setValue</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">20</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		图片.<span style="color: #006633;">setBounds</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">68</span>, <span style="color: #cc66cc;">165</span>, <span style="color: #cc66cc;">100</span>, <span style="color: #cc66cc;">100</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		登录.<span style="color: #006633;">setBounds</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">90</span>, <span style="color: #cc66cc;">230</span>, <span style="color: #cc66cc;">100</span>, <span style="color: #cc66cc;">100</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		进度条.<span style="color: #006633;">setBounds</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">40</span>, <span style="color: #cc66cc;">290</span>, <span style="color: #cc66cc;">160</span>, <span style="color: #cc66cc;">20</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		login.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span>图片,<span style="color: #003399;">BorderLayout</span>.<span style="color: #006633;">NORTH</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		login.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span>登录,<span style="color: #003399;">BorderLayout</span>.<span style="color: #006633;">CENTER</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		login.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span>进度条,<span style="color: #003399;">BorderLayout</span>.<span style="color: #006633;">SOUTH</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		add<span style="color: #009900;">&#40;</span>login<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
&nbsp;
		<span style="color: #666666; font-style: italic;">//主界面</span>
		main <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">JPanel</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		main.<span style="color: #006633;">setLayout</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #003399;">JPanel</span> 个人面板 <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">JPanel</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		个人面板.<span style="color: #006633;">setLayout</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">BorderLayout</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">5</span>,<span style="color: #cc66cc;">5</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #003399;">JLabel</span> 头像 <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">JLabel</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">ImageIcon</span><span style="color: #009900;">&#40;</span>getClass<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">getResource</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;/qq.png&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #003399;">JLabel</span> 名字 <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">JLabel</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;&lt;html&gt;QQ:369339353 [在线]&lt;br&gt;耍下 www.shuax.com&lt;br&gt;版本:0.0.1 beta&lt;/html&gt;&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		个人面板.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span>头像,<span style="color: #003399;">BorderLayout</span>.<span style="color: #006633;">WEST</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		个人面板.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span>名字,<span style="color: #003399;">BorderLayout</span>.<span style="color: #006633;">CENTER</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		个人面板.<span style="color: #006633;">setBounds</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">250</span>, <span style="color: #cc66cc;">60</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		main.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span>个人面板<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #003399;">DefaultMutableTreeNode</span> root<span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">DefaultMutableTreeNode</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #003399;">DefaultMutableTreeNode</span> parent<span style="color: #339933;">;</span>
&nbsp;
		parent <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">DefaultMutableTreeNode</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;我的好友&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		root.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span>parent<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000000; font-weight: bold;">for</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">int</span> i<span style="color: #339933;">=</span><span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>i<span style="color: #339933;">&lt;</span><span style="color: #cc66cc;">50</span><span style="color: #339933;">;</span>i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
			parent.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">DefaultMutableTreeNode</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Cn_Harmony. &quot;</span><span style="color: #339933;">+</span>i<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
&nbsp;
		parent.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">DefaultMutableTreeNode</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;...&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		parent.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">DefaultMutableTreeNode</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;止殇♂&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		parent.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">DefaultMutableTreeNode</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;街头，想着伱&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		parent.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">DefaultMutableTreeNode</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;埃及艳后&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
&nbsp;
		parent <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">DefaultMutableTreeNode</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;陌生人&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		root.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span>parent<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		parent.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">DefaultMutableTreeNode</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;那片天&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		parent.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">DefaultMutableTreeNode</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;^Q^&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #003399;">JTree</span> 好友<span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">JTree</span><span style="color: #009900;">&#40;</span>root<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		好友.<span style="color: #006633;">addMouseListener</span><span style="color: #009900;">&#40;</span>
			<span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">MouseAdapter</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
				<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> mousePressed<span style="color: #009900;">&#40;</span><span style="color: #003399;">MouseEvent</span> e<span style="color: #009900;">&#41;</span>
				<span style="color: #009900;">&#123;</span>
					<span style="color: #000000; font-weight: bold;">try</span> <span style="color: #009900;">&#123;</span>
						<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>e.<span style="color: #006633;">getClickCount</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">==</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
							<span style="color: #003399;">DefaultMutableTreeNode</span> node <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #003399;">DefaultMutableTreeNode</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #003399;">JTree</span><span style="color: #009900;">&#41;</span> e.<span style="color: #006633;">getSource</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">getPathForLocation</span><span style="color: #009900;">&#40;</span>e.<span style="color: #006633;">getX</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>, e.<span style="color: #006633;">getY</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">getLastPathComponent</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
							<span style="color: #003399;">Object</span> userInfo <span style="color: #339933;">=</span> node.<span style="color: #006633;">getUserObject</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>	
							 <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>node.<span style="color: #006633;">isLeaf</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
							      <span style="color: #003399;">JOptionPane</span>.<span style="color: #006633;">showMessageDialog</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">null</span>, <span style="color: #0000ff;">&quot;你选择了好友：&quot;</span><span style="color: #339933;">+</span>userInfo.<span style="color: #006633;">toString</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
							    <span style="color: #666666; font-style: italic;">//new 聊天窗口();</span>
							 <span style="color: #009900;">&#125;</span>
						<span style="color: #009900;">&#125;</span>
					<span style="color: #009900;">&#125;</span><span style="color: #000000; font-weight: bold;">catch</span><span style="color: #009900;">&#40;</span><span style="color: #003399;">Exception</span> e1<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><span style="color: #009900;">&#125;</span>
				<span style="color: #009900;">&#125;</span>
			<span style="color: #009900;">&#125;</span>
		<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		好友.<span style="color: #006633;">setRootVisible</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #003399;">JScrollPane</span> 滚动 <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">JScrollPane</span><span style="color: #009900;">&#40;</span>好友<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		滚动.<span style="color: #006633;">setBounds</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">60</span>, <span style="color: #cc66cc;">250</span>, <span style="color: #cc66cc;">500</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		main.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span>滚动<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #003399;">JPanel</span> info <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">JPanel</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		info.<span style="color: #006633;">setLayout</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		关于  <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">JButton</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;关于&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		添加  <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">JButton</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;添加好友&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		关于.<span style="color: #006633;">setBounds</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">15</span>, <span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">100</span>, <span style="color: #cc66cc;">30</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		添加.<span style="color: #006633;">setBounds</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">135</span>, <span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">100</span>, <span style="color: #cc66cc;">30</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		info.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span>关于<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		info.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span>添加<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		关于.<span style="color: #006633;">addActionListener</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		添加.<span style="color: #006633;">addActionListener</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		info.<span style="color: #006633;">setBounds</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">565</span>, <span style="color: #cc66cc;">250</span>, <span style="color: #cc66cc;">60</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		main.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span>info<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		滚动<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">start</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        timer.<span style="color: #006633;">start</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        setVisible<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #003399;">Thread</span> 滚动<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
        <span style="color: #000000; font-weight: bold;">return</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">Thread</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
        <span style="color: #009900;">&#123;</span>
			<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> run<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
				<span style="color: #000066; font-weight: bold;">int</span> i <span style="color: #339933;">=</span> 进度条.<span style="color: #006633;">getValue</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #000066; font-weight: bold;">int</span> j <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
				<span style="color: #000000; font-weight: bold;">while</span><span style="color: #009900;">&#40;</span>j<span style="color: #339933;">&lt;</span><span style="color: #cc66cc;">90</span><span style="color: #009900;">&#41;</span>
				<span style="color: #009900;">&#123;</span>
					进度条.<span style="color: #006633;">setValue</span><span style="color: #009900;">&#40;</span>i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
					<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>i<span style="color: #339933;">&gt;=</span><span style="color: #cc66cc;">100</span><span style="color: #009900;">&#41;</span> i<span style="color: #339933;">=</span><span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
					<span style="color: #000000; font-weight: bold;">try</span> <span style="color: #009900;">&#123;</span>
						<span style="color: #003399;">Thread</span>.<span style="color: #006633;">sleep</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">5</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
					<span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">catch</span> <span style="color: #009900;">&#40;</span><span style="color: #003399;">Exception</span> e<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><span style="color: #009900;">&#125;</span>
					j<span style="color: #339933;">++;</span>
				<span style="color: #009900;">&#125;</span>
				login.<span style="color: #006633;">setVisible</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				fr.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span>main<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span>
        <span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">boolean</span> isPtInRect<span style="color: #009900;">&#40;</span><span style="color: #003399;">Rectangle</span> rect, <span style="color: #003399;">Point</span> point<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>rect <span style="color: #339933;">!=</span> <span style="color: #000066; font-weight: bold;">null</span> <span style="color: #339933;">&amp;&amp;</span> point <span style="color: #339933;">!=</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            <span style="color: #000066; font-weight: bold;">int</span> x0 <span style="color: #339933;">=</span> rect.<span style="color: #006633;">x</span><span style="color: #339933;">;</span>
            <span style="color: #000066; font-weight: bold;">int</span> y0 <span style="color: #339933;">=</span> rect.<span style="color: #006633;">y</span><span style="color: #339933;">;</span>
            <span style="color: #000066; font-weight: bold;">int</span> x1 <span style="color: #339933;">=</span> rect.<span style="color: #006633;">width</span><span style="color: #339933;">;</span>
            <span style="color: #000066; font-weight: bold;">int</span> y1 <span style="color: #339933;">=</span> rect.<span style="color: #006633;">height</span><span style="color: #339933;">;</span>
            <span style="color: #000066; font-weight: bold;">int</span> x <span style="color: #339933;">=</span> point.<span style="color: #006633;">x</span><span style="color: #339933;">;</span>
            <span style="color: #000066; font-weight: bold;">int</span> y <span style="color: #339933;">=</span> point.<span style="color: #006633;">y</span><span style="color: #339933;">;</span>
&nbsp;
            <span style="color: #000000; font-weight: bold;">return</span> x <span style="color: #339933;">&gt;=</span> x0 <span style="color: #339933;">&amp;&amp;</span> x <span style="color: #339933;">&lt;</span> x1 <span style="color: #339933;">&amp;&amp;</span> y <span style="color: #339933;">&gt;=</span> y0 <span style="color: #339933;">&amp;&amp;</span> y <span style="color: #339933;">&lt;</span> y1<span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
        <span style="color: #000000; font-weight: bold;">return</span> <span style="color: #000066; font-weight: bold;">false</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> actionPerformed<span style="color: #009900;">&#40;</span><span style="color: #003399;">ActionEvent</span> e<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		rect <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">Rectangle</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">0</span>, getWidth<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>, getHeight<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        point <span style="color: #339933;">=</span> getMousePosition<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>getLocationOnScreen<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">y</span> <span style="color: #339933;">&lt;</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> isPtInRect<span style="color: #009900;">&#40;</span>rect, point<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            setLocation<span style="color: #009900;">&#40;</span>getLocationOnScreen<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">x</span>, <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">else</span> <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>getLocationOnScreen<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">y</span> <span style="color: #339933;">&gt;</span> <span style="color: #339933;">-</span><span style="color: #cc66cc;">2</span> <span style="color: #339933;">&amp;&amp;</span> getLocationOnScreen<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">y</span> <span style="color: #339933;">&lt;</span> <span style="color: #cc66cc;">2</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #339933;">!</span><span style="color: #009900;">&#40;</span>isPtInRect<span style="color: #009900;">&#40;</span>rect, point<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            setLocation<span style="color: #009900;">&#40;</span>getLocationOnScreen<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">x</span>, <span style="color: #cc66cc;">2</span> <span style="color: #339933;">-</span> getHeight<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
        <span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>e.<span style="color: #006633;">getSource</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">==</span>关于<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
        	 <span style="color: #003399;">JOptionPane</span>.<span style="color: #006633;">showMessageDialog</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">null</span>, <span style="color: #0000ff;">&quot;程序开发：舒俊杰<span style="color: #000099; font-weight: bold;">\n</span>二〇一〇年四月二十一日&quot;</span>,<span style="color: #0000ff;">&quot;关于&quot;</span>,<span style="color: #003399;">JOptionPane</span>.<span style="color: #006633;">INFORMATION_MESSAGE</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span><span style="color: #000000; font-weight: bold;">else</span> <span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>e.<span style="color: #006633;">getSource</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">==</span>添加<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>完整可执行程序下载，包含皮肤文件，皮肤文件可是我自己改过的哦，要不然不支持中文的，是乱码。<br />
<div class='download-link'>
							<a href='http://www.shuax.com/download.php?file=http://www.shuax.com/wp-content/uploads/2010/04/ICQ_GUI.rar'><img alt='Download' class='leftalign' src='http://www.shuax.com/wp-content/plugins/dBeautifier/icons/downloads.png' /></a>
							<h4>
								<a href='http://www.shuax.com/download.php?file=http://www.shuax.com/wp-content/uploads/2010/04/ICQ_GUI.rar'>完整程序(含皮肤)</a>
							</h4><p>文件大小：576.4 KB&#12288;文件名称：ICQ_GUI.rar</p>
						</div></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1528</wfw:commentRss>
		<slash:comments>32</slash:comments>
		</item>
		<item>
		<title>[游戏]Go-Getter</title>
		<link>http://www.shuax.com/?p=1525</link>
		<comments>http://www.shuax.com/?p=1525#comments</comments>
		<pubDate>Sat, 17 Apr 2010 12:29:47 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[我的生活]]></category>
		<category><![CDATA[游戏]]></category>
		<category><![CDATA[编程]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1525</guid>
		<description><![CDATA[嗯，看来大家都不喜欢玩这种游戏。 那来弄最后一个吧。真的好玩啦，强烈推荐。 转载自：http://link.myclover.org/Hack/linux/go-getter/index.html 提示：metaprogramming，Linux，Shell Script，Python，过关Key一共16个字符 某天HCocoa同学得到了一份神秘礼物，那位神秘的送礼人告诉他当他遇到一个真正让他心动的女孩时就打开来看，定能助他一臂之力。HCocoa同学心想这不是扯淡么，现在谁还信这种东西啊，里面难道是什么如来神掌之类的绝世武功？HCocoa同学就这样把礼物的事情丢在了一边，依旧每天坚持到图书馆看MM。本来每天看看也没什么的，砖家已经证明了YY也是有益身心健康的，可今天怎么都不能像从前那样蛋定了，为什么呢？因为一位女生闯入了他的生活。他再也不是从前那个每天到图书馆看MM的宅男了，他想，自己需要一点改变。 这时HCocoa同学猛然想起了那份神秘礼物：GoGetter.zip，打开来一看，立马大呼上当，什么狗屁秘籍啊，还不如去百度一下“怎样追女孩”。作为HCocoa好朋友的你怎能袖手旁观？赶快帮他解开礼物中的奥秘吧。]]></description>
			<content:encoded><![CDATA[<p>嗯，看来大家都不喜欢玩这种游戏。<br />
那来弄最后一个吧。真的好玩啦，强烈推荐。<br />
转载自：http://link.myclover.org/Hack/linux/go-getter/index.html<br />
提示：metaprogramming，Linux，Shell Script，Python，过关Key一共16个字符<br />
<span id="more-1525"></span><br />
某天HCocoa同学得到了一份神秘礼物，那位神秘的送礼人告诉他当他遇到一个真正让他心动的女孩时就打开来看，定能助他一臂之力。HCocoa同学心想这不是扯淡么，现在谁还信这种东西啊，里面难道是什么如来神掌之类的绝世武功？HCocoa同学就这样把礼物的事情丢在了一边，依旧每天坚持到图书馆看MM。本来每天看看也没什么的，砖家已经证明了YY也是有益身心健康的，可今天怎么都不能像从前那样蛋定了，为什么呢？因为一位女生闯入了他的生活。他再也不是从前那个每天到图书馆看MM的宅男了，他想，自己需要一点改变。</p>
<p>这时HCocoa同学猛然想起了那份神秘礼物：<a href='http://www.shuax.com/wp-content/uploads/2010/04/GoGetter.zip'>GoGetter.zip</a>，打开来一看，立马大呼上当，什么狗屁秘籍啊，还不如去百度一下“怎样追女孩”。作为HCocoa好朋友的你怎能袖手旁观？赶快帮他解开礼物中的奥秘吧。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1525</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>漂亮的软件Rainmeter</title>
		<link>http://www.shuax.com/?p=1523</link>
		<comments>http://www.shuax.com/?p=1523#comments</comments>
		<pubDate>Wed, 14 Apr 2010 03:37:57 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[实用软件]]></category>
		<category><![CDATA[实用]]></category>
		<category><![CDATA[美化]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1523</guid>
		<description><![CDATA[Rainmeter原本是一个系统状态监视软件，但现在它的功能已经得到了极大的扩展，rss feeder、邮件监视器等常用功能都能够实现，而低资源占用和简易的设计方式为它赢得了大批拥趸。Rainmeter的皮肤大都走抽象、简洁的设计路线，非常适合作为一款桌面美化软件。 大家可以看看我的桌面，怎么样？还是漂亮吧。 为了加快首页显示速度，麻烦大家点查看全文查看图片哈。 下载地址(115网盘) 皮肤文件：Razor_by_minhtrimatrix.zip 程序文件：Rainmeter-1.1-32bit.zip]]></description>
			<content:encoded><![CDATA[<p>Rainmeter原本是一个系统状态监视软件，但现在它的功能已经得到了极大的扩展，rss feeder、邮件监视器等常用功能都能够实现，而低资源占用和简易的设计方式为它赢得了大批拥趸。Rainmeter的皮肤大都走抽象、简洁的设计路线，非常适合作为一款桌面美化软件。<br />
大家可以看看我的桌面，怎么样？还是漂亮吧。</p>
<p>为了加快首页显示速度，麻烦大家点查看全文查看图片哈。</p>
<p><span id="more-1523"></span></p>
<p style="text-align: center;"><a class="lightbox" href="http://www.shuax.com/wp-content/uploads/2010/04/shuax.jpg"><img class="aligncenter size-full wp-image-1524" title="shuax" src="http://www.shuax.com/wp-content/uploads/2010/04/shuax.jpg" alt="" width="820" height="461" /></a></p>
<p><!--more--><br />
下载地址(115网盘)<br />
皮肤文件：<a href="http://u.115.com/file/f019ff3807">Razor_by_minhtrimatrix.zip</a><br />
程序文件：<a href="http://u.115.com/file/f0c915879f">Rainmeter-1.1-32bit.zip</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1523</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>[游戏]validate code</title>
		<link>http://www.shuax.com/?p=1521</link>
		<comments>http://www.shuax.com/?p=1521#comments</comments>
		<pubDate>Tue, 13 Apr 2010 10:22:05 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[我的生活]]></category>
		<category><![CDATA[游戏]]></category>
		<category><![CDATA[编程]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1521</guid>
		<description><![CDATA[今有一压缩包，其内图片不知几许。 请君算出所有图片上的数与其文件名之乘积，所有乘积的和为答案。 例： 文件名为1.bmp，图片上的数为：1234，文件名为5.bmp，图片上的数为：5678 …… 文件名为233.bmp，图片上的数为：2345 答案为：1234 x 1 + ^+ 5678 x 5 + &#8230; + 2345 x 233 + …… = ? 解题步骤友情提示： 1、下载压缩包。 2、求出乘积的和。 3、提交答案。（直接评论吧） 下载BMP文件]]></description>
			<content:encoded><![CDATA[<p>今有一压缩包，其内图片不知几许。<br />
请君算出所有图片上的数与其文件名之乘积，所有乘积的和为答案。<br />
例：<br />
文件名为1.bmp，图片上的数为：1234，文件名为5.bmp，图片上的数为：5678<br />
……<br />
文件名为233.bmp，图片上的数为：2345<br />
答案为：1234  x 1 + ^+ 5678 x 5 + &#8230; + 2345 x 233 + …… = ?<br />
<span id="more-1521"></span><br />
解题步骤友情提示：<br />
1、下载压缩包。<br />
2、求出乘积的和。<br />
3、提交答案。（直接评论吧）</p>
<p><a href="http://u.115.com/file/f03b330117">下载BMP文件</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1521</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>[游戏]Get The Sum</title>
		<link>http://www.shuax.com/?p=1519</link>
		<comments>http://www.shuax.com/?p=1519#comments</comments>
		<pubDate>Sun, 11 Apr 2010 00:15:36 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[汉化软件]]></category>
		<category><![CDATA[游戏]]></category>
		<category><![CDATA[破解]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1519</guid>
		<description><![CDATA[从前有座山，山上有座庙，庙里有个老和尚，老和尚旁边有个小和尚，老和尚对小和尚说：从前有座山，山上有座庙，庙里有个老和尚，老和尚旁边有个小和尚，老和尚对小和尚说：从前有座山，山上有座庙，庙里有个老和尚，老和尚旁边有个小和尚，老和尚对小和尚说：从前有座山，山上有座庙，庙里有个老和尚，老和尚旁边有个小和尚，老和尚对小和尚说：从前有座山，山上有座庙，庙里有个老和尚，老和尚旁边有个小和尚，老和尚对小和尚说………… GNU Is Not Unix Key Words: Script, philosophy 下载文件：gnu.tar.bz2]]></description>
			<content:encoded><![CDATA[<p>从前有座山，山上有座庙，庙里有个老和尚，老和尚旁边有个小和尚，老和尚对小和尚说：从前有座山，山上有座庙，庙里有个老和尚，老和尚旁边有个小和尚，老和尚对小和尚说：从前有座山，山上有座庙，庙里有个老和尚，老和尚旁边有个小和尚，老和尚对小和尚说：从前有座山，山上有座庙，庙里有个老和尚，老和尚旁边有个小和尚，老和尚对小和尚说：从前有座山，山上有座庙，庙里有个老和尚，老和尚旁边有个小和尚，老和尚对小和尚说…………<br />
<span id="more-1519"></span><br />
GNU Is Not Unix</p>
<p>Key Words: Script, philosophy</p>
<p><a href="http://u.115.com/file/f0e2d1d766">下载文件：gnu.tar.bz2</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1519</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>汉字视力表</title>
		<link>http://www.shuax.com/?p=1514</link>
		<comments>http://www.shuax.com/?p=1514#comments</comments>
		<pubDate>Thu, 08 Apr 2010 09:46:54 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[我的生活]]></category>
		<category><![CDATA[搞笑]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1514</guid>
		<description><![CDATA[嘿嘿，没想到吧，原来汉字还可以这么玩。 很好很强大。 本文转载：http://www.matrix67.com/blog/archives/2907 原文有更多的东西哦。 我也很喜欢他的博客。]]></description>
			<content:encoded><![CDATA[<p>嘿嘿，没想到吧，原来汉字还可以这么玩。</p>
<p>很好很强大。<br />
本文转载：http://www.matrix67.com/blog/archives/2907<br />
原文有更多的东西哦。<br />
我也很喜欢他的博客。</p>
<p><span id="more-1514"></span><a href="http://www.shuax.com/wp-content/uploads/2010/04/sl.png" class="lightbox"><img class="aligncenter size-full wp-image-1515" title="sl" src="http://www.shuax.com/wp-content/uploads/2010/04/sl.png" alt="" width="500" height="1200" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1514</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>[原创]迅雷增强工具 v1.1</title>
		<link>http://www.shuax.com/?p=1512</link>
		<comments>http://www.shuax.com/?p=1512#comments</comments>
		<pubDate>Wed, 07 Apr 2010 02:06:34 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[原创软件]]></category>
		<category><![CDATA[原创]]></category>
		<category><![CDATA[破解]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1512</guid>
		<description><![CDATA[运行环境：xp/vista/win7 更新时间：2010年4月7日 支持迅雷至：5.9.18.1364 (2010.04.06更新） 本程序采用aero界面，简单界面，一目了然。 同时可兼容xp，欢迎大家试用。 程序功能： 一键增强　　　破解会员，去除大部分广告。专用链支持，使迅雷可以下载快车和旋风的资源。 取消增强　　　如果你的版本不正确导致迅雷出错，你可以选择此项恢复。 迅雷增强工具 v1.1 文件大小：86.4 KB&#12288;文件名称：ThunderEnhanceTool.rar]]></description>
			<content:encoded><![CDATA[<p><strong>运行环境：xp/vista/win7</strong><br />
<strong>更新时间：2010年4月7日</strong><br />
支持迅雷至：5.9.18.1364 (2010.04.06更新）<br />
本程序采用aero界面，简单界面，一目了然。<br />
同时可兼容xp，欢迎大家试用。</p>
<p><strong>程序功能：</strong></p>
<p>一键增强　　　破解会员，去除大部分广告。专用链支持，使迅雷可以下载快车和旋风的资源。<br />
取消增强　　　如果你的版本不正确导致迅雷出错，你可以选择此项恢复。</p>
<p><span id="more-1512"></span><a href="http://www.shuax.com/wp-content/uploads/2010/04/xunlei.jpg" class="lightbox"><img class="aligncenter size-full wp-image-1513" title="xunlei" src="http://www.shuax.com/wp-content/uploads/2010/04/xunlei.jpg" alt="" width="571" height="261" /></a></p>
<p><div class='download-link'>
							<a href='http://www.shuax.com/download.php?file=http://www.shuax.com/download/ThunderEnhanceTool.rar'><img alt='Download' class='leftalign' src='http://www.shuax.com/wp-content/plugins/dBeautifier/icons/downloads.png' /></a>
							<h4>
								<a href='http://www.shuax.com/download.php?file=http://www.shuax.com/download/ThunderEnhanceTool.rar'>迅雷增强工具 v1.1</a>
							</h4><p>文件大小：86.4 KB&#12288;文件名称：ThunderEnhanceTool.rar</p>
						</div></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1512</wfw:commentRss>
		<slash:comments>21</slash:comments>
		</item>
		<item>
		<title>编程语言排名2010.4</title>
		<link>http://www.shuax.com/?p=1505</link>
		<comments>http://www.shuax.com/?p=1505#comments</comments>
		<pubDate>Tue, 06 Apr 2010 07:21:30 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[我的生活]]></category>
		<category><![CDATA[编程]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1505</guid>
		<description><![CDATA[在4年后，C语言回到了TIOBE排名的第一名。但是其实它回到第一的原因并不是它自己有所上升，而是他的对手Java有所下降。 按TIOBE自己的说明，TIOBE编程语言社区排行榜是编程语言流行趋势的一个指标。每月更新。这份排行榜排名基于互联网上有经验的程序员、课程和第三方厂商的数量。排名使用著名的搜索引擎（诸如Google、 MSN 、雅虎）以及Wikipedia和YouTube进行计算。请注意这个排行榜只是反映某个编程语言的热门程度，并不能说明一门编程语言好不好，或者一门语言所编写的代码数量多少。 详细排名（只列出前20名）： 波动曲线：]]></description>
			<content:encoded><![CDATA[<p>在4年后，C语言回到了TIOBE排名的第一名。但是其实它回到第一的原因并不是它自己有所上升，而是他的对手Java有所下降。</p>
<p>按TIOBE自己的说明，TIOBE编程语言社区排行榜是编程语言流行趋势的一个指标。每月更新。这份排行榜排名基于互联网上有经验的程序员、课程和第三方厂商的数量。排名使用著名的搜索引擎（诸如Google、 MSN 、雅虎）以及Wikipedia和YouTube进行计算。请注意这个排行榜只是反映某个编程语言的热门程度，并不能说明一门编程语言好不好，或者一门语言所编写的代码数量多少。<br />
<span id="more-1505"></span><br />
详细排名（只列出前20名）：<br />
<a class="lightbox" href="http://www.shuax.com/wp-content/uploads/2010/04/tiobe1.png" class="lightbox"><img class="aligncenter size-full wp-image-1506" title="tiobe1" src="http://www.shuax.com/wp-content/uploads/2010/04/tiobe1.png" alt="" width="584" height="582" /></a><br />
波动曲线：<br />
<a href="http://www.shuax.com/wp-content/uploads/2010/04/tiobe2.png"  class="lightbox"><img src="http://www.shuax.com/wp-content/uploads/2010/04/tiobe2.png" alt="" title="tiobe2" width="640" height="480" class="aligncenter size-full wp-image-1507" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1505</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>云のむこう、约束の场所</title>
		<link>http://www.shuax.com/?p=1501</link>
		<comments>http://www.shuax.com/?p=1501#comments</comments>
		<pubDate>Tue, 06 Apr 2010 06:29:13 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[我的生活]]></category>
		<category><![CDATA[爱情]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1501</guid>
		<description><![CDATA[　　这是日本遭到南北切割统治的另一个战后世界。住在受美军统治的青森的少年·藤泽浩纪与白川拓也，同时喜欢上了他们的女同学「泽渡佐由理」。让他们感兴趣的除了这个女孩之外，另一个就是矗立于联邦国占领下的神秘巨塔。两人为了靠着自己的力量飞到那座塔，因此开始制作小型飞机(Velaciela，意为白色之翼)。 　　但是在他们国中三年级的夏天，佐由理突然转学到东京。由于事情来得太突然了，让他们感到十分沮丧与空虚，连梦想的飞机都不做了。毕业后浩纪前往东京念高中，拓也则考上青森的高中，从此两人也开始走向各自的道路。 　　在三年后的一个偶然的机会中，浩纪得知佐由理得了一种原因不名的疾病，并从那个夏天一直昏睡至今。拓也已经在研究所里研究高塔的原理，而研究所也发现佐由理与高塔有种特别的联系。浩纪通过佐由理留下的信知道了她是从那个夏天开始患上了原因不明的疾病，一直沉睡到现在，跑到医院去看望佐由理的浩纪，在她的病房里似乎能进入佐由理的梦境，看到了孤单一人还在仰望着高塔的佐由理。于是决心把佐由理从永远的睡眠中拯救出来的浩纪，回来寻求拓也的帮助，浩纪想实现多年前的那个曾经无法实现的约定，两人在一番争吵后，拓也也终于理解了浩纪的愿望，为了让沉睡的公主苏醒，这两名骑士将朝着高塔以及世界的秘密逼近。拓也私自将佐由理从研究所里带了出来，然后二人一同将小型飞机送上了蓝天。而此时战争已经打响，正好掩护他们前往高塔，终于浩纪实现了那个无法实现的约定，佐由理也在耀眼的晨曦下睁开了双眼&#8230;&#8230;最后一个炮弹，把那个高塔给解决了。 推荐大家看看这部电影，很好看，画面很干净，很清晰。 这是新海诚继《她与她的猫》（彼女と彼女の猫）与《星之声》（ほしのこえ）之后的第三部作品。 官方网站：http://www.kumonomukou.com/]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.shuax.com/wp-content/uploads/2010/04/yun.jpg" class="lightbox"><img class="alignleft size-full wp-image-1502" title="yun" src="http://www.shuax.com/wp-content/uploads/2010/04/yun.jpg" alt="" width="330" height="379" /></a><br />
　　这是日本遭到南北切割统治的另一个战后世界。住在受美军统治的青森的少年·藤泽浩纪与白川拓也，同时喜欢上了他们的女同学「泽渡佐由理」。让他们感兴趣的除了这个女孩之外，另一个就是矗立于联邦国占领下的神秘巨塔。两人为了靠着自己的力量飞到那座塔，因此开始制作小型飞机(Velaciela，意为白色之翼)。<br />
　　但是在他们国中三年级的夏天，佐由理突然转学到东京。由于事情来得太突然了，让他们感到十分沮丧与空虚，连梦想的飞机都不做了。毕业后浩纪前往东京念高中，拓也则考上青森的高中，从此两人也开始走向各自的道路。<br />
　　在三年后的一个偶然的机会中，浩纪得知佐由理得了一种原因不名的疾病，并从那个夏天一直昏睡至今。拓也已经在研究所里研究高塔的原理，而研究所也发现佐由理与高塔有种特别的联系。浩纪通过佐由理留下的信知道了她是从那个夏天开始患上了原因不明的疾病，一直沉睡到现在，跑到医院去看望佐由理的浩纪，在她的病房里似乎能进入佐由理的梦境，看到了孤单一人还在仰望着高塔的佐由理。于是决心把佐由理从永远的睡眠中拯救出来的浩纪，回来寻求拓也的帮助，浩纪想实现多年前的那个曾经无法实现的约定，两人在一番争吵后，拓也也终于理解了浩纪的愿望，为了让沉睡的公主苏醒，这两名骑士将朝着高塔以及世界的秘密逼近。拓也私自将佐由理从研究所里带了出来，然后二人一同将小型飞机送上了蓝天。而此时战争已经打响，正好掩护他们前往高塔，终于浩纪实现了那个无法实现的约定，佐由理也在耀眼的晨曦下睁开了双眼&#8230;&#8230;最后一个炮弹，把那个高塔给解决了。</p>
<p><span id="more-1501"></span>推荐大家看看这部电影，很好看，画面很干净，很清晰。</p>
<p>这是新海诚继《她与她的猫》（彼女と彼女の猫）与《星之声》（ほしのこえ）之后的第三部作品。</p>
<p>官方网站：http://www.kumonomukou.com/</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1501</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Win7摄像头服务</title>
		<link>http://www.shuax.com/?p=1496</link>
		<comments>http://www.shuax.com/?p=1496#comments</comments>
		<pubDate>Mon, 05 Apr 2010 08:39:44 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[实用软件]]></category>
		<category><![CDATA[WIN7]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1496</guid>
		<description><![CDATA[从Vista开始“Windows Image Acquisition (WIA)”服务已经不再提供在资源管理器显示摄像头图标的功能，是不是很怀念当初XP的这个功能呢？网上有个解决的办法就是把某某摄像程序放到网络快捷方式目录。这个方法很好啦，嘻嘻。为了方便大家使用，我就做了个自解压程序，解压之后即可看到效果了。我提供的程序是ECAP，可以拍照，可以摄像，摄像包含声音的哈。 效果图如下： 下载地址： Win7摄像头服务 文件大小：357.1 KB&#12288;文件名称：ECAP.exe]]></description>
			<content:encoded><![CDATA[<p>从Vista开始“Windows Image Acquisition (WIA)”服务已经不再提供在资源管理器显示摄像头图标的功能，是不是很怀念当初XP的这个功能呢？网上有个解决的办法就是把某某摄像程序放到网络快捷方式目录。这个方法很好啦，嘻嘻。为了方便大家使用，我就做了个自解压程序，解压之后即可看到效果了。我提供的程序是ECAP，可以拍照，可以摄像，摄像包含声音的哈。<br />
<span id="more-1496"></span><br />
效果图如下：<br />
<a href="http://www.shuax.com/wp-content/uploads/2010/04/ecap.png" class="lightbox"><img class="alignnone size-full wp-image-1498" title="ecap" src="http://www.shuax.com/wp-content/uploads/2010/04/ecap.png" alt="" width="500" height="218" /></a></p>
<p>下载地址：<div class='download-link'>
							<a href='http://www.shuax.com/download.php?file=http://www.shuax.com/download/ECAP.exe'><img alt='Download' class='leftalign' src='http://www.shuax.com/wp-content/plugins/dBeautifier/icons/downloads.png' /></a>
							<h4>
								<a href='http://www.shuax.com/download.php?file=http://www.shuax.com/download/ECAP.exe'>Win7摄像头服务</a>
							</h4><p>文件大小：357.1 KB&#12288;文件名称：ECAP.exe</p>
						</div></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1496</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>虚拟紫禁城</title>
		<link>http://www.shuax.com/?p=1491</link>
		<comments>http://www.shuax.com/?p=1491#comments</comments>
		<pubDate>Mon, 05 Apr 2010 01:49:28 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[我的生活]]></category>
		<category><![CDATA[游戏]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1491</guid>
		<description><![CDATA[　　“虚拟紫禁城”是中国第一个在互联网上展现重要历史文化景点的虚拟世界。”故宫博物院院长郑欣淼介绍，这座“紫禁城”用高分辨率、精细的3D建模技术虚拟出宫殿建筑、文物和人物，并设计了6条观众游览路线。“虚拟紫禁城囊括了目前故宫所有对外开放的区域。” 　　下载虚拟紫禁城客户端后进行安装，注册帐号或者以游客的身份登录，登录后你可以选择地图来查看你要去的地方，或者使用它本身提供的导游功能，来参观和游玩整个紫禁城。 下载地址：http://www.virtualforbiddencity.org 我试玩了一下，比较卡，载入也要等半天，据说使用java写的，所以…… 而且除了云以外，其它的景物锯齿很严重，根本就不好看。 本来还想上龙椅去坐坐的，结果居然不让上去，我郁闷了。]]></description>
			<content:encoded><![CDATA[<p>　　“虚拟紫禁城”是中国第一个在互联网上展现重要历史文化景点的虚拟世界。”故宫博物院院长郑欣淼介绍，这座“紫禁城”用高分辨率、精细的3D建模技术虚拟出宫殿建筑、文物和人物，并设计了6条观众游览路线。“虚拟紫禁城囊括了目前故宫所有对外开放的区域。”</p>
<p>　　下载虚拟紫禁城客户端后进行安装，注册帐号或者以游客的身份登录，登录后你可以选择地图来查看你要去的地方，或者使用它本身提供的导游功能，来参观和游玩整个紫禁城。</p>
<p>下载地址：http://www.virtualforbiddencity.org</p>
<p><span id="more-1491"></span>我试玩了一下，比较卡，载入也要等半天，据说使用java写的，所以……</p>
<p>而且除了云以外，其它的景物锯齿很严重，根本就不好看。</p>
<p>本来还想上龙椅去坐坐的，结果居然不让上去，我郁闷了。</p>
<p><a href="http://www.shuax.com/wp-content/uploads/2010/04/vfc.jpg" class="lightbox"><img class="alignnone size-full wp-image-1493" title="vfc" src="http://www.shuax.com/wp-content/uploads/2010/04/vfc.jpg" alt="" width="600" height="354" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1491</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>UDP传输Socket</title>
		<link>http://www.shuax.com/?p=1489</link>
		<comments>http://www.shuax.com/?p=1489#comments</comments>
		<pubDate>Sat, 03 Apr 2010 08:27:57 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[JAVA]]></category>
		<category><![CDATA[编程]]></category>
		<category><![CDATA[网络]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1489</guid>
		<description><![CDATA[一个控制台的程序，从客户端传字符串到服务器端，然后服务器端返回转换成大写的字符串。 跟上次的那个程序不同之处在于使用的是UDP传输协议。 为了方便使用，建立一个工具类 import java.net.*; public class UDP &#123; public static DatagramPacket toDatagram&#40;String s,InetAddress destIA,int destPort&#41;&#123; byte&#91;&#93; buf = s.getBytes&#40;&#41;; return new DatagramPacket&#40;buf,buf.length,destIA,destPort&#41;; &#125; public static String toString&#40;DatagramPacket p&#41;&#123; return new String&#40;p.getData&#40;&#41;,0,p.getLength&#40;&#41;&#41;; &#125; &#125; 客户端代码 import java.io.*; import java.net.*; public class 客户端 &#123; private InetAddress hostAddress; static final int INPORT = 8888; private byte&#91;&#93; buf]]></description>
			<content:encoded><![CDATA[<p>一个控制台的程序，从客户端传字符串到服务器端，然后服务器端返回转换成大写的字符串。</p>
<p>跟上次的那个程序不同之处在于使用的是UDP传输协议。</p>
<p>为了方便使用，建立一个工具类</p>

<div class="wp_codebox"><table><tr id="p148944"><td class="code" id="p1489code44"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.net.*</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> UDP <span style="color: #009900;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #003399;">DatagramPacket</span> toDatagram<span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span> s,<span style="color: #003399;">InetAddress</span> destIA,<span style="color: #000066; font-weight: bold;">int</span> destPort<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		<span style="color: #000066; font-weight: bold;">byte</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> buf <span style="color: #339933;">=</span> s.<span style="color: #006633;">getBytes</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000000; font-weight: bold;">return</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">DatagramPacket</span><span style="color: #009900;">&#40;</span>buf,buf.<span style="color: #006633;">length</span>,destIA,destPort<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #003399;">String</span> toString<span style="color: #009900;">&#40;</span><span style="color: #003399;">DatagramPacket</span> p<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">return</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">String</span><span style="color: #009900;">&#40;</span>p.<span style="color: #006633;">getData</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>,<span style="color: #cc66cc;">0</span>,p.<span style="color: #006633;">getLength</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p><span id="more-1489"></span><br />
客户端代码</p>

<div class="wp_codebox"><table><tr id="p148945"><td class="code" id="p1489code45"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.io.*</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.net.*</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> 客户端 <span style="color: #009900;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">private</span> <span style="color: #003399;">InetAddress</span> hostAddress<span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000000; font-weight: bold;">final</span> <span style="color: #000066; font-weight: bold;">int</span> INPORT <span style="color: #339933;">=</span> <span style="color: #cc66cc;">8888</span><span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">private</span> <span style="color: #000066; font-weight: bold;">byte</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> buf <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #000066; font-weight: bold;">byte</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1000</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">private</span> <span style="color: #003399;">DatagramPacket</span> dp <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">DatagramPacket</span><span style="color: #009900;">&#40;</span>buf,buf.<span style="color: #006633;">length</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">private</span> <span style="color: #003399;">DatagramSocket</span> socket<span style="color: #339933;">;</span>
	客户端<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">try</span><span style="color: #009900;">&#123;</span>
			socket <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">DatagramSocket</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			hostAddress <span style="color: #339933;">=</span> <span style="color: #003399;">InetAddress</span>.<span style="color: #006633;">getByName</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;localhost&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #000000; font-weight: bold;">while</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
				<span style="color: #003399;">InputStreamReader</span> isr <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">InputStreamReader</span><span style="color: #009900;">&#40;</span><span style="color: #003399;">System</span>.<span style="color: #006633;">in</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #003399;">BufferedReader</span> buf <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">BufferedReader</span><span style="color: #009900;">&#40;</span>isr<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #003399;">String</span> s <span style="color: #339933;">=</span> buf.<span style="color: #006633;">readLine</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #003399;">DatagramPacket</span> echo <span style="color: #339933;">=</span> UDP.<span style="color: #006633;">toDatagram</span><span style="color: #009900;">&#40;</span>s, hostAddress, INPORT<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				socket.<span style="color: #006633;">send</span><span style="color: #009900;">&#40;</span>echo<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				socket.<span style="color: #006633;">receive</span><span style="color: #009900;">&#40;</span>dp<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span>UDP.<span style="color: #006633;">toString</span><span style="color: #009900;">&#40;</span>dp<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span>
		<span style="color: #009900;">&#125;</span><span style="color: #000000; font-weight: bold;">catch</span><span style="color: #009900;">&#40;</span><span style="color: #003399;">Exception</span> e<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span>
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">void</span> main<span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span> args<span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">new</span> 客户端<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>服务器端</p>

<div class="wp_codebox"><table><tr id="p148946"><td class="code" id="p1489code46"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.net.*</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> 服务端 <span style="color: #009900;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000000; font-weight: bold;">final</span> <span style="color: #000066; font-weight: bold;">int</span> INPORT <span style="color: #339933;">=</span> <span style="color: #cc66cc;">8888</span><span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">private</span> <span style="color: #000066; font-weight: bold;">byte</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> buf <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #000066; font-weight: bold;">byte</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1000</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">private</span> <span style="color: #003399;">DatagramPacket</span> dp <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">DatagramPacket</span><span style="color: #009900;">&#40;</span>buf,buf.<span style="color: #006633;">length</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">private</span> <span style="color: #003399;">DatagramSocket</span> socket<span style="color: #339933;">;</span>
	服务端<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">try</span><span style="color: #009900;">&#123;</span>
			socket <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">DatagramSocket</span><span style="color: #009900;">&#40;</span>INPORT<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #000000; font-weight: bold;">while</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
				socket.<span style="color: #006633;">receive</span><span style="color: #009900;">&#40;</span>dp<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #003399;">DatagramPacket</span> echo <span style="color: #339933;">=</span> UDP.<span style="color: #006633;">toDatagram</span><span style="color: #009900;">&#40;</span>UDP.<span style="color: #006633;">toString</span><span style="color: #009900;">&#40;</span>dp<span style="color: #009900;">&#41;</span>.<span style="color: #006633;">toUpperCase</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>, dp.<span style="color: #006633;">getAddress</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>, dp.<span style="color: #006633;">getPort</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				socket.<span style="color: #006633;">send</span><span style="color: #009900;">&#40;</span>echo<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span>
		<span style="color: #009900;">&#125;</span><span style="color: #000000; font-weight: bold;">catch</span><span style="color: #009900;">&#40;</span><span style="color: #003399;">Exception</span> e<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span>
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">void</span> main<span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span> args<span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">new</span> 服务端<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>PS：书上写的那个什么StringtoByte真丑，既不符合标准，又还不能正常工作……</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1489</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>关于本站极不稳定</title>
		<link>http://www.shuax.com/?p=1482</link>
		<comments>http://www.shuax.com/?p=1482#comments</comments>
		<pubDate>Thu, 01 Apr 2010 00:58:00 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[我的生活]]></category>
		<category><![CDATA[网站]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1482</guid>
		<description><![CDATA[这几天（差不多一周了），本站极不稳定，也许现在您都还无法打开。 因为所在的空间之前机器搬家，结果搬过去没多久就挂掉了。 现在又搬到另外的机房，正在调试中，但愿能好起来。 反正我已经备份了数据了，大家不用担心，大不了我搬走就是了。 给各位带来的不便还请谅解。]]></description>
			<content:encoded><![CDATA[<p>这几天（差不多一周了），本站极不稳定，也许现在您都还无法打开。<br />
因为所在的空间之前机器搬家，结果搬过去没多久就挂掉了。<br />
现在又搬到另外的机房，正在调试中，但愿能好起来。</p>
<p>反正我已经备份了数据了，大家不用担心，大不了我搬走就是了。</p>
<p>给各位带来的不便还请谅解。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1482</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>关灯了吗？</title>
		<link>http://www.shuax.com/?p=1481</link>
		<comments>http://www.shuax.com/?p=1481#comments</comments>
		<pubDate>Sat, 27 Mar 2010 12:58:01 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[我的生活]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1481</guid>
		<description><![CDATA[我关灯了，你们呢？]]></description>
			<content:encoded><![CDATA[<p>我关灯了，你们呢？</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1481</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>QQ2010 Beta2(1590) 去广告纯净版</title>
		<link>http://www.shuax.com/?p=1474</link>
		<comments>http://www.shuax.com/?p=1474#comments</comments>
		<pubDate>Mon, 22 Mar 2010 12:41:46 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[原创软件]]></category>
		<category><![CDATA[QQ]]></category>
		<category><![CDATA[去广告]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1474</guid>
		<description><![CDATA[文件签名：QQ2010Beta2 2010年3月17日(1590) 清除了QQ软件管理器、QQ拼音等捆绑软件安装软件。 去掉了开机启动和设置浏览器首页。 集成了寒星的本地会员补丁，完美去广告。 不含个人信息，正宗纯净版。 文件: SX_QQ2010Beta2_MOD.exe 大小: 25154936 字节 文件版本: 1, 46, 1590, 0 修改时间: 2010年3月26日, 16:54:30 MD5: 9B2F95E45CAFEF26822653C8596EC18D SHA1: AD3D9D0B1329F4A66AB692B3EA63D1CB02CEA695 CRC32: AB60A08A 下载地址： http://www.uushare.com/user/shuax/file/2765223]]></description>
			<content:encoded><![CDATA[<p><strong>文件签名：QQ2010Beta2 2010年3月17日(1590)</strong></p>
<p>清除了QQ软件管理器、QQ拼音等捆绑软件安装软件。<br />
去掉了开机启动和设置浏览器首页。</p>
<p>集成了<a href="http://www.hxlive.cn/" target="_blank">寒星</a>的本地会员补丁，完美去广告。</p>
<p>不含个人信息，正宗纯净版。</p>
<p><span id="more-1474"></span></p>
<p>文件: SX_QQ2010Beta2_MOD.exe</p>
<p>大小: 25154936 字节<br />
文件版本: 1, 46, 1590, 0<br />
修改时间: 2010年3月26日, 16:54:30<br />
MD5: 9B2F95E45CAFEF26822653C8596EC18D<br />
SHA1: AD3D9D0B1329F4A66AB692B3EA63D1CB02CEA695<br />
CRC32: AB60A08A</p>
<p>下载地址：<br />
<a href="http://www.uushare.com/user/shuax/file/2765223"  target="_blank">http://www.uushare.com/user/shuax/file/2765223</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1474</wfw:commentRss>
		<slash:comments>25</slash:comments>
		</item>
		<item>
		<title>Xlight FTP 服务器</title>
		<link>http://www.shuax.com/?p=1472</link>
		<comments>http://www.shuax.com/?p=1472#comments</comments>
		<pubDate>Mon, 22 Mar 2010 10:08:16 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[实用软件]]></category>
		<category><![CDATA[实用]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1472</guid>
		<description><![CDATA[Xlight FTP服务器是非常容易使用的FTP服务器。 为了保证高性能，FTP服务器全部用C语言写成，服务器运行时占用很少的系统资源。它具有高效网络算法，在大量用户情况下, 可以充分利用FTP服务器带宽, 能够轻松处理数千用户的同时下载。 Xlight FTP 服务器有三个版本：个人版本，标准版本，专业版本。 个人版本只对个人使用是免费的。 Xlight FTP服务器具有内置的用户虚拟目录隔离，以及很多有用的功能，给我的感觉就是界面清晰，但却不失功能。下载地址：官网网站 使用Process Monitor软件监控Xlight在注册表 “HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\” 位置建立的一个项。项的名称和值每台电脑都不同。删除此项，Xlight会在注册表中重建，并重新计算试用期。这样就实现了永远30天试用。]]></description>
			<content:encoded><![CDATA[<p>Xlight FTP服务器是非常容易使用的FTP服务器。  为了保证高性能，FTP服务器全部用C语言写成，服务器运行时占用很少的系统资源。它具有高效网络算法，在大量用户情况下, 可以充分利用FTP服务器带宽,  能够轻松处理数千用户的同时下载。</p>
<p>Xlight FTP 服务器有三个版本：个人版本，标准版本，专业版本。 个人版本只对个人使用是<strong>免费</strong>的。</p>
<p>Xlight FTP服务器具有内置的用户虚拟目录隔离，以及很多有用的功能，给我的感觉就是界面清晰，但却不失功能。<span id="more-1472"></span>下载地址：<a href="http://www.xlightftpd.com/cn/download.htm" target="_blank">官网网站</a></p>
<p>使用Process Monitor软件监控Xlight在注册表 “HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\” 位置建立的一个项。项的名称和值每台电脑都不同。删除此项，Xlight会在注册表中重建，并重新计算试用期。这样就实现了永远30天试用。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1472</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Java聊天系统</title>
		<link>http://www.shuax.com/?p=1468</link>
		<comments>http://www.shuax.com/?p=1468#comments</comments>
		<pubDate>Thu, 18 Mar 2010 08:06:22 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[JAVA]]></category>
		<category><![CDATA[编程]]></category>
		<category><![CDATA[网络]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1468</guid>
		<description><![CDATA[一个基于Socket的GUI程序。 使得客户端和服务端聊天…… 额，才开始弄，慢慢学，老是出问题。 我的心得如下： 1、socket的流打开后就不能关闭了，要不然就完了。 2、因为做GUI的时候，把一个监听复制了两次~~所以…… 客户端 import java.awt.event.*; import java.awt.*; import java.net.*; import java.io.*; &#160; import javax.swing.*; &#160; public class 客户端 implements ActionListener&#123; JFrame jframe; JPanel p1,p2,p3; JButton con,send; JTextField name; JScrollPane sp; JTextArea msg,text; JLabel user; static Thread t; Socket s = null; DataInputStream d_in = null; DataOutputStream d_out = null; public 客户端&#40;&#41;&#123;]]></description>
			<content:encoded><![CDATA[<p>一个基于Socket的GUI程序。<br />
使得客户端和服务端聊天……<br />
额，才开始弄，慢慢学，老是出问题。<br />
我的心得如下：<br />
1、socket的流打开后就不能关闭了，要不然就完了。<br />
2、因为做GUI的时候，把一个监听复制了两次~~所以……<br />
<span id="more-1468"></span><br />
<a href="http://www.shuax.com/wp-content/uploads/2010/03/im.png" class="lightbox"><img src="http://www.shuax.com/wp-content/uploads/2010/03/im.png" alt="" title="im" width="912" height="532" class="alignnone size-full wp-image-1469" /></a><br />
客户端</p>

<div class="wp_codebox"><table><tr id="p146849"><td class="code" id="p1468code49"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.awt.event.*</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.awt.*</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.net.*</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.io.*</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javax.swing.*</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> 客户端 <span style="color: #000000; font-weight: bold;">implements</span> <span style="color: #003399;">ActionListener</span><span style="color: #009900;">&#123;</span>
	<span style="color: #003399;">JFrame</span> jframe<span style="color: #339933;">;</span>
	<span style="color: #003399;">JPanel</span> p1,p2,p3<span style="color: #339933;">;</span>
	<span style="color: #003399;">JButton</span> con,send<span style="color: #339933;">;</span>
	<span style="color: #003399;">JTextField</span> name<span style="color: #339933;">;</span>
	<span style="color: #003399;">JScrollPane</span> sp<span style="color: #339933;">;</span>
	<span style="color: #003399;">JTextArea</span> msg,text<span style="color: #339933;">;</span>
	<span style="color: #003399;">JLabel</span> user<span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">static</span> <span style="color: #003399;">Thread</span> t<span style="color: #339933;">;</span>
	<span style="color: #003399;">Socket</span> s <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #339933;">;</span>
	<span style="color: #003399;">DataInputStream</span> d_in <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #339933;">;</span>
	<span style="color: #003399;">DataOutputStream</span> d_out <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">public</span> 客户端<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		jframe <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">JFrame</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;聊天系统-客户端&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		jframe.<span style="color: #006633;">setLayout</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">BorderLayout</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		jframe.<span style="color: #006633;">setDefaultCloseOperation</span><span style="color: #009900;">&#40;</span><span style="color: #003399;">JFrame</span>.<span style="color: #006633;">EXIT_ON_CLOSE</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		p1 <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">JPanel</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		user <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">JLabel</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;用户名：&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		name <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">JTextField</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">12</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		con <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">JButton</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;连接&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		con.<span style="color: #006633;">addActionListener</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		p1.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span>user<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		p1.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span>name<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		p1.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span>con<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		p2 <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">JPanel</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		msg <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">JTextArea</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">20</span>,<span style="color: #cc66cc;">51</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		msg.<span style="color: #006633;">setEditable</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		sp <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">JScrollPane</span><span style="color: #009900;">&#40;</span>msg<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		p2.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span>sp<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		p3 <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">JPanel</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		text <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">JTextArea</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">2</span>,<span style="color: #cc66cc;">45</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		text.<span style="color: #006633;">setText</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;请先连接服务器！&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		text.<span style="color: #006633;">setEditable</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		send <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">JButton</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;发送&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		send.<span style="color: #006633;">setEnabled</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		send.<span style="color: #006633;">addActionListener</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		p3.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span>text<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		p3.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span>send<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		p1.<span style="color: #006633;">setBackground</span><span style="color: #009900;">&#40;</span><span style="color: #003399;">Color</span>.<span style="color: #006633;">gray</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		p2.<span style="color: #006633;">setBackground</span><span style="color: #009900;">&#40;</span><span style="color: #003399;">Color</span>.<span style="color: #006633;">gray</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		p3.<span style="color: #006633;">setBackground</span><span style="color: #009900;">&#40;</span><span style="color: #003399;">Color</span>.<span style="color: #006633;">gray</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		jframe.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span>p1,<span style="color: #003399;">BorderLayout</span>.<span style="color: #006633;">NORTH</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		jframe.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span>p2,<span style="color: #003399;">BorderLayout</span>.<span style="color: #006633;">CENTER</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		jframe.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span>p3,<span style="color: #003399;">BorderLayout</span>.<span style="color: #006633;">SOUTH</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		jframe.<span style="color: #006633;">setSize</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">600</span>, <span style="color: #cc66cc;">500</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		jframe.<span style="color: #006633;">setVisible</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		jframe.<span style="color: #006633;">setLocationRelativeTo</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> actionPerformed<span style="color: #009900;">&#40;</span><span style="color: #003399;">ActionEvent</span> e<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>e.<span style="color: #006633;">getSource</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">==</span>con<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
			<span style="color: #666666; font-style: italic;">//判断用户名</span>
			<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>name.<span style="color: #006633;">getText</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">isEmpty</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
				text.<span style="color: #006633;">setText</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;请填写用户名&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #000000; font-weight: bold;">return</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span>
			<span style="color: #666666; font-style: italic;">//连接网络</span>
			<span style="color: #000000; font-weight: bold;">try</span> <span style="color: #009900;">&#123;</span>
				s <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">Socket</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;localhost&quot;</span>,<span style="color: #cc66cc;">1234</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #003399;">InputStream</span> in <span style="color: #339933;">=</span> s.<span style="color: #006633;">getInputStream</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				d_in <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">DataInputStream</span><span style="color: #009900;">&#40;</span>in<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #003399;">OutputStream</span> out <span style="color: #339933;">=</span> s.<span style="color: #006633;">getOutputStream</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				d_out <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">DataOutputStream</span><span style="color: #009900;">&#40;</span>out<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				d_out.<span style="color: #006633;">writeUTF</span><span style="color: #009900;">&#40;</span>name.<span style="color: #006633;">getText</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">+</span><span style="color: #0000ff;">&quot;已连接到服务器<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span><span style="color: #000000; font-weight: bold;">catch</span> <span style="color: #009900;">&#40;</span><span style="color: #003399;">IOException</span> e2<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
				text.<span style="color: #006633;">setText</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;网络连接失败！创建&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #000000; font-weight: bold;">return</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span>
			con.<span style="color: #006633;">setEnabled</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			name.<span style="color: #006633;">setEnabled</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			text.<span style="color: #006633;">setEditable</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			text.<span style="color: #006633;">setText</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			send.<span style="color: #006633;">setEnabled</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			send.<span style="color: #006633;">setMnemonic</span><span style="color: #009900;">&#40;</span><span style="color: #003399;">KeyEvent</span>.<span style="color: #006633;">VK_ENTER</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			receive<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">start</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #000000; font-weight: bold;">return</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
		<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>e.<span style="color: #006633;">getSource</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">==</span>send<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
			<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>text.<span style="color: #006633;">getText</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">isEmpty</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">return</span><span style="color: #339933;">;</span>
			<span style="color: #000000; font-weight: bold;">try</span> <span style="color: #009900;">&#123;</span>
				<span style="color: #003399;">String</span> m <span style="color: #339933;">=</span> name.<span style="color: #006633;">getText</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">+</span><span style="color: #0000ff;">&quot;：&quot;</span><span style="color: #339933;">+</span>text.<span style="color: #006633;">getText</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">+</span><span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
				msg.<span style="color: #006633;">append</span><span style="color: #009900;">&#40;</span>m<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				d_out.<span style="color: #006633;">writeUTF</span><span style="color: #009900;">&#40;</span>m<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				text.<span style="color: #006633;">setText</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span><span style="color: #000000; font-weight: bold;">catch</span> <span style="color: #009900;">&#40;</span><span style="color: #003399;">IOException</span> e2<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
				text.<span style="color: #006633;">setText</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;在发送信息的时候，网络连接失败！&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #000000; font-weight: bold;">return</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span>
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span>
	<span style="color: #000000; font-weight: bold;">private</span> <span style="color: #003399;">Thread</span> receive<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
        <span style="color: #000000; font-weight: bold;">return</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">Thread</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
        <span style="color: #009900;">&#123;</span>
			<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> run<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
				<span style="color: #000000; font-weight: bold;">try</span> <span style="color: #009900;">&#123;</span>
					<span style="color: #000000; font-weight: bold;">while</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
						msg.<span style="color: #006633;">append</span><span style="color: #009900;">&#40;</span>d_in.<span style="color: #006633;">readUTF</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
						<span style="color: #003399;">Thread</span>.<span style="color: #006633;">sleep</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">50</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
					<span style="color: #009900;">&#125;</span>
				<span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">catch</span> <span style="color: #009900;">&#40;</span><span style="color: #003399;">Exception</span> e<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><span style="color: #009900;">&#125;</span>
			<span style="color: #009900;">&#125;</span>
        <span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">void</span> main<span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span> srgs<span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		 <span style="color: #000000; font-weight: bold;">new</span> 客户端<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>服务端</p>

<div class="wp_codebox"><table><tr id="p146850"><td class="code" id="p1468code50"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.awt.event.*</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.awt.*</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.net.*</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.io.*</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javax.swing.*</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> 服务端 <span style="color: #000000; font-weight: bold;">implements</span> <span style="color: #003399;">ActionListener</span><span style="color: #009900;">&#123;</span>
	<span style="color: #003399;">JFrame</span> jframe<span style="color: #339933;">;</span>
	<span style="color: #003399;">JPanel</span> p1,p2,p3<span style="color: #339933;">;</span>
	<span style="color: #003399;">JButton</span> con,send<span style="color: #339933;">;</span>
	<span style="color: #003399;">JTextField</span> name<span style="color: #339933;">;</span>
	<span style="color: #003399;">JScrollPane</span> sp<span style="color: #339933;">;</span>
	<span style="color: #003399;">JTextArea</span> msg,text<span style="color: #339933;">;</span>
	<span style="color: #003399;">JLabel</span> user<span style="color: #339933;">;</span>
	<span style="color: #003399;">Socket</span> s <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #339933;">;</span>
	<span style="color: #003399;">ServerSocket</span> cs <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #339933;">;</span>
	<span style="color: #003399;">DataOutputStream</span> d_out <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #339933;">;</span>
	<span style="color: #003399;">DataInputStream</span> d_in <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">public</span> 服务端<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		jframe <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">JFrame</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;聊天系统-服务端&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		jframe.<span style="color: #006633;">setLayout</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">BorderLayout</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		jframe.<span style="color: #006633;">setDefaultCloseOperation</span><span style="color: #009900;">&#40;</span><span style="color: #003399;">JFrame</span>.<span style="color: #006633;">EXIT_ON_CLOSE</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		p1 <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">JPanel</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		user <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">JLabel</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;用户名：&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		name <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">JTextField</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">12</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		con <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">JButton</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;开始&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		con.<span style="color: #006633;">addActionListener</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		p1.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span>user<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		p1.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span>name<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		p1.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span>con<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		p2 <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">JPanel</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		msg <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">JTextArea</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">20</span>,<span style="color: #cc66cc;">51</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		msg.<span style="color: #006633;">setEditable</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		sp <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">JScrollPane</span><span style="color: #009900;">&#40;</span>msg<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		p2.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span>sp<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		p3 <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">JPanel</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		text <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">JTextArea</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">2</span>,<span style="color: #cc66cc;">45</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		text.<span style="color: #006633;">setText</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;请开启服务器！&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		text.<span style="color: #006633;">setEditable</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		send <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">JButton</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;发送&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		send.<span style="color: #006633;">setEnabled</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		send.<span style="color: #006633;">addActionListener</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		p3.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span>text<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		p3.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span>send<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		p1.<span style="color: #006633;">setBackground</span><span style="color: #009900;">&#40;</span><span style="color: #003399;">Color</span>.<span style="color: #006633;">gray</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		p2.<span style="color: #006633;">setBackground</span><span style="color: #009900;">&#40;</span><span style="color: #003399;">Color</span>.<span style="color: #006633;">gray</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		p3.<span style="color: #006633;">setBackground</span><span style="color: #009900;">&#40;</span><span style="color: #003399;">Color</span>.<span style="color: #006633;">gray</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		jframe.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span>p1,<span style="color: #003399;">BorderLayout</span>.<span style="color: #006633;">NORTH</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		jframe.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span>p2,<span style="color: #003399;">BorderLayout</span>.<span style="color: #006633;">CENTER</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		jframe.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span>p3,<span style="color: #003399;">BorderLayout</span>.<span style="color: #006633;">SOUTH</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		jframe.<span style="color: #006633;">setSize</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">600</span>, <span style="color: #cc66cc;">500</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		jframe.<span style="color: #006633;">setVisible</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		jframe.<span style="color: #006633;">setLocationRelativeTo</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> actionPerformed<span style="color: #009900;">&#40;</span><span style="color: #003399;">ActionEvent</span> e<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>e.<span style="color: #006633;">getSource</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">==</span>con<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
			<span style="color: #666666; font-style: italic;">//判断用户名</span>
			<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>name.<span style="color: #006633;">getText</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">isEmpty</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
				text.<span style="color: #006633;">setText</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;请填写用户名&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #000000; font-weight: bold;">return</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span>
			<span style="color: #666666; font-style: italic;">//连接网络</span>
			<span style="color: #000000; font-weight: bold;">try</span> <span style="color: #009900;">&#123;</span>
				cs <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">ServerSocket</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1234</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				s <span style="color: #339933;">=</span> cs.<span style="color: #006633;">accept</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #003399;">OutputStream</span> out <span style="color: #339933;">=</span> s.<span style="color: #006633;">getOutputStream</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				d_out <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">DataOutputStream</span><span style="color: #009900;">&#40;</span>out<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #003399;">InputStream</span> in <span style="color: #339933;">=</span> s.<span style="color: #006633;">getInputStream</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				d_in <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">DataInputStream</span><span style="color: #009900;">&#40;</span>in<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				d_out.<span style="color: #006633;">writeUTF</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;已连接到服务器&quot;</span><span style="color: #339933;">+</span>name.<span style="color: #006633;">getText</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">+</span><span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span><span style="color: #000000; font-weight: bold;">catch</span> <span style="color: #009900;">&#40;</span><span style="color: #003399;">IOException</span> e2<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
				text.<span style="color: #006633;">setText</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;网络连接失败！&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #000000; font-weight: bold;">return</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span>
			con.<span style="color: #006633;">setEnabled</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			name.<span style="color: #006633;">setEnabled</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			text.<span style="color: #006633;">setEditable</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			text.<span style="color: #006633;">setText</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			send.<span style="color: #006633;">setEnabled</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			send.<span style="color: #006633;">setMnemonic</span><span style="color: #009900;">&#40;</span><span style="color: #003399;">KeyEvent</span>.<span style="color: #006633;">VK_ENTER</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			receive<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">start</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
		<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>e.<span style="color: #006633;">getSource</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">==</span>send<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
			<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>text.<span style="color: #006633;">getText</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">isEmpty</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">return</span><span style="color: #339933;">;</span>
			<span style="color: #000000; font-weight: bold;">try</span> <span style="color: #009900;">&#123;</span>
				<span style="color: #003399;">String</span> m <span style="color: #339933;">=</span> name.<span style="color: #006633;">getText</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">+</span><span style="color: #0000ff;">&quot;：&quot;</span><span style="color: #339933;">+</span>text.<span style="color: #006633;">getText</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">+</span><span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
				msg.<span style="color: #006633;">append</span><span style="color: #009900;">&#40;</span>m<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				d_out.<span style="color: #006633;">writeUTF</span><span style="color: #009900;">&#40;</span>m<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				text.<span style="color: #006633;">setText</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span><span style="color: #000000; font-weight: bold;">catch</span> <span style="color: #009900;">&#40;</span><span style="color: #003399;">IOException</span> e2<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
				text.<span style="color: #006633;">setText</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;在发送信息的时候，网络连接失败！&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #000000; font-weight: bold;">return</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span>
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span>
	<span style="color: #000000; font-weight: bold;">private</span> <span style="color: #003399;">Thread</span> receive<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
        <span style="color: #000000; font-weight: bold;">return</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">Thread</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
        <span style="color: #009900;">&#123;</span>
			<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> run<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
				<span style="color: #000000; font-weight: bold;">try</span> <span style="color: #009900;">&#123;</span>
					<span style="color: #000000; font-weight: bold;">while</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
						msg.<span style="color: #006633;">append</span><span style="color: #009900;">&#40;</span>d_in.<span style="color: #006633;">readUTF</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>	
						<span style="color: #003399;">Thread</span>.<span style="color: #006633;">sleep</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">50</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
					<span style="color: #009900;">&#125;</span>
				<span style="color: #009900;">&#125;</span><span style="color: #000000; font-weight: bold;">catch</span> <span style="color: #009900;">&#40;</span><span style="color: #003399;">Exception</span> e<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><span style="color: #009900;">&#125;</span>
			<span style="color: #009900;">&#125;</span>
        <span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">void</span> main<span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span> srgs<span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">new</span> 服务端<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>		
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1468</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>开始学习网络编程</title>
		<link>http://www.shuax.com/?p=1466</link>
		<comments>http://www.shuax.com/?p=1466#comments</comments>
		<pubDate>Tue, 16 Mar 2010 01:35:19 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[JAVA]]></category>
		<category><![CDATA[编程]]></category>
		<category><![CDATA[网络]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1466</guid>
		<description><![CDATA[一直觉得网络编程很重要，但是一直没静下心来学习，现在好了，都教到这里来了。 实验1是客服端把三角形三边长发送给服务器端，然后服务器端计算出面积后又发回来。 很简单的程序，基于TCP/IP的socket。 客户端 import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.*; &#160; import javax.swing.*; import java.net.*; public class 客户端 implements ActionListener &#123; JTextField 值A; JTextField 值B; JTextField 值C; JTextField 结果; JButton 计算; JFrame frame; public 客户端&#40;&#41;&#123; frame = new JFrame&#40;&#34;三角形面积计算&#34;&#41;; frame.setLayout&#40;new GridLayout&#40;3,4&#41;&#41;; 计算 = new JButton&#40;&#34;计算&#34;&#41;; JLabel 边A = new JLabel&#40;&#34;边A:&#34;&#41;; JLabel 边B =]]></description>
			<content:encoded><![CDATA[<p>一直觉得网络编程很重要，但是一直没静下心来学习，现在好了，都教到这里来了。</p>
<p>实验1是客服端把三角形三边长发送给服务器端，然后服务器端计算出面积后又发回来。</p>
<p>很简单的程序，基于TCP/IP的socket。<br />
<span id="more-1466"></span><br />
客户端</p>

<div class="wp_codebox"><table><tr id="p146653"><td class="code" id="p1466code53"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.awt.*</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.awt.event.ActionEvent</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.awt.event.ActionListener</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.io.*</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javax.swing.*</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.net.*</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> 客户端 <span style="color: #000000; font-weight: bold;">implements</span> <span style="color: #003399;">ActionListener</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #003399;">JTextField</span> 值A<span style="color: #339933;">;</span>
	<span style="color: #003399;">JTextField</span> 值B<span style="color: #339933;">;</span>
	<span style="color: #003399;">JTextField</span> 值C<span style="color: #339933;">;</span>
	<span style="color: #003399;">JTextField</span> 结果<span style="color: #339933;">;</span>
	<span style="color: #003399;">JButton</span> 计算<span style="color: #339933;">;</span>
	<span style="color: #003399;">JFrame</span> frame<span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">public</span> 客户端<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		frame <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">JFrame</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;三角形面积计算&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		frame.<span style="color: #006633;">setLayout</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">GridLayout</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">3</span>,<span style="color: #cc66cc;">4</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		计算 <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">JButton</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;计算&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #003399;">JLabel</span> 边A <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">JLabel</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;边A:&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #003399;">JLabel</span> 边B <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">JLabel</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;边B:&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #003399;">JLabel</span> 边C <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">JLabel</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;边C:&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		值A <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">JTextField</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		值B <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">JTextField</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		值C <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">JTextField</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #003399;">JLabel</span> 提示 <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">JLabel</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;结果:&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		结果 <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">JTextField</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		frame.<span style="color: #006633;">getContentPane</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span>边A<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		frame.<span style="color: #006633;">getContentPane</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span>边B<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		frame.<span style="color: #006633;">getContentPane</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span>边C<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		frame.<span style="color: #006633;">getContentPane</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span>值A<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		frame.<span style="color: #006633;">getContentPane</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span>值B<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		frame.<span style="color: #006633;">getContentPane</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span>值C<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		frame.<span style="color: #006633;">getContentPane</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span>提示<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		frame.<span style="color: #006633;">getContentPane</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span>结果<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		frame.<span style="color: #006633;">getContentPane</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span>计算<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		计算.<span style="color: #006633;">addActionListener</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		frame.<span style="color: #006633;">setSize</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">400</span>, <span style="color: #cc66cc;">200</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		frame.<span style="color: #006633;">setVisible</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		frame.<span style="color: #006633;">setLocationRelativeTo</span><span style="color: #009900;">&#40;</span> <span style="color: #000066; font-weight: bold;">null</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">void</span> main<span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span> args<span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">throws</span> <span style="color: #003399;">IOException</span><span style="color: #009900;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">new</span> 客户端<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> actionPerformed<span style="color: #009900;">&#40;</span><span style="color: #003399;">ActionEvent</span> e<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>e.<span style="color: #006633;">getSource</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">==</span>计算<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
			<span style="color: #003399;">String</span> res <span style="color: #339933;">=</span> 值A.<span style="color: #006633;">getText</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">+</span><span style="color: #0000ff;">&quot; &quot;</span><span style="color: #339933;">+</span>值B.<span style="color: #006633;">getText</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">+</span><span style="color: #0000ff;">&quot; &quot;</span><span style="color: #339933;">+</span>值C.<span style="color: #006633;">getText</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #003399;">Socket</span> s<span style="color: #339933;">;</span>
			<span style="color: #000000; font-weight: bold;">try</span> <span style="color: #009900;">&#123;</span>
				s <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">Socket</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;10.15.57.25&quot;</span>,<span style="color: #cc66cc;">5234</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #003399;">OutputStream</span> out <span style="color: #339933;">=</span> s.<span style="color: #006633;">getOutputStream</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #003399;">DataOutputStream</span> d_out <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">DataOutputStream</span><span style="color: #009900;">&#40;</span>out<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				d_out.<span style="color: #006633;">writeUTF</span><span style="color: #009900;">&#40;</span>res<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #003399;">InputStream</span> in <span style="color: #339933;">=</span> s.<span style="color: #006633;">getInputStream</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #003399;">DataInputStream</span> d_in <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">DataInputStream</span><span style="color: #009900;">&#40;</span>in<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #000066; font-weight: bold;">double</span> result <span style="color: #339933;">=</span> d_in.<span style="color: #006633;">readDouble</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>result<span style="color: #339933;">&lt;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> 结果.<span style="color: #006633;">setText</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;输入的三角形不正确！&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #000000; font-weight: bold;">else</span> 结果.<span style="color: #006633;">setText</span><span style="color: #009900;">&#40;</span>result<span style="color: #339933;">+</span><span style="color: #0000ff;">&quot;&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				in.<span style="color: #006633;">close</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				out.<span style="color: #006633;">close</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				s.<span style="color: #006633;">close</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span><span style="color: #000000; font-weight: bold;">catch</span> <span style="color: #009900;">&#40;</span><span style="color: #003399;">IOException</span> ex<span style="color: #009900;">&#41;</span>
			<span style="color: #009900;">&#123;</span>
				结果.<span style="color: #006633;">setText</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;网络连接失败！&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span>
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>服务端</p>

<div class="wp_codebox"><table><tr id="p146654"><td class="code" id="p1466code54"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.net.*</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.util.Scanner</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.io.*</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> 服务端 <span style="color: #009900;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">double</span> 计算三角形面积<span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span> 三边长<span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
		Scanner 扫描器 <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Scanner<span style="color: #009900;">&#40;</span>三边长<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000066; font-weight: bold;">double</span> a,b,c<span style="color: #339933;">;</span>
		a<span style="color: #339933;">=</span>b<span style="color: #339933;">=</span>c<span style="color: #339933;">=</span><span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
		<span style="color: #000000; font-weight: bold;">try</span> <span style="color: #009900;">&#123;</span>
			a <span style="color: #339933;">=</span> 扫描器.<span style="color: #006633;">nextDouble</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			b <span style="color: #339933;">=</span> 扫描器.<span style="color: #006633;">nextDouble</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			c <span style="color: #339933;">=</span> 扫描器.<span style="color: #006633;">nextDouble</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span><span style="color: #000000; font-weight: bold;">catch</span> <span style="color: #009900;">&#40;</span><span style="color: #003399;">Exception</span> ex<span style="color: #009900;">&#41;</span>
		<span style="color: #009900;">&#123;</span>
			<span style="color: #000000; font-weight: bold;">return</span> <span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
		<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>a<span style="color: #339933;">+</span>b<span style="color: #339933;">&lt;=</span>c<span style="color: #339933;">||</span>a<span style="color: #339933;">+</span>c<span style="color: #339933;">&lt;=</span>b<span style="color: #339933;">||</span>b<span style="color: #339933;">+</span>c<span style="color: #339933;">&lt;=</span>a<span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">return</span> <span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #000066; font-weight: bold;">double</span> P <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span>a <span style="color: #339933;">+</span> b <span style="color: #339933;">+</span> c<span style="color: #009900;">&#41;</span><span style="color: #339933;">/</span><span style="color: #cc66cc;">2</span><span style="color: #339933;">;</span>
		<span style="color: #000000; font-weight: bold;">return</span>  <span style="color: #003399;">Math</span>.<span style="color: #006633;">sqrt</span><span style="color: #009900;">&#40;</span> P<span style="color: #339933;">*</span><span style="color: #009900;">&#40;</span>P<span style="color: #339933;">-</span>a<span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span><span style="color: #009900;">&#40;</span>P<span style="color: #339933;">-</span>b<span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span><span style="color: #009900;">&#40;</span>P<span style="color: #339933;">-</span>c<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">void</span> main<span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span> args<span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">throws</span> <span style="color: #003399;">IOException</span><span style="color: #009900;">&#123;</span>
		<span style="color: #003399;">ServerSocket</span> s <span style="color: #339933;">=</span><span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">ServerSocket</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">5234</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000000; font-weight: bold;">while</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span>
		<span style="color: #009900;">&#123;</span>
			<span style="color: #003399;">Socket</span> ss <span style="color: #339933;">=</span> s.<span style="color: #006633;">accept</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #003399;">OutputStream</span> out <span style="color: #339933;">=</span> ss.<span style="color: #006633;">getOutputStream</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #003399;">InputStream</span> in <span style="color: #339933;">=</span> ss.<span style="color: #006633;">getInputStream</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #003399;">DataOutputStream</span> d_out <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">DataOutputStream</span><span style="color: #009900;">&#40;</span>out<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #003399;">DataInputStream</span> d_in <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">DataInputStream</span><span style="color: #009900;">&#40;</span>in<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #003399;">String</span> arg <span style="color: #339933;">=</span> d_in.<span style="color: #006633;">readUTF</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		    d_out.<span style="color: #006633;">writeDouble</span><span style="color: #009900;">&#40;</span>计算三角形面积<span style="color: #009900;">&#40;</span>arg<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			in.<span style="color: #006633;">close</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			out.<span style="color: #006633;">close</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			ss.<span style="color: #006633;">close</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1466</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>编程语言排名2010.3</title>
		<link>http://www.shuax.com/?p=1462</link>
		<comments>http://www.shuax.com/?p=1462#comments</comments>
		<pubDate>Fri, 12 Mar 2010 10:07:23 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[我的生活]]></category>
		<category><![CDATA[编程]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1462</guid>
		<description><![CDATA[按TIOBE自己的说明，TIOBE编程语言社区排行榜是编程语言流行趋势的一个指标。每月更新。这份排行榜排名基于互联网上有经验的程序员、课程和第三方厂商的数量。排名使用著名的搜索引擎（诸如Google、 MSN 、雅虎）以及Wikipedia和YouTube进行计算。请注意这个排行榜只是反映某个编程语言的热门程度，并不能说明一门编程语言好不好，或者一门语言所编写的代码数量多少。 详细排名 多年波动 原始链接：http://www.tiobe.com/content/paperinfo/tpci/index.html]]></description>
			<content:encoded><![CDATA[<p>按TIOBE自己的说明，TIOBE编程语言社区排行榜是编程语言流行趋势的一个指标。每月更新。这份排行榜排名基于互联网上有经验的程序员、课程和第三方厂商的数量。排名使用著名的搜索引擎（诸如Google、  MSN  、雅虎）以及Wikipedia和YouTube进行计算。请注意这个排行榜只是反映某个编程语言的热门程度，并不能说明一门编程语言好不好，或者一门语言所编写的代码数量多少。</p>
<p><span id="more-1462"></span></p>
<p>详细排名</p>
<p><a href="http://www.shuax.com/wp-content/uploads/2010/03/list.png" class="lightbox"><img class="alignnone size-full wp-image-1463" title="list" src="http://www.shuax.com/wp-content/uploads/2010/03/list.png" alt="" width="608" height="678" /></a></p>
<p>多年波动</p>
<p><a href="http://www.shuax.com/wp-content/uploads/2010/03/trends.png" class="lightbox"><img class="alignnone size-full wp-image-1464" title="trends" src="http://www.shuax.com/wp-content/uploads/2010/03/trends.png" alt="" width="640" height="480" /></a></p>
<p>原始链接：<a href="http://www.tiobe.com/content/paperinfo/tpci/index.html" target="_blank">http://www.tiobe.com/content/paperinfo/tpci/index.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1462</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>QQ2010 Beta2优先体验</title>
		<link>http://www.shuax.com/?p=1458</link>
		<comments>http://www.shuax.com/?p=1458#comments</comments>
		<pubDate>Wed, 10 Mar 2010 10:06:39 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[我的生活]]></category>
		<category><![CDATA[QQ]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1458</guid>
		<description><![CDATA[经过持续努力， QQ2010 Beta2即将于近期与广大用户见面。在此，我们诚邀您报名参与QQ最新版本的优先体验。 QQ2010 Beta2新增了如下特性： 1、用户资料支持设置隐藏，充分保护个人隐私； 2、新增QQ秀DIY头像功能，独创属于自己的逼真头像； 3、个人资料卡支持个性装扮，让你的个人资料闪闪生辉； 4、QQ支持windows7操作系统的超级任务栏。 您在使用新版本的过程中有任何的意见和建议，欢迎及时反馈给我们，您反映的每个问题都会有专人跟进。 申请地址：http://exp.qq.com/ 纯净版：http://dl.shuax.com/QQ2010Beta2_Trial_MOD.exe 我已经用上了，没多大改变，就是把QQ的主菜单复制了一个到JumpList，希望以后继续改进。]]></description>
			<content:encoded><![CDATA[<p>经过持续努力， QQ2010 Beta2即将于近期与广大用户见面。在此，我们诚邀您报名参与QQ最新版本的优先体验。<br />
QQ2010 Beta2新增了如下特性：<br />
1、用户资料支持设置隐藏，充分保护个人隐私；<br />
2、新增QQ秀DIY头像功能，独创属于自己的逼真头像；<br />
3、个人资料卡支持个性装扮，让你的个人资料闪闪生辉；<br />
4、QQ支持windows7操作系统的超级任务栏。<br />
您在使用新版本的过程中有任何的意见和建议，欢迎及时反馈给我们，您反映的每个问题都会有专人跟进。</p>
<p><span id="more-1458"></span></p>
<p>申请地址：http://exp.qq.com/</p>
<p>纯净版：http://dl.shuax.com/QQ2010Beta2_Trial_MOD.exe</p>
<p>我已经用上了，没多大改变，就是把QQ的主菜单复制了一个到JumpList，希望以后继续改进。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1458</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>KillQQAd 1.0.0.39a</title>
		<link>http://www.shuax.com/?p=1436</link>
		<comments>http://www.shuax.com/?p=1436#comments</comments>
		<pubDate>Fri, 05 Mar 2010 08:37:44 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[实用软件]]></category>
		<category><![CDATA[QQ]]></category>
		<category><![CDATA[去广告]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1436</guid>
		<description><![CDATA[关于本插件 本插件能够实现去除腾讯QQ的界面广告功能，并给其增加了老板键、一键锁定等实用功能。 本插件能够在向好友发送文件或截图时，获取该好友的IP及其IP的归属地信息。 本插件是抛砖引玉之作，并不能保证其稳定性。切勿用于非法途径，随时中止开发。 使用方法 将HookQQ平台解压释放到QQ安装目录 将本插件KillQQAd目录下的文件解压释放到QQ安装目录 运行KQAdTray.exe，设置相关选项 修改KillQQAd.xml文件，可自定义弹出菜单 V1.0.0.39a 增加了IP缓存功能，获取好友IP信息后，重启QQ也不会丢失 IP窗口宽度自适应IP信息长度，不会出现显示不全的问题 IP窗口全透明，不会出现QQ聊天窗口背景被遮挡的问题 针对&#8221;腾讯QQ 2010 Beta(1530)&#8221;制作，其他版本并不适用（2010年03月03日） 下载地址： KillQQAd 文件大小：2.2 MB&#12288;文件名称：KillQQAd.rar]]></description>
			<content:encoded><![CDATA[<h3>关于本插件</h3>
<ul>
<li>本插件能够实现去除腾讯QQ的界面广告功能，并给其增加了老板键、一键锁定等实用功能。</li>
<li>本插件能够在向好友发送文件或截图时，获取该好友的IP及其IP的归属地信息。</li>
<li>本插件是抛砖引玉之作，并不能保证其稳定性。切勿用于非法途径，随时中止开发。</li>
</ul>
<h3>使用方法</h3>
<ol>
<li>将HookQQ平台解压释放到QQ安装目录</li>
<li>将本插件KillQQAd目录下的文件解压释放到QQ安装目录</li>
<li>运行KQAdTray.exe，设置相关选项</li>
<li>修改KillQQAd.xml文件，可自定义弹出菜单</li>
</ol>
<p><span id="more-1436"></span></p>
<h4>V1.0.0.39a</h4>
<ul>
<li>增加了IP缓存功能，获取好友IP信息后，重启QQ也不会丢失</li>
<li>IP窗口宽度自适应IP信息长度，不会出现显示不全的问题</li>
<li>IP窗口全透明，不会出现QQ聊天窗口背景被遮挡的问题</li>
<li>针对&#8221;腾讯QQ 2010 Beta(1530)&#8221;制作，其他版本并不适用（2010年03月03日）</li>
</ul>
<p><a href="http://www.shuax.com/wp-content/uploads/2010/03/hookqq.png" class="lightbox"><img class="alignnone size-full wp-image-1441" title="hookqq" src="http://www.shuax.com/wp-content/uploads/2010/03/hookqq.png" alt="" width="619" height="361" /></a></p>
<p>下载地址：<div class='download-link'>
							<a href='http://www.shuax.com/download.php?file=http://www.shuax.com/wp-content/uploads/2010/03/KillQQAd.rar'><img alt='Download' class='leftalign' src='http://www.shuax.com/wp-content/plugins/dBeautifier/icons/downloads.png' /></a>
							<h4>
								<a href='http://www.shuax.com/download.php?file=http://www.shuax.com/wp-content/uploads/2010/03/KillQQAd.rar'>KillQQAd</a>
							</h4><p>文件大小：2.2 MB&#12288;文件名称：KillQQAd.rar</p>
						</div></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1436</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>【转】Scala语言介绍</title>
		<link>http://www.shuax.com/?p=1427</link>
		<comments>http://www.shuax.com/?p=1427#comments</comments>
		<pubDate>Wed, 03 Mar 2010 11:54:48 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[JAVA]]></category>
		<category><![CDATA[编程]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1427</guid>
		<description><![CDATA[1 简介 2 第一个例子 3 与Java交互 4 万物皆对象 5 类 6 条件类和模式匹配 7 Trait 8 泛型 9 结语 好久好久都没有更新博客了，今天就憋一篇出来吧。 1 简介 本文仅在对Scala语言和其编译器进行简要介绍。本文的目的读者是那些已经具有一定编程经验，而想尝试一下Scala语言的人们。要阅读本文，你应当具有基础的面向对象编程的概念，尤其是Java语言的。 2 第一个例子 作为学习Scala的第一步，我们将首先写一个标准的HelloWorld，这个虽然不是很有趣，但是它可以让你对Scala有一个最直观的认识而不需要太多关于这个语言的知识。我们的Hello world看起来像这样： object HelloWorld &#123; def main&#40;args: Array&#91;String&#93;&#41; &#123; println&#40;&#34;Hello, world!&#34;&#41; &#125; &#125; 程序的结构对Java程序员来说可能很令人怀念：它由一个main函数来接受命令行参数，也就是一个String数组。这个函数的唯一一行代码把我们的问候语传递给了一个叫println的预定义函数。main函数不返回值（所以它是一个procedure method）。所以，也不需要声明返回类型。 对于Java程序员比较陌生的是包含了main函数的object语句。这样的语句定义了一个单例对象：一个有且仅有一个实例的类。object语句在定义了一个叫HelloWorld的类的同时还定义了一个叫HelloWorld的实例。这个实例在第一次使用的时候会进行实例化。 聪明的读者可能会发现main函数并没有使用static修饰符，这是由于静态成员（方法或者变量）在Scala中并不存在。Scala从不定义静态成员，而通过定义单例object取而代之。 2.1 编译实例 我们使用Scala编译器“scalac”来编译Scala代码。和大多数编译器一样，scalac 接受源文件名和一些选项作为参数，生成一个或者多个目标文件。scala编译生成的产物就是标准的Java类文件。 假设我们吧上述代码保存为文件HelloWorld.scala，我们使用下面的命令编译它（大于号“>”表示命令提示符，你不必输入它） &#62; scalac HelloWorld.scala 这将会在当前目录生成一系列.class文件。其中的一个名为HelloWorld.class 的文件中定义了一个可以直接使用scala命令执行的类。下文中你可以看到这个例子。 2.2 运行实例 一旦完成编译，Scala程序就可以使用scala命令执行了。scala的用法和java很相似，并且连选项也大致相同。上面的例子就可以使用下面的命令运行，这将会产生我们所期望的输出。 &#62;]]></description>
			<content:encoded><![CDATA[<ul>
<li>1 简介</li>
<li>2 第一个例子</li>
<li>3 与Java交互</li>
<li>4 万物皆对象</li>
<li>5 类</li>
<li>6 条件类和模式匹配</li>
<li>7 Trait</li>
<li>8 泛型</li>
<li>9 结语</li>
</ul>
<p>好久好久都没有更新博客了，今天就憋一篇出来吧。</p>
<p><span id="more-1427"></span></p>
<h1>1 简介</h1>
<p>本文仅在对Scala语言和其编译器进行简要介绍。本文的目的读者是那些已经具有一定编程经验，而想尝试一下Scala语言的人们。要阅读本文，你应当具有基础的面向对象编程的概念，尤其是Java语言的。</p>
<h1>2 第一个例子</h1>
<p>作为学习Scala的第一步，我们将首先写一个标准的HelloWorld，这个虽然不是很有趣，但是它可以让你对Scala有一个最直观的认识而不需要太多关于这个语言的知识。我们的Hello world看起来像这样：</p>

<div class="wp_codebox"><table><tr id="p142784"><td class="code" id="p1427code84"><pre class="java" style="font-family:monospace;">object HelloWorld <span style="color: #009900;">&#123;</span>
	def main<span style="color: #009900;">&#40;</span>args<span style="color: #339933;">:</span> <span style="color: #003399;">Array</span><span style="color: #009900;">&#91;</span><span style="color: #003399;">String</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		println<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Hello, world!&quot;</span><span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>程序的结构对Java程序员来说可能很令人怀念：它由一个main函数来接受命令行参数，也就是一个String数组。这个函数的唯一一行代码把我们的问候语传递给了一个叫println的预定义函数。main函数不返回值（所以它是一个procedure method）。所以，也不需要声明返回类型。<br />
对于Java程序员比较陌生的是包含了main函数的object语句。这样的语句定义了一个单例对象：一个有且仅有一个实例的类。object语句在定义了一个叫HelloWorld的类的同时还定义了一个叫HelloWorld的实例。这个实例在第一次使用的时候会进行实例化。<br />
聪明的读者可能会发现main函数并没有使用static修饰符，这是由于静态成员（方法或者变量）在Scala中并不存在。Scala从不定义静态成员，而通过定义单例object取而代之。</p>
<h2>2.1 编译实例</h2>
<p>我们使用Scala编译器“scalac”来编译Scala代码。和大多数编译器一样，scalac 接受源文件名和一些选项作为参数，生成一个或者多个目标文件。scala编译生成的产物就是标准的Java类文件。<br />
假设我们吧上述代码保存为文件HelloWorld.scala，我们使用下面的命令编译它（大于号“>”表示命令提示符，你不必输入它）</p>

<div class="wp_codebox"><table><tr id="p142785"><td class="code" id="p1427code85"><pre class="java" style="font-family:monospace;"><span style="color: #339933;">&gt;</span> scalac HelloWorld.<span style="color: #006633;">scala</span></pre></td></tr></table></div>

<p>这将会在当前目录生成一系列.class文件。其中的一个名为HelloWorld.class 的文件中定义了一个可以直接使用scala命令执行的类。下文中你可以看到这个例子。</p>
<h2>2.2 运行实例</h2>
<p>一旦完成编译，Scala程序就可以使用scala命令执行了。scala的用法和java很相似，并且连选项也大致相同。上面的例子就可以使用下面的命令运行，这将会产生我们所期望的输出。</p>

<div class="wp_codebox"><table><tr id="p142786"><td class="code" id="p1427code86"><pre class="java" style="font-family:monospace;"><span style="color: #339933;">&gt;</span> scala <span style="color: #339933;">-</span>classpath . <span style="color: #006633;">HelloWorld</span>
Hello, world<span style="color: #339933;">!</span></pre></td></tr></table></div>

<h1>3 与Java交互</h1>
<p>Scala的一个强项在于可以很简单的于已有的Java代码交互，所有java.lang中的类都已经被自动导入了，而其他的类需要显式声明导入。<br />
来看看演示代码吧。我们希望对日期进行格式化处理，比如说用法国的格式。<br />
Java类库定义了一系列很有用的类，比如Date和DateFormat。由于Scala于Java能够进行很好的交互，我们不需要在Scala类库中实现等效的代码，而只需直接吧Java的相关类导入就可以了：</p>

<div class="wp_codebox"><table><tr id="p142787"><td class="code" id="p1427code87"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">import</span> java.<span style="color: #006633;">util</span>.<span style="color: #009900;">&#123;</span><span style="color: #003399;">Date</span>, <span style="color: #003399;">Locale</span><span style="color: #009900;">&#125;</span> 
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.text.DateFormat</span> 
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.text.DateFormat._</span>
&nbsp;
object FrenchDate <span style="color: #009900;">&#123;</span>
	def main<span style="color: #009900;">&#40;</span>args<span style="color: #339933;">:</span> <span style="color: #003399;">Array</span><span style="color: #009900;">&#91;</span><span style="color: #003399;">String</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		val now <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">Date</span>
		val df <span style="color: #339933;">=</span> getDateInstance<span style="color: #009900;">&#40;</span>LONG, <span style="color: #003399;">Locale</span>.<span style="color: #006633;">FRANCE</span><span style="color: #009900;">&#41;</span>
		println<span style="color: #009900;">&#40;</span>df format now<span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>Scala的import语句看上去与Java的非常相似，但是它更加强大。你可以使用大括号来导入同一个包里的多个类，就像上面代码中第一行所做的那样。另一个不同点是当导入一个包中所有的类或者符号时，你应该使用下划线（<tt>_</tt>）而不是星号（<tt>*</tt>）。这是由于星号在Scala中是一个有效的标识符（例如作为方法名称）。这个例子我们稍后会遇到。<br />
第三行的import语句导入了DataFormat类中的所有成员，这使得静态方法getDateInstance和静态变量LONG可以被直接引用。<br />
在main函数中，我们首先建立了一个Java的Date实例。这个实例默认会包含当前时间。接下来我们一个使用刚才导入的静态函数getDateInstance定义了日期格式。最后我们将使用DataFotmat格式化好的日期打印了出来。最后一行代码显示了Scala的一个有趣的语法：只有一个参数的函数可以使用下面这样的表达式来表示：</p>

<div class="wp_codebox"><table><tr id="p142788"><td class="code" id="p1427code88"><pre class="java" style="font-family:monospace;">df format now</pre></td></tr></table></div>

<p>其实就是下面的这个冗长的表达式的简洁写法</p>

<div class="wp_codebox"><table><tr id="p142789"><td class="code" id="p1427code89"><pre class="java" style="font-family:monospace;">df.<span style="color: #006633;">format</span><span style="color: #009900;">&#40;</span>now<span style="color: #009900;">&#41;</span></pre></td></tr></table></div>

<p>这看起来是一个语法细节，但是它导致一个重要的后果，我们将在下一节进行说明。<br />
另外，我们还应当注意到Scala中可以直接继承或者实现Java中的接口和类。</p>
<h1>4 万物皆对象</h1>
<p>Scala作为一个纯面向对象的语言，于是在Scala中万物皆对象，包括数字和函数。在这方面，Scala于Java存在很大不同：Java区分原生类型（比如boolean和int）和引用类型，并且不能吧函数当初变量操纵。</p>
<h2>4.1 数字和对象</h2>
<p>由于数字本身就是对象，所以他们也有方法。事实上我们平时使用的算数表达式（如下例）</p>

<div class="wp_codebox"><table><tr id="p142790"><td class="code" id="p1427code90"><pre class="java" style="font-family:monospace;"><span style="color: #cc66cc;">1</span> <span style="color: #339933;">+</span> <span style="color: #cc66cc;">2</span> <span style="color: #339933;">*</span> <span style="color: #cc66cc;">3</span> <span style="color: #339933;">/</span> x</pre></td></tr></table></div>

<p>是由方法调用组成的。它等效于下面的表达式，我们在上一节见过这个描述。</p>

<div class="wp_codebox"><table><tr id="p142791"><td class="code" id="p1427code91"><pre class="java" style="font-family:monospace;"><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span>.<span style="color: #339933;">+</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span>.<span style="color: #339933;">*</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">3</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>.<span style="color: #339933;">/</span><span style="color: #009900;">&#40;</span>x<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span></pre></td></tr></table></div>

<p>这也意味着<tt> +，-，*，/ </tt>在Scala中也是有效的名称。<br />
在第二个表达式中的这些括号是必须的，因为Scala的分词器使用最长规则来进行分词。所以他会把下面的表达式：</p>

<div class="wp_codebox"><table><tr id="p142792"><td class="code" id="p1427code92"><pre class="java" style="font-family:monospace;"><span style="color: #cc66cc;">1</span>.<span style="color: #339933;">+</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span></pre></td></tr></table></div>

<p>理解成表达项 1. ，+，和2的组合。这样的组合结果是由于1.是一个有效的表达项并且比表达项1要长，表达项1.会被当作1.0 ，使得它成为一个double而不是int。而下面的表达式阻止了分析器错误的理解</p>

<div class="wp_codebox"><table><tr id="p142793"><td class="code" id="p1427code93"><pre class="java" style="font-family:monospace;"><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span>.<span style="color: #339933;">+</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span></pre></td></tr></table></div>

<h2>4.2 函数与对象</h2>
<p>函数在Scala语言里面也是一个对象，也许这对于Java程序员来说这比较令人惊讶。于是吧函数作为参数进行传递、把它们存贮在变量中、或者当作另一个函数的返回值都是可能的。吧函数当成值进行操作是函数型编程语言的基石。<br />
为了解释为什么吧函数当作值进行操作是十分有用的，我们来考虑一个计时器函数。这个函数的目的是每隔一段时间就执行某些操作。那么如何吧我们要做的操作传入计时器呢？于是我们想吧他当作一个函数。这种目前的函数对于经常进行用户界面编程的程序员来说是最熟悉的：注册一个回调函数以便在事件发生后得到通知。<br />
在下面的程序中，计时器函数被叫做oncePerSceond，它接受一个回调函数作为参数。这种函数的类型被写作 () => Unit ，他们不接受任何参数也没有任何返回（Unit关键字类似于C/C++中的void）。程序的主函数调用计时器并传递一个打印某个句子的函数作为回调。换句话说，这个程序永无止境的每秒打印一个“time flies like an arrow”。</p>

<div class="wp_codebox"><table><tr id="p142794"><td class="code" id="p1427code94"><pre class="java" style="font-family:monospace;">object <span style="color: #003399;">Timer</span> <span style="color: #009900;">&#123;</span>
	def oncePerSecond<span style="color: #009900;">&#40;</span>callback<span style="color: #339933;">:</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">=&gt;</span> Unit<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">while</span> <span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> callback<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #003399;">Thread</span> sleep <span style="color: #cc66cc;">1000</span> <span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span>
	def timeFlies<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		println<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;time flies like an arrow...&quot;</span><span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#125;</span>
	def main<span style="color: #009900;">&#40;</span>args<span style="color: #339933;">:</span> <span style="color: #003399;">Array</span><span style="color: #009900;">&#91;</span><span style="color: #003399;">String</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		oncePerSecond<span style="color: #009900;">&#40;</span>timeFlies<span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>注意，我们输出字符串时使用了一个预定义的函数println而不是使用System.out中的那个。</p>
<h3>4.2.1 匿名函数</h3>
<p>我们可以吧这个程序改的更加易于理解。首先我们发现定义函数timeFlies的唯一目的就是当作传给oncePerSecond的参数。这么看来给这种只用一次的函数命名似乎没有什么太大的必要，事实上我们可以在用到这个函数的时候再定义它。这些可以通过匿名函数在Scala中实现，匿名函数顾名思义就是没有名字的函数。我们在新版的程序中将会使用一个匿名函数来代替原来的timeFlise函数，程序看起来像这样：</p>

<div class="wp_codebox"><table><tr id="p142795"><td class="code" id="p1427code95"><pre class="java" style="font-family:monospace;">object TimerAnonymous <span style="color: #009900;">&#123;</span>
	def oncePerSecond<span style="color: #009900;">&#40;</span>callback<span style="color: #339933;">:</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">=&gt;</span> Unit<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">while</span> <span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> callback<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #003399;">Thread</span> sleep <span style="color: #cc66cc;">1000</span> <span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span>
	def main<span style="color: #009900;">&#40;</span>args<span style="color: #339933;">:</span> <span style="color: #003399;">Array</span><span style="color: #009900;">&#91;</span><span style="color: #003399;">String</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		oncePerSecond<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">=&gt;</span>
			println<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;time flies like an arrow...&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>本例中的匿名函数使用了一个箭头（=>）吧他的参数列表和代码分开。在这里参数列表是空的，所以我们在右箭头的左边写上了一对空括号。函数体内容与上面的timeFlise是相同的。</p>
<h1>5 类</h1>
<p>正如我们所见，Scala是一门面向对象的语言，因此它拥有很多关于“类”的描述 。Scala中的类使用和Java类似的语法进行定义。但是一个重要的不同点在于Scala中的类可以拥有参数，这样就可以得出我们下面关于对复数类（Complex）的定义：</p>

<div class="wp_codebox"><table><tr id="p142796"><td class="code" id="p1427code96"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">class</span> Complex<span style="color: #009900;">&#40;</span>real<span style="color: #339933;">:</span> <span style="color: #003399;">Double</span>, imaginary<span style="color: #339933;">:</span> <span style="color: #003399;">Double</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	def re<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">=</span> real
	def im<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">=</span> imaginary
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>我们的复数类（Complex）接受两个参数：实部和虚部。这些参数必须在实例化时进行传递，就像这样：new Complex(1.5, 2.3)。类定义中包括两个叫做re和im的方法，分别接受上面提到的两个参数。<br />
值得注意的是这两个方法的返回类型并没有显式的声明出来。他们会被编译器自动识别。在本例中他们被识别为Double<br />
但是编译器并不总是像本例中的那样进行自动识别。不幸的是关于什么时候识别，什么时候不识别的规则相当冗杂。在实践中这通常不会成为一个问题，因为当编译器处理不了的时候会发出相当的抱怨。作为一个推荐的原则，Scala的新手们通常可以试着省略类型定义而让编译器通过上下文自己判断。久而久之，新手们就可以感知到什么时候应该省略类型，什么时候不应该。</p>
<h2>5.1 无参方法</h2>
<p>关于方法re和im还有一个小问题：你必须在名字后面加上一对括号来调用它们。请看下面的例子：</p>

<div class="wp_codebox"><table><tr id="p142797"><td class="code" id="p1427code97"><pre class="java" style="font-family:monospace;">object ComplexNumbers <span style="color: #009900;">&#123;</span>
	def main<span style="color: #009900;">&#40;</span>args<span style="color: #339933;">:</span> <span style="color: #003399;">Array</span><span style="color: #009900;">&#91;</span><span style="color: #003399;">String</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		val c <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Complex<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1.2</span>, <span style="color: #cc66cc;">3.4</span><span style="color: #009900;">&#41;</span>
		println<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;imaginary part: &quot;</span> <span style="color: #339933;">+</span> c.<span style="color: #006633;">im</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>你可能觉得吧这些函数当作变量使用，而不是当作函数进行调用，可能会更加令人感到舒服。事实上我们可以通过定义无参函数在Scala做到这点。这类函数与其他的具有0个参数的函数的不同点在于他们定义时不需要在名字后面加括弧，所以在使用时也不用加（但是无疑的，他们是函数），因此，我们的Complex类可以重新写成下面的样子；</p>

<div class="wp_codebox"><table><tr id="p142798"><td class="code" id="p1427code98"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">class</span> Complex<span style="color: #009900;">&#40;</span>real<span style="color: #339933;">:</span> <span style="color: #003399;">Double</span>, imaginary<span style="color: #339933;">:</span> <span style="color: #003399;">Double</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	def re <span style="color: #339933;">=</span> real
	def im <span style="color: #339933;">=</span> imaginary
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<h2>5.2 继承和覆盖</h2>
<p>Scala中的所有类都继承一个父类，当没有显示声明父类时（就像上面定义的Complex一样），它们的父类隐形指定为scala.AnyRef。<br />
在子类中覆盖父类的成员是可能的。但是你需要通过override修饰符显示指定成员的覆盖。这样的规则可以避免意外覆盖的情况发生。作为演示，我们在Complex的定义中覆盖了Object的toString方法。</p>

<div class="wp_codebox"><table><tr id="p142799"><td class="code" id="p1427code99"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">class</span> Complex<span style="color: #009900;">&#40;</span>real<span style="color: #339933;">:</span> <span style="color: #003399;">Double</span>, imaginary<span style="color: #339933;">:</span> <span style="color: #003399;">Double</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	def re <span style="color: #339933;">=</span> real
	def im <span style="color: #339933;">=</span> imaginary
	override def toString<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">=</span>
		<span style="color: #0000ff;">&quot;&quot;</span> <span style="color: #339933;">+</span> re <span style="color: #339933;">+</span> <span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>im <span style="color: #339933;">&amp;</span>lt<span style="color: #339933;">;</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #0000ff;">&quot;&quot;</span> <span style="color: #000000; font-weight: bold;">else</span> <span style="color: #0000ff;">&quot;+&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> im <span style="color: #339933;">+</span> <span style="color: #0000ff;">&quot;i&quot;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<h1>6 条件类和模式匹配</h1>
<p>树是在程序中常用的一个数据结构。例如编译器和解析器常常吧程序表示为树；XML文档结构也是树状的；还有一些集合是基于树的，例如红黑树。<br />
接下来我们将通过一个计算器程序来研究树在Scala中是如何表示和操纵的。这个程序的目标是处理一些由整数常量、变量和加号组成的简单的算数表达式，例如1 + 2 和 (x + x ) + (7 + y )。<br />
我们首先要决定如何表示这些表达式。最自然的方法就是树了，树的节点表示操作符（在这里只有加法），而树的叶节点表示值（这里表示常数和变量）。 在Java中，这样的树可以表示为一个超类的树的集合，节点由不同子类的实例表示。而在函数式语言中，我们可以使用代数类型（algebraic data-type）来达到同样的目的。Scala提供了一种介于两者之间的叫做条件类（Case Classes）的东西。</p>

<div class="wp_codebox"><table><tr id="p1427100"><td class="code" id="p1427code100"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">abstract</span> <span style="color: #000000; font-weight: bold;">class</span> Tree
<span style="color: #000000; font-weight: bold;">case</span> <span style="color: #000000; font-weight: bold;">class</span> Sum<span style="color: #009900;">&#40;</span>l<span style="color: #339933;">:</span> Tree, r<span style="color: #339933;">:</span> Tree<span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">extends</span> Tree
<span style="color: #000000; font-weight: bold;">case</span> <span style="color: #000000; font-weight: bold;">class</span> Var<span style="color: #009900;">&#40;</span>n<span style="color: #339933;">:</span> <span style="color: #003399;">String</span><span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">extends</span> Tree
<span style="color: #000000; font-weight: bold;">case</span> <span style="color: #000000; font-weight: bold;">class</span> <span style="color: #000000; font-weight: bold;">Const</span><span style="color: #009900;">&#40;</span>v<span style="color: #339933;">:</span> Int<span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">extends</span> Tree</pre></td></tr></table></div>

<p>我们实际上定义了三个条件类 Sum ,Var 和 Const 。这些类和普通类有若干不同：</p>
<ol>
<li>实例化时可以省略new关键字（例如你可以使用 Const(5)而不必使用 new Const(5) ）</li>
<li>参数的getter函数自动定义（例如你可以通过c.v来访问类Const的实例c在实例化时获取的参数v）</li>
<li>拥有默认的预定义equals和hashCode实现，这些实现可以按照值区别类实例是否相等，而不是通过用。</li>
<li>拥有默认的toString实现。这些实现返回值的代码实现（例如表达式x+1可以被表达成Sum(Var(x),Const(1))）</li>
<li>条件类的实例可以通过模式匹配进行分析，我们接下来就要讲这个特性。</li>
</ol>
<p>现在我们已经定义了表示我们算数表达式的数据类型，于是我们可以开始给他们定义对应的操作。我们将会首先编写一个在上下文中下计算表达式的函数。这里的上下文指的是变量与值的绑定关系。例如表达式x+1在x=5上下文中应该得出结果6。<br />
这样一来我们需要找到一个表示这种绑定关系的方法。当然我们可以使用某种类似hash-table的数据结构，不过我们也可以直接使用函数！一个上下文无非就是一个吧名称映射到值的函数。例如上面给出的{x → 5}的这个映射我们就可以在Scala中表示为：</p>

<div class="wp_codebox"><table><tr id="p1427101"><td class="code" id="p1427code101"><pre class="java" style="font-family:monospace;"><span style="color: #009900;">&#123;</span> <span style="color: #000000; font-weight: bold;">case</span> <span style="color: #0000ff;">&quot;x&quot;</span> <span style="color: #339933;">=&gt;</span> <span style="color: #cc66cc;">5</span> <span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>这个定义了一个函数:当参数等于字符串&#8221;x&#8221; 时返回整数5，否则抛出异常。<br />
在编写求值函数之前我们，我们需要给我们的上下文起个名字，以便在后面的代码里面引用。理所应当的我们使用了类型String=>Int，但是如果我们给这个类型起个名字，将会让程序更加简单易读，而且更加容易维护。在scala中，这件事情可以通过以下代码完成：</p>

<div class="wp_codebox"><table><tr id="p1427102"><td class="code" id="p1427code102"><pre class="java" style="font-family:monospace;">type <span style="color: #003399;">Environment</span> <span style="color: #339933;">=</span> <span style="color: #003399;">String</span> <span style="color: #339933;">=&gt;</span> Int</pre></td></tr></table></div>

<p>从现在开始，类型Environment就当作String到Int的函数类型名来使用了。<br />
现在我们可以开始定义求值函数了。从概念上来说，这是很简单的一个过程：两个表达式之和等于两个表达式分别求值后再求和；变量的值可以从上下文中提取；常量的值就是他本身。在Scala中表达这个没有什么难度：</p>

<div class="wp_codebox"><table><tr id="p1427103"><td class="code" id="p1427code103"><pre class="java" style="font-family:monospace;">def eval<span style="color: #009900;">&#40;</span>t<span style="color: #339933;">:</span> Tree, env<span style="color: #339933;">:</span> <span style="color: #003399;">Environment</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">:</span> Int <span style="color: #339933;">=</span> t match <span style="color: #009900;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">case</span> Sum<span style="color: #009900;">&#40;</span>l, r<span style="color: #009900;">&#41;</span> <span style="color: #339933;">=&gt;</span> eval<span style="color: #009900;">&#40;</span>l, env<span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> eval<span style="color: #009900;">&#40;</span>r, env<span style="color: #009900;">&#41;</span>
	<span style="color: #000000; font-weight: bold;">case</span> Var<span style="color: #009900;">&#40;</span>n<span style="color: #009900;">&#41;</span>	<span style="color: #339933;">=&gt;</span> env<span style="color: #009900;">&#40;</span>n<span style="color: #009900;">&#41;</span>
	<span style="color: #000000; font-weight: bold;">case</span> <span style="color: #000000; font-weight: bold;">Const</span><span style="color: #009900;">&#40;</span>v<span style="color: #009900;">&#41;</span>	<span style="color: #339933;">=&gt;</span> v
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>求值函数通过对树t进行模式匹配来完成工作。直观的来看，上述代码的思路是十分清晰的：</p>
<ol>
<li>第一个模式检查传入的树的根节点是否是一个Sum，如果是，它将会吧树的左边子树赋值给l,右边的子树赋值给r，然后按照箭头后面的代码进行处理；这里的代码可以（并且的确）使用了在左边匹配时所绑定的变量，比如这里的l和r。</li>
<li>如果第一个检查没有成功，表明传入的树不是Sum,程序继续检查他是不是一个Var；如果是，则吧变量名赋给n然后继续右边的操作。</li>
<li>如果第二个检查也失败了，表示t既不是Sum也不是Var，程序检查他是不是Const。如果是着赋值变量并且继续。</li>
<li>最后，如果所有检查都失败了。就抛出一个异常表示模式匹配失败。这只有在Tree的其他之类被定义时才可能发生。</li>
</ol>
<p>我们可以看出模式匹配的基本思想就是试图对一个值进行多种模式的匹配，并且在匹配的同时将匹配值拆分成若干子项，最后对匹配值与其子项执行某些代码。<br />
一个熟练的面向对象的程序员可能想知道为什么我们不吧eval定义为Tree或者其之类的成员函数。我们事实上可以这么做。因为Scala允许条件类象普通类那样定义成员。决定是否使用模式匹配或者成员函数取决于程序员的喜好，不过这个取舍还和可扩展性有重要联系：</p>
<ol>
<li>当你使用成员函数时，你可以通过继承Tree从而很容易的添加新的节点类型，但是另外一方面，添加新的操作也是很繁杂的工作，因为你不得不修改Tree的所有子类。</li>
<li>当你使用模式匹配是，形势正好逆转过来，添加新的节点类型要求你修改所有的对树使用模式匹配的函数，但是另一方面，添加一个新的操作只需要再添加一个模式匹配函数就可以了。</li>
</ol>
<p>下面我们来更详细的了解模式匹配，让我们再给表达式定义一个操作：对符号求导数。读者们也许想先记住下面关于此操作的若干规则：</p>
<ol>
<li>和的导数等于导数的和，</li>
<li>如果符号等以求导的符号，则导数为1，否则为0.</li>
<li>参数的导数永远为0。</li>
</ol>
<p>上述规则可以直接翻译成Scala代码:</p>

<div class="wp_codebox"><table><tr id="p1427104"><td class="code" id="p1427code104"><pre class="java" style="font-family:monospace;">def derive<span style="color: #009900;">&#40;</span>t<span style="color: #339933;">:</span> Tree, v<span style="color: #339933;">:</span> <span style="color: #003399;">String</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">:</span> Tree <span style="color: #339933;">=</span> t match <span style="color: #009900;">&#123;</span> 
	<span style="color: #000000; font-weight: bold;">case</span> Sum<span style="color: #009900;">&#40;</span>l, r<span style="color: #009900;">&#41;</span> <span style="color: #339933;">=&gt;</span> Sum<span style="color: #009900;">&#40;</span>derive<span style="color: #009900;">&#40;</span>l, v<span style="color: #009900;">&#41;</span>, derive<span style="color: #009900;">&#40;</span>r, v<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> 
	<span style="color: #000000; font-weight: bold;">case</span> Var<span style="color: #009900;">&#40;</span>n<span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>v <span style="color: #339933;">==</span> n<span style="color: #009900;">&#41;</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000000; font-weight: bold;">Const</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span>
	<span style="color: #000000; font-weight: bold;">case</span> _ <span style="color: #339933;">=&gt;</span> <span style="color: #000000; font-weight: bold;">Const</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>这个函数使用了两个关于模式匹配的功能，首先case语句可以拥有一个guard子句：一个if条件表达式。除非guard的条件成立，否则该模式不会成功匹配。其次是通配符：<tt>_</tt> 。这个模式表示和所有值匹配而不对任何变量赋值。<br />
事实上我们还远没有触及模式匹配的全部精髓。但是我们限于篇幅原因不得不再此停笔了。下面我们看看这个两个函数是如何在一个实例上运行的。为了达到这个目前我们写了一个简单的main函数来对表达式<tt>(x + x ) + (7 + y )</tt>进行若干操作：首先计算当<tt>{x → 5, y → 7}</tt>时表达式的值，然后分别对x和y求导。</p>

<div class="wp_codebox"><table><tr id="p1427105"><td class="code" id="p1427code105"><pre class="java" style="font-family:monospace;">def main<span style="color: #009900;">&#40;</span>args<span style="color: #339933;">:</span> <span style="color: #003399;">Array</span><span style="color: #009900;">&#91;</span><span style="color: #003399;">String</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	val exp<span style="color: #339933;">:</span> Tree <span style="color: #339933;">=</span> Sum<span style="color: #009900;">&#40;</span>Sum<span style="color: #009900;">&#40;</span>Var<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;x&quot;</span><span style="color: #009900;">&#41;</span>,Var<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;x&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>,Sum<span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">Const</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">7</span><span style="color: #009900;">&#41;</span>,Var<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;y&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> 
	val env<span style="color: #339933;">:</span> <span style="color: #003399;">Environment</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#123;</span> <span style="color: #000000; font-weight: bold;">case</span> <span style="color: #0000ff;">&quot;x&quot;</span> <span style="color: #339933;">=&gt;</span> <span style="color: #cc66cc;">5</span> <span style="color: #000000; font-weight: bold;">case</span> <span style="color: #0000ff;">&quot;y&quot;</span> <span style="color: #339933;">=&gt;</span> <span style="color: #cc66cc;">7</span> <span style="color: #009900;">&#125;</span> 
	println<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Expression: &quot;</span> <span style="color: #339933;">+</span> exp<span style="color: #009900;">&#41;</span>
	println<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Evaluation with x=5, y=7: &quot;</span> <span style="color: #339933;">+</span> eval<span style="color: #009900;">&#40;</span>exp, env<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
	println<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Derivative relative to x:<span style="color: #000099; font-weight: bold;">\n</span> &quot;</span> <span style="color: #339933;">+</span> derive<span style="color: #009900;">&#40;</span>exp, <span style="color: #0000ff;">&quot;x&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
	println<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Derivative relative to y:<span style="color: #000099; font-weight: bold;">\n</span> &quot;</span> <span style="color: #339933;">+</span> derive<span style="color: #009900;">&#40;</span>exp, <span style="color: #0000ff;">&quot;y&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>执行程序，我们能得到以下输出：</p>

<div class="wp_codebox"><table><tr id="p1427106"><td class="code" id="p1427code106"><pre class="java" style="font-family:monospace;">Expression<span style="color: #339933;">:</span> Sum<span style="color: #009900;">&#40;</span>Sum<span style="color: #009900;">&#40;</span>Var<span style="color: #009900;">&#40;</span>x<span style="color: #009900;">&#41;</span>,Var<span style="color: #009900;">&#40;</span>x<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>,Sum<span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">Const</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">7</span><span style="color: #009900;">&#41;</span>,Var<span style="color: #009900;">&#40;</span>y<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> Evaluation with x<span style="color: #339933;">=</span><span style="color: #cc66cc;">5</span>, y<span style="color: #339933;">=</span><span style="color: #cc66cc;">7</span><span style="color: #339933;">:</span> <span style="color: #cc66cc;">24</span>
Derivative relative to x<span style="color: #339933;">:</span> Sum<span style="color: #009900;">&#40;</span>Sum<span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">Const</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span>,<span style="color: #000000; font-weight: bold;">Const</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>,Sum<span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">Const</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span>,<span style="color: #000000; font-weight: bold;">Const</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
Derivative relative to y<span style="color: #339933;">:</span> Sum<span style="color: #009900;">&#40;</span>Sum<span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">Const</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span>,<span style="color: #000000; font-weight: bold;">Const</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>,Sum<span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">Const</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span>,<span style="color: #000000; font-weight: bold;">Const</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span></pre></td></tr></table></div>

<p>通过研究程序输出，我们能看到求导的输出可以在被打印之前简化，使用模式匹配定义一个简化函数是挺有意思的（不过也需要一定的技巧）工作。读者可以尝试自己完成这个函数。</p>
<h1>7 Trait</h1>
<p>除了从父类集成代码外，Scala中的类还允许从一个或者多个traits中导入代码。<br />
对于Java程序员来说理解traits的最好方法就是把他们当作可以包含代码的接口（interface）。在Scala中，当一个类继承一个trait时，它就实现了这个trait的接口，同时还从这个trait中继承了所有的代码。<br />
让我们通过一个典型的实例来看看这种trait机制是如何发挥作用的：排序对象。能够比较若干给定类型的对象在实际应用中是很有用的，比如在进行排序时。在Java语言中可以比较的对象是通过实现Comparable接口完成的 。在Scala中我们可以通过吧Comparable定义为trait来做的比Java好一些。我们吧这个trait叫做Ord。<br />
在比较对象时，一下六种关系通常使用率最高：小于、小于等于、等于、不等于、大于等于、大于。但是把他们都定义一次无疑是很没用而且繁琐的。尤其是六种关系中的四种其实是可以通过其他两种关系导出的。例如给定等于和小于的定义后就可以推导出其他的定义。于是在Scala中，这些推导可以通过下面这个trait实现：</p>

<div class="wp_codebox"><table><tr id="p1427107"><td class="code" id="p1427code107"><pre class="java" style="font-family:monospace;">trait Ord <span style="color: #009900;">&#123;</span>
	def <span style="color: #339933;">&amp;</span>lt<span style="color: #339933;">;</span> <span style="color: #009900;">&#40;</span>that<span style="color: #339933;">:</span> <span style="color: #003399;">Any</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">:</span> <span style="color: #003399;">Boolean</span>
	def <span style="color: #339933;">&amp;</span>lt<span style="color: #339933;">;=</span><span style="color: #009900;">&#40;</span>that<span style="color: #339933;">:</span> <span style="color: #003399;">Any</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">:</span> <span style="color: #003399;">Boolean</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">this</span> <span style="color: #339933;">&amp;</span>lt<span style="color: #339933;">;</span> that<span style="color: #009900;">&#41;</span> <span style="color: #339933;">||</span> <span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">this</span> <span style="color: #339933;">==</span> that<span style="color: #009900;">&#41;</span>
	def <span style="color: #339933;">&gt;</span> <span style="color: #009900;">&#40;</span>that<span style="color: #339933;">:</span> <span style="color: #003399;">Any</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">:</span> <span style="color: #003399;">Boolean</span> <span style="color: #339933;">=</span> <span style="color: #339933;">!</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">this</span> <span style="color: #339933;">&amp;</span>lt<span style="color: #339933;">;=</span> that<span style="color: #009900;">&#41;</span>
	def <span style="color: #339933;">&gt;=</span><span style="color: #009900;">&#40;</span>that<span style="color: #339933;">:</span> <span style="color: #003399;">Any</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">:</span> <span style="color: #003399;">Boolean</span> <span style="color: #339933;">=</span> <span style="color: #339933;">!</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">this</span> <span style="color: #339933;">&amp;</span>lt<span style="color: #339933;">;</span> that<span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>这个定义在建立了一个叫做与Java中的 Comparable 等效的叫做 Ord的类型的同时还实现了使用抽象的一种关系推导其他三种的接口。比较相等性的方法没有出现是由于他已经默认存在于所有对象中了。<br />
上面使用的叫做Any的类型表示了Scala中所有类的共同超类。事实上它就等于Java语言中的Object。<br />
要使的一个类可以被比较，就需要可以比较他们是否相等或者大小关系，而这些都混合在上面的类Ord中了。现在我们来写一个Date类来表示格利高里历中的日期。这个日期由年、月、日三个部分组成，每个部分都可以用一个整数表示。所有我们就得出了下面这个定义：</p>

<div class="wp_codebox"><table><tr id="p1427108"><td class="code" id="p1427code108"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">class</span> <span style="color: #003399;">Date</span><span style="color: #009900;">&#40;</span>y<span style="color: #339933;">:</span> Int, m<span style="color: #339933;">:</span> Int, d<span style="color: #339933;">:</span> Int<span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">extends</span> Ord <span style="color: #009900;">&#123;</span>
	def year <span style="color: #339933;">=</span> y 
	def month <span style="color: #339933;">=</span> m 
	def day <span style="color: #339933;">=</span> d
	override def toString<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">:</span> <span style="color: #003399;">String</span> <span style="color: #339933;">=</span> year <span style="color: #339933;">+</span> <span style="color: #0000ff;">&quot;-&quot;</span> <span style="color: #339933;">+</span> month <span style="color: #339933;">+</span> <span style="color: #0000ff;">&quot;-&quot;</span> <span style="color: #339933;">+</span> day
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>注意在类名后出现的extends Ord。这表示了这个类继承了Ord这个trait。<br />
然后我们重新定义了equals这个从Object继承来的方法，好让他能够正确的比较我们日期中的每个部分。原来的equals函数的行为与Java中的一样，是按照对象的指针进行比较的。我们可以得出下面的代码。</p>

<div class="wp_codebox"><table><tr id="p1427109"><td class="code" id="p1427code109"><pre class="java" style="font-family:monospace;">override def equals<span style="color: #009900;">&#40;</span>that<span style="color: #339933;">:</span> <span style="color: #003399;">Any</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">:</span> <span style="color: #003399;">Boolean</span> <span style="color: #339933;">=</span>
that.<span style="color: #006633;">isInstanceOf</span><span style="color: #009900;">&#91;</span><span style="color: #003399;">Date</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">&amp;</span>amp<span style="color: #339933;">;&amp;</span>amp<span style="color: #339933;">;</span> <span style="color: #009900;">&#123;</span>
	val o <span style="color: #339933;">=</span> that.<span style="color: #006633;">asInstanceOf</span><span style="color: #009900;">&#91;</span><span style="color: #003399;">Date</span><span style="color: #009900;">&#93;</span>
	o.<span style="color: #006633;">day</span> <span style="color: #339933;">==</span> day <span style="color: #339933;">&amp;</span>amp<span style="color: #339933;">;&amp;</span>amp<span style="color: #339933;">;</span> o.<span style="color: #006633;">month</span> <span style="color: #339933;">==</span> month <span style="color: #339933;">&amp;</span>amp<span style="color: #339933;">;&amp;</span>amp<span style="color: #339933;">;</span> o.<span style="color: #006633;">year</span> <span style="color: #339933;">==</span> year
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>这个函数使用了预定义函数 isInstanceOf 和asInstanceOf 。第一个isInstanceOf 类似Java中的 instanceof ：当且仅当对象是给定类型的实例时才返回true。第二个 asInstanceOf 对应Java中的类型转换操作：当对象是给定类型的子类时转换，否则抛出ClassCastException。<br />
最后我们还需要定义测试小于关系的函数，如下面所示。这个函数使用了预定义的函数error ，它可以使用给定字符串抛出一个异常。</p>

<div class="wp_codebox"><table><tr id="p1427110"><td class="code" id="p1427code110"><pre class="java" style="font-family:monospace;">def <span style="color: #339933;">&amp;</span>lt<span style="color: #339933;">;</span><span style="color: #009900;">&#40;</span>that<span style="color: #339933;">:</span> <span style="color: #003399;">Any</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">:</span> <span style="color: #003399;">Boolean</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span>that.<span style="color: #006633;">isInstanceOf</span><span style="color: #009900;">&#91;</span><span style="color: #003399;">Date</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>
		error<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;cannot compare &quot;</span> <span style="color: #339933;">+</span> that <span style="color: #339933;">+</span> <span style="color: #0000ff;">&quot; and a Date&quot;</span><span style="color: #009900;">&#41;</span>
	val o <span style="color: #339933;">=</span> that.<span style="color: #006633;">asInstanceOf</span><span style="color: #009900;">&#91;</span><span style="color: #003399;">Date</span><span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#40;</span>year <span style="color: #339933;">&amp;</span>lt<span style="color: #339933;">;</span> o.<span style="color: #006633;">year</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">||</span>
		<span style="color: #009900;">&#40;</span>year <span style="color: #339933;">==</span> o.<span style="color: #006633;">year</span> <span style="color: #339933;">&amp;</span>amp<span style="color: #339933;">;&amp;</span>amp<span style="color: #339933;">;</span> <span style="color: #009900;">&#40;</span>month <span style="color: #339933;">&amp;</span>lt<span style="color: #339933;">;</span> o.<span style="color: #006633;">month</span> <span style="color: #339933;">||</span>
		<span style="color: #009900;">&#40;</span>month <span style="color: #339933;">==</span> o.<span style="color: #006633;">month</span> <span style="color: #339933;">&amp;</span>amp<span style="color: #339933;">;&amp;</span>amp<span style="color: #339933;">;</span> day <span style="color: #339933;">&amp;</span>lt<span style="color: #339933;">;</span> o.<span style="color: #006633;">day</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>以上就是Data的完整定义了。这个类的实例既可以作为日期显示，也可以进行比较。而且他们都定义了6种比较操作：其中两种 ： equals和&lt; 是我们直接定义的，而其他的是从Ord中继承的。<br />
Traits 的应用远不止于此，不过更加深入的讨论不再本文的讨论范围内。</p>
<h1>8 泛型</h1>
<p>我们在这文章将要学习Scala的最后一个特性是泛型。Java程序员们可能最近才知道这个东西，因为这个特性是在Java1.5中才被加入的。<br />
泛型是一种可以让你使用类型参数的设施。例如当一个程序员正在实现一个链表时，将不得不面对诸如如何决定链表中节点保存数据的类型之类的问题。正由于这是一个链表，所以往往会在不同的环境中使用，因此，我们不能草率的决定节点数据类型，比如说Int。这种决定是相当的草率且局限性的。<br />
以前Java程序员们通常使用Object，所有类型的超类，来解决问题。但是这种方法远远算不上是理想方案，例如他无法处理基本类型如int、long、float等（1.6中的autobox特性可以解决这个问题——译者注），而且会让使用者不得不使用大量的动态类型转换。<br />
Scala中的泛型机制可以很轻松的解决这些个问题。来看下面这个最简单的容器类：一个引用，可以指向某个对象或者指向空。</p>

<div class="wp_codebox"><table><tr id="p1427111"><td class="code" id="p1427code111"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">class</span> <span style="color: #003399;">Reference</span><span style="color: #009900;">&#91;</span>T<span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">private</span> var contents<span style="color: #339933;">:</span> T <span style="color: #339933;">=</span> _
	def set<span style="color: #009900;">&#40;</span>value<span style="color: #339933;">:</span> T<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> contents <span style="color: #339933;">=</span> value <span style="color: #009900;">&#125;</span>
	def get<span style="color: #339933;">:</span> T <span style="color: #339933;">=</span> contents
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>Reference类具有一个叫做T的类型参数来表示他说引用的对象的类型。这个类型在Reference中作为了变量和函数的参数或者返回类型。<br />
上面的代码还演示了Scala中变量的表达方式，这个无需更多的解释大家都能清楚。不过值得注意的是我们给他赋予的初始值：<tt>_</tt> ,这个表示一个默认值，对于数字类型来说是0，对于boolean来说是false,对于Unit（函数签名）来说是() （无参数无返回），对于其他来说是null。<br />
要使用这个Reference 类，你需要制定他的类型参数，来告知这个引用到底引用了什么类型。例如要创建一个指向Int的引用，你可以这么写：</p>

<div class="wp_codebox"><table><tr id="p1427112"><td class="code" id="p1427code112"><pre class="java" style="font-family:monospace;">object IntegerReference <span style="color: #009900;">&#123;</span>
	def main<span style="color: #009900;">&#40;</span>args<span style="color: #339933;">:</span> <span style="color: #003399;">Array</span><span style="color: #009900;">&#91;</span><span style="color: #003399;">String</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> 
		val cell <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">Reference</span><span style="color: #009900;">&#91;</span>Int<span style="color: #009900;">&#93;</span> cell.<span style="color: #006633;">set</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">13</span><span style="color: #009900;">&#41;</span>
		println<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Reference contains the half of &quot;</span> <span style="color: #339933;">+</span> <span style="color: #009900;">&#40;</span>cell.<span style="color: #006633;">get</span> <span style="color: #339933;">*</span> <span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>就像我们看到的，我们不需要吧get的返回值强制转换成Int，而且由于它被声明成Int，你不可能在这个引用中放置其他类型的对象。</p>
<h1>9 结语</h1>
<p><a name="9_结语"><br />
本文简要介绍了Scala语言的一些特性，并且同时展示了若干实例。有兴趣的读者可以继续阅读本文的姊妹篇：《Scala By Example》，该文覆盖了Scala的更多的高级特性。如果需要还可以去阅读《Scala Language Specification》。<br />
</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1427</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>QQ2009,2010登录密码读取</title>
		<link>http://www.shuax.com/?p=1409</link>
		<comments>http://www.shuax.com/?p=1409#comments</comments>
		<pubDate>Sun, 14 Feb 2010 03:58:51 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[DIY]]></category>
		<category><![CDATA[QQ]]></category>
		<category><![CDATA[破解]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1409</guid>
		<description><![CDATA[在QQ2008的时候，通过更新好友的方式会导致QQ重新登录，然后从登陆的命令行，就可以获得加密后的QQ密码。命令行如下：QQ路径\QQ.exe /START QQUIN:QQ号 PWDHASH:加密后的密码。 加密方式为MD5+BASE64。 现在QQ2009已经改变了登录方式，QQ登录的时候不再有命令行了。 但是有人发现有个地方还有命令行，那就是点击面板上QQ游戏直接登录。 会出现相同的命令行。同样可以读取密码HASH了。 我已经写好了工具，请在点击QQ游戏后运行。 QQ密码读取 文件大小：2.9 KB&#12288;文件名称：QQPWD.rar 说了这么多，我的意思就是一定要及时的关闭QQ，否则如果你的密码很简单，人家很容易就破解了。]]></description>
			<content:encoded><![CDATA[<p>在QQ2008的时候，通过更新好友的方式会导致QQ重新登录，然后从登陆的命令行，就可以获得加密后的QQ密码。命令行如下：QQ路径\QQ.exe /START QQUIN:QQ号 PWDHASH:加密后的密码。</p>
<p>加密方式为MD5+BASE64。</p>
<p>现在QQ2009已经改变了登录方式，QQ登录的时候不再有命令行了。</p>
<p>但是有人发现有个地方还有命令行，那就是点击面板上QQ游戏直接登录。</p>
<p>会出现相同的命令行。同样可以读取密码HASH了。</p>
<p>我已经写好了工具，请在点击QQ游戏后运行。</p>
<p><div class='download-link'>
							<a href='http://www.shuax.com/download.php?file=http://www.shuax.com/wp-content/uploads/2010/02/QQPWD.rar'><img alt='Download' class='leftalign' src='http://www.shuax.com/wp-content/plugins/dBeautifier/icons/downloads.png' /></a>
							<h4>
								<a href='http://www.shuax.com/download.php?file=http://www.shuax.com/wp-content/uploads/2010/02/QQPWD.rar'>QQ密码读取</a>
							</h4><p>文件大小：2.9 KB&#12288;文件名称：QQPWD.rar</p>
						</div></p>
<p>说了这么多，我的意思就是一定要及时的关闭QQ，否则如果你的密码很简单，人家很容易就破解了。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1409</wfw:commentRss>
		<slash:comments>23</slash:comments>
		</item>
		<item>
		<title>耍下社区建立</title>
		<link>http://www.shuax.com/?p=1406</link>
		<comments>http://www.shuax.com/?p=1406#comments</comments>
		<pubDate>Sat, 13 Feb 2010 01:48:33 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[我的生活]]></category>
		<category><![CDATA[网站]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1406</guid>
		<description><![CDATA[觉得比较有用，建了个论坛，欢迎各位来访。 论坛里面发帖聊天就方便多了哈。 http://shuax.uueasy.com/ 哦，还有一句话。 祝大家新春快乐啊！！！]]></description>
			<content:encoded><![CDATA[<p>觉得比较有用，建了个论坛，欢迎各位来访。</p>
<p>论坛里面发帖聊天就方便多了哈。<br />
http://shuax.uueasy.com/</p>
<p>哦，还有一句话。</p>
<p>祝大家新春快乐啊！！！</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1406</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>测量开机时间</title>
		<link>http://www.shuax.com/?p=1400</link>
		<comments>http://www.shuax.com/?p=1400#comments</comments>
		<pubDate>Wed, 10 Feb 2010 07:52:39 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[原创软件]]></category>
		<category><![CDATA[原创]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1400</guid>
		<description><![CDATA[有人说Win7的启动时间比Vista慢得多，我才不信呢，反正我觉得Win7启动挺快的。 不过口说无凭，还是自己测量一下吧。开动双手写个程序，10分钟搞定。 呵呵，程序没什么技术含量，就把源码也贴上来了。 下载地址：(10号的程序有误，请大家重新下载) 开机计时 文件大小：3.9 KB&#12288;文件名称：StartTime.rar PS：我的启动时间是24s]]></description>
			<content:encoded><![CDATA[<p>有人说Win7的启动时间比Vista慢得多，我才不信呢，反正我觉得Win7启动挺快的。</p>
<p>不过口说无凭，还是自己测量一下吧。开动双手写个程序，10分钟搞定。</p>
<p>呵呵，程序没什么技术含量，就把源码也贴上来了。</p>
<p>下载地址：(10号的程序有误，请大家重新下载)<br />
<div class='download-link'>
							<a href='http://www.shuax.com/download.php?file=http://www.shuax.com/download/StartTime.rar'><img alt='Download' class='leftalign' src='http://www.shuax.com/wp-content/plugins/dBeautifier/icons/downloads.png' /></a>
							<h4>
								<a href='http://www.shuax.com/download.php?file=http://www.shuax.com/download/StartTime.rar'>开机计时</a>
							</h4><p>文件大小：3.9 KB&#12288;文件名称：StartTime.rar</p>
						</div><br />
PS：我的启动时间是24s</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1400</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>武侠版2001-2009电子书</title>
		<link>http://www.shuax.com/?p=1397</link>
		<comments>http://www.shuax.com/?p=1397#comments</comments>
		<pubDate>Wed, 10 Feb 2010 05:04:25 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[实用软件]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1397</guid>
		<description><![CDATA[喜欢看武侠小说的有福了，你肯定知道《武侠版》吧。 这里有从01年到09点的所有电子书。TXT格式的。 下载地址：http://www.uushare.com/user/shuax/file/2569373]]></description>
			<content:encoded><![CDATA[<p>喜欢看武侠小说的有福了，你肯定知道《武侠版》吧。</p>
<p>这里有从01年到09点的所有电子书。TXT格式的。</p>
<p><span id="more-1397"></span></p>
<p>下载地址：<a href="http://www.uushare.com/user/shuax/file/2569373" target="_blank">http://www.uushare.com/user/shuax/file/2569373</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1397</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>QQ2010beta插件删除+本地会员补丁</title>
		<link>http://www.shuax.com/?p=1331</link>
		<comments>http://www.shuax.com/?p=1331#comments</comments>
		<pubDate>Tue, 09 Feb 2010 11:25:18 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[DIY]]></category>
		<category><![CDATA[QQ]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1331</guid>
		<description><![CDATA[使用方法 1、安装QQ2010Beta，官方下载地址：http://im.qq.com 2、下载补丁，复制到QQ\bin目录下，运行即可。 3、到Plugin文件夹下删除您不需要的插件（建议改名，备份）。 4、附插件名称（可以全部删除，但是不推荐）: Com.Tencent.Advertisement…………广告 Com.Tencent.AudioVideo …………语音视频 Com.Tencent.Bookmark …………QQ书签 Com.Tencent.CRM …………企业好友 Com.Tencent.FileTransfer …………文件传送 Com.Tencent.GameLife………… 游戏人生 Com.Tencent.Graffito …………会员涂鸦表情 Com.Tencent.Mail …………QQ邮箱 Com.Tencent.Memo …………网络备忘录 Com.Tencent.MMOG …………QQ网游 Com.Tencent.NetBar …………网吧好友 Com.Tencent.NetDisk …………网络硬盘、群共享 Com.Tencent.PaiPai …………拍拍购物 Com.Tencent.PaiPaiGift …………送礼许愿 Com.Tencent.PayCenter …………我的钱包、财富通 Com.Tencent.QBar………… Q吧 Com.Tencent.QQGame …………QQ游戏 Com.Tencent.QQLive …………QQ直播 Com.Tencent.QQMusic …………QQ音乐 Com.Tencent.QQPet …………QQ宠物 Com.Tencent.QQRing …………会员炫铃 Com.Tencent.QQShow …………QQ秀 Com.Tencent.QQVip …………会员登录 Com.Tencent.QQVipMisc …………会员选项菜单 Com.Tencent.QQWebsite …………QQ订阅、腾讯图书 Com.Tencent.Qzone]]></description>
			<content:encoded><![CDATA[<p><strong>使用方法</strong></p>
<p><strong> </strong>1、安装QQ2010Beta，官方下载地址：http://im.qq.com</p>
<p>2、下载补丁，复制到QQ\bin目录下，运行即可。</p>
<p>3、到Plugin文件夹下删除您不需要的插件（建议改名，备份）。</p>
<p>4、附插件名称（可以全部删除，但是不推荐）:</p>
<p><span id="more-1331"></span><br />
Com.Tencent.Advertisement…………广告<br />
Com.Tencent.AudioVideo …………语音视频<br />
Com.Tencent.Bookmark …………QQ书签<br />
Com.Tencent.CRM …………企业好友<br />
Com.Tencent.FileTransfer …………文件传送<br />
Com.Tencent.GameLife………… 游戏人生<br />
Com.Tencent.Graffito …………会员涂鸦表情<br />
Com.Tencent.Mail …………QQ邮箱<br />
Com.Tencent.Memo …………网络备忘录<br />
Com.Tencent.MMOG …………QQ网游<br />
Com.Tencent.NetBar …………网吧好友<br />
Com.Tencent.NetDisk …………网络硬盘、群共享<br />
Com.Tencent.PaiPai …………拍拍购物<br />
Com.Tencent.PaiPaiGift …………送礼许愿<br />
Com.Tencent.PayCenter …………我的钱包、财富通<br />
Com.Tencent.QBar………… Q吧<br />
Com.Tencent.QQGame …………QQ游戏<br />
Com.Tencent.QQLive …………QQ直播<br />
Com.Tencent.QQMusic …………QQ音乐<br />
Com.Tencent.QQPet …………QQ宠物<br />
Com.Tencent.QQRing …………会员炫铃<br />
Com.Tencent.QQShow …………QQ秀<br />
Com.Tencent.QQVip …………会员登录<br />
Com.Tencent.QQVipMisc …………会员选项菜单<br />
Com.Tencent.QQWebsite …………QQ订阅、腾讯图书<br />
Com.Tencent.Qzone …………QQ空间<br />
Com.Tencent.RemoteHelp………… 远程协助<br />
Com.Tencent.SNSApp …………好友印象<br />
Com.Tencent.SoBar …………搜吧<br />
Com.Tencent.Soso …………SOSO搜索<br />
…………</p>
<div id="attachment_1336" class="wp-caption alignnone" style="width: 373px"><a class="lightbox" href="http://www.shuax.com/wp-content/uploads/2010/02/qq1530.jpg"><img class="size-full wp-image-1336 " title="qq1530" src="http://www.shuax.com/wp-content/uploads/2010/02/qq1530.jpg" alt="" width="363" height="385" /></a><p class="wp-caption-text">界面</p></div>
<p>下载地址：<div class='download-link'>
							<a href='http://www.shuax.com/download.php?file=http://www.shuax.com/wp-content/uploads/2010/02/1530.rar'><img alt='Download' class='leftalign' src='http://www.shuax.com/wp-content/plugins/dBeautifier/icons/downloads.png' /></a>
							<h4>
								<a href='http://www.shuax.com/download.php?file=http://www.shuax.com/wp-content/uploads/2010/02/1530.rar'>QQ2010beta破解补丁</a>
							</h4><p>文件大小：96.8 KB&#12288;文件名称：1530.rar</p>
						</div></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1331</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>我正在使用的软件</title>
		<link>http://www.shuax.com/?p=1295</link>
		<comments>http://www.shuax.com/?p=1295#comments</comments>
		<pubDate>Thu, 04 Feb 2010 23:44:30 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[实用软件]]></category>
		<category><![CDATA[软件]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1295</guid>
		<description><![CDATA[操作系统：MSDN Windows 7 RTM English x64 激活工具：WIN7 Activation 1.7 压缩解压：WinRAR/7-Zip 音乐播放：AirPlay/QQ音乐 视频播放：MPlayer 下载工具：迅雷+迅雷增强工具 聊天工具：QQ/LibFetion 办公软件：WPS2009/Foxit reader 文件传输：FileZilla FTP Client 网页浏览：搜狗浏览器 编程开发：Code::Blocks/Notepad2/RadASM 精简软件：比如PhotoShop、Illustrator等 输入法：QQ拼音]]></description>
			<content:encoded><![CDATA[<p>操作系统：MSDN Windows 7 RTM English x64</p>
<p>激活工具：WIN7 Activation 1.7</p>
<p>压缩解压：WinRAR/7-Zip</p>
<p><span id="more-1295"></span>音乐播放：<a href="http://www.podez.com/">AirPlay</a>/<a href="http://music.qq.com/">QQ音乐</a></p>
<p>视频播放：<a href="http://mplayer-ww.sourceforge.net/">MPlayer</a></p>
<p>下载工具：<a href="http://www.xunlei.com/">迅雷</a>+<a href="http://www.shuax.com/?p=815">迅雷增强工具</a></p>
<p>聊天工具：<a href="http://www.shuax.com/?p=1097">QQ</a>/<a href="http://www.libfetion.cn/">LibFetion</a></p>
<p>办公软件：<a href="http://www.wps.cn/">WPS2009</a>/<a href="http://www.fuxinsoftware.com.cn/">Foxit reader</a></p>
<p>文件传输：<a href="http://filezilla-project.org/">FileZilla FTP Client</a></p>
<p>网页浏览：<a href="http://ie.sogou.com/">搜狗浏览器</a></p>
<p>编程开发：<a href="http://www.codeblocks.org/">Code::Blocks</a>/<a href="http://www.greendown.cn/soft/1780.html">Notepad2</a>/<a href="http://www.crsky.com/soft/5471.html">RadASM</a></p>
<p><a href="http://ansifa.blog.163.com/">精简软件</a>：比如PhotoShop、Illustrator等</p>
<p>输入法：<a href="http://py.qq.com/">QQ拼音</a></p>
<p><a class="lightbox" rel="lightbox" href="http://www.shuax.com/wp-content/uploads/2010/02/xl.jpg"><img class="alignnone size-full wp-image-1309" title="xl" src="http://www.shuax.com/wp-content/uploads/2010/02/xl.jpg" alt="" width="220" height="220" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1295</wfw:commentRss>
		<slash:comments>22</slash:comments>
		</item>
		<item>
		<title>访问量突破10万</title>
		<link>http://www.shuax.com/?p=1276</link>
		<comments>http://www.shuax.com/?p=1276#comments</comments>
		<pubDate>Tue, 02 Feb 2010 07:50:12 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[我的生活]]></category>
		<category><![CDATA[网站]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1276</guid>
		<description><![CDATA[感谢各位朋友的来访。 博客开了有半年多了，访问量终于突破10万，我会继续努力的。]]></description>
			<content:encoded><![CDATA[<p>感谢各位朋友的来访。<br />
博客开了有半年多了，访问量终于突破10万，我会继续努力的。</p>
<p><span id="more-1276"></span></p>
<p><img class="alignnone size-full wp-image-1277" title="stats" src="http://www.shuax.com/wp-content/uploads/2010/02/stats.png" alt="" width="346" height="162" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1276</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>7-Zip主题安装工具 v1.1</title>
		<link>http://www.shuax.com/?p=1261</link>
		<comments>http://www.shuax.com/?p=1261#comments</comments>
		<pubDate>Mon, 01 Feb 2010 01:20:19 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[原创软件]]></category>
		<category><![CDATA[原创]]></category>
		<category><![CDATA[美化]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1261</guid>
		<description><![CDATA[网上有个主题管理器的汉化版，然而不支持64位系统（新版已经支持）。所以就自己动手写了个小程序。支持64位系统中的7-Zip。在替换完成后会提示是否刷新缓存，支持win7。因为没有预览界面，所以我去掉了原版的部分信息，另外在新版7-Zip中还多了四个文件图标，但是为了保证兼容性，我并没有添加。 更新信息： v1.0 2010年3月7日 简化操作，选择文件夹更简单 修复注册表信息少一个&#8221;\&#8221;造成的无法使用Bug 改进了刷新图标缓存的方式 v1.1 2010年3月11日 程序改为Unicode 修正xp下的刷新图标缓存 115网盘下载地址：http://u.115.com/file/f0dbed0022 新版的主题管理器已经支持64位了，推荐大家使用： http://killercookie-server.media-xshell.com/7zTM]]></description>
			<content:encoded><![CDATA[<p>网上有个主题管理器的汉化版，然而不支持64位系统（新版已经支持）。所以就自己动手写了个小程序。支持64位系统中的7-Zip。在替换完成后会提示是否刷新缓存，支持win7。因为没有预览界面，所以我去掉了原版的部分信息，另外在新版7-Zip中还多了四个文件图标，但是为了保证兼容性，我并没有添加。<br />
更新信息：</p>
<ul>
<li> v1.0 2010年3月7日
<ol>
<li>简化操作，选择文件夹更简单</li>
<li>修复注册表信息少一个&#8221;\&#8221;造成的无法使用Bug</li>
<li>改进了刷新图标缓存的方式</li>
</ol>
</li>
<li> v1.1 2010年3月11日
<ol>
<li>程序改为Unicode</li>
<li>修正xp下的刷新图标缓存</li>
</ol>
</li>
</ul>
<p><span id="more-1261"></span></p>
<p style="text-align: center;"><a class="lightbox" href="http://www.shuax.com/wp-content/uploads/2010/02/7z.png"><img class="size-full wp-image-1262 aligncenter" title="7z" src="http://www.shuax.com/wp-content/uploads/2010/02/7z.png" alt="" width="466" height="163" /></a></p>
<p>115网盘下载地址：<a href="http://u.115.com/file/f0dbed0022">http://u.115.com/file/f0dbed0022</a></p>
<p>新版的主题管理器已经支持64位了，推荐大家使用：</p>
<p><a href="http://killercookie-server.media-xshell.com/7zTM">http://killercookie-server.media-xshell.com/7zTM</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1261</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>数独解算器(第二版)</title>
		<link>http://www.shuax.com/?p=1255</link>
		<comments>http://www.shuax.com/?p=1255#comments</comments>
		<pubDate>Sat, 30 Jan 2010 07:30:37 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[C/C++]]></category>
		<category><![CDATA[游戏]]></category>
		<category><![CDATA[解密]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1255</guid>
		<description><![CDATA[“数独”（sudoku）一词来自日语，意思是“单独的数字”或“只出现一次的数字”。概括来说，它就是一种填数字游戏。但这一概念最初并非来自日本，而是源自拉丁方块，它是十八世纪的瑞士数学家欧拉发明的。出生于1707年的欧拉被誉为有史以来最伟大的数学家之一。 标准数独的规则为：数独每行、每列及每宫填入数字1-9且不能重复。 在家里没事做，开着手机玩数独。玩着玩着就想把那个解密器做出来。效果还不错，希望大家喜欢。 自带9个题目，各类题目3个。 这次主要是改进了界面和增加了暴力破解。应该没有破解不了的题目了。 数独解算器 文件大小：11.2 KB&#12288;文件名称：sudoku.rar 建议代码，速度超快。 #include &#60;windows.h&#62; #include &#60;stdio.h&#62; #include &#60;time.h&#62; &#160; char sd&#91;81&#93;; bool isok = false; &#160; //显示数独 void show&#40;&#41; &#123; if &#40;isok&#41; puts&#40;&#34;求解完成&#34;&#41;; else puts&#40;&#34;初始化完成&#34;&#41;; &#160; for &#40;int i = 0; i &#60; 81; i++&#41; &#123; putchar&#40;sd&#91;i&#93; + '0'&#41;; if &#40;&#40;i + 1&#41; % 9 == 0&#41; putchar&#40;'\n'&#41;;]]></description>
			<content:encoded><![CDATA[<p>“数独”（sudoku）一词来自日语，意思是“单独的数字”或“只出现一次的数字”。概括来说，它就是一种填数字游戏。但这一概念最初并非来自日本，而是源自拉丁方块，它是十八世纪的瑞士数学家欧拉发明的。出生于1707年的欧拉被誉为有史以来最伟大的数学家之一。<br />
标准数独的规则为：数独每行、每列及每宫填入数字1-9且不能重复。<br />
在家里没事做，开着手机玩数独。玩着玩着就想把那个解密器做出来。效果还不错，希望大家喜欢。</p>
<p>自带9个题目，各类题目3个。<br />
这次主要是改进了界面和增加了暴力破解。应该没有破解不了的题目了。<br />
<span id="more-1255"></span></p>
<p style="text-align: center;"><a href="http://www.shuax.com/wp-content/uploads/2010/01/shudu.png" class="lightbox"><img class="size-full wp-image-1418 aligncenter" title="shudu" src="http://www.shuax.com/wp-content/uploads/2010/01/shudu.png" alt="" width="442" height="385" /></a></p>
<p><div class='download-link'>
							<a href='http://www.shuax.com/download.php?file=http://www.shuax.com/wp-content/uploads/2010/01/sudoku.rar'><img alt='Download' class='leftalign' src='http://www.shuax.com/wp-content/plugins/dBeautifier/icons/downloads.png' /></a>
							<h4>
								<a href='http://www.shuax.com/download.php?file=http://www.shuax.com/wp-content/uploads/2010/01/sudoku.rar'>数独解算器</a>
							</h4><p>文件大小：11.2 KB&#12288;文件名称：sudoku.rar</p>
						</div><br />
建议代码，速度超快。</p>

<div class="wp_codebox"><table><tr id="p1255114"><td class="code" id="p1255code114"><pre class="cpp" style="font-family:monospace;"><span style="color: #339900;">#include &lt;windows.h&gt;</span>
<span style="color: #339900;">#include &lt;stdio.h&gt;</span>
<span style="color: #339900;">#include &lt;time.h&gt;</span>
&nbsp;
<span style="color: #0000ff;">char</span> sd<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">81</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
<span style="color: #0000ff;">bool</span> isok <span style="color: #000080;">=</span> <span style="color: #0000ff;">false</span><span style="color: #008080;">;</span>
&nbsp;
<span style="color: #666666;">//显示数独</span>
<span style="color: #0000ff;">void</span> show<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>isok<span style="color: #008000;">&#41;</span> <span style="color: #0000dd;">puts</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;求解完成&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">else</span> <span style="color: #0000dd;">puts</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;初始化完成&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> i <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span> i <span style="color: #000080;">&lt;</span> <span style="color: #0000dd;">81</span><span style="color: #008080;">;</span> i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000dd;">putchar</span><span style="color: #008000;">&#40;</span>sd<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #000040;">+</span> <span style="color: #FF0000;">'0'</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span><span style="color: #008000;">&#40;</span>i <span style="color: #000040;">+</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span> <span style="color: #000040;">%</span> <span style="color: #0000dd;">9</span> <span style="color: #000080;">==</span> <span style="color: #0000dd;">0</span><span style="color: #008000;">&#41;</span> <span style="color: #0000dd;">putchar</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">'<span style="color: #000099; font-weight: bold;">\n</span>'</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000dd;">putchar</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">'<span style="color: #000099; font-weight: bold;">\n</span>'</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
<span style="color: #666666;">//读取数独</span>
<span style="color: #0000ff;">bool</span> Init<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">FILE</span> <span style="color: #000040;">*</span>fp <span style="color: #000080;">=</span> <span style="color: #0000dd;">fopen</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;in.txt&quot;</span>, <span style="color: #FF0000;">&quot;rb&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>fp <span style="color: #000080;">==</span> <span style="color: #0000ff;">NULL</span><span style="color: #008000;">&#41;</span> <span style="color: #0000ff;">return</span> <span style="color: #0000ff;">false</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">fread</span><span style="color: #008000;">&#40;</span>sd, <span style="color: #0000dd;">81</span>, <span style="color: #0000dd;">1</span>, fp<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">fclose</span><span style="color: #008000;">&#40;</span>fp<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> i <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span> i <span style="color: #000080;">&lt;</span> <span style="color: #0000dd;">81</span><span style="color: #008080;">;</span> i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>sd<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #000080;">&gt;=</span> <span style="color: #FF0000;">'1'</span> <span style="color: #000040;">&amp;&amp;</span> sd<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #000080;">&lt;=</span> <span style="color: #FF0000;">'9'</span><span style="color: #008000;">&#41;</span> sd<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #000040;">-</span><span style="color: #000080;">=</span> <span style="color: #FF0000;">'0'</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">else</span> sd<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	show<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">return</span> <span style="color: #0000ff;">true</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
<span style="color: #666666;">//递归解决数独</span>
<span style="color: #0000ff;">void</span> force<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> k<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>isok<span style="color: #008000;">&#41;</span> <span style="color: #0000ff;">return</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span><span style="color: #000040;">!</span>sd<span style="color: #008000;">&#91;</span>k<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> m <span style="color: #000080;">=</span> <span style="color: #0000dd;">1</span><span style="color: #008080;">;</span> m <span style="color: #000080;">&lt;=</span> <span style="color: #0000dd;">9</span><span style="color: #008080;">;</span> m<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
		<span style="color: #008000;">&#123;</span>
			<span style="color: #0000ff;">bool</span> mm <span style="color: #000080;">=</span> <span style="color: #0000ff;">true</span><span style="color: #008080;">;</span>
			<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> n <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span> n <span style="color: #000080;">&lt;</span> <span style="color: #0000dd;">9</span><span style="color: #008080;">;</span> n<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
			<span style="color: #008000;">&#123;</span>
				<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span><span style="color: #008000;">&#40;</span>m <span style="color: #000080;">==</span> sd<span style="color: #008000;">&#91;</span>k<span style="color: #000040;">/</span><span style="color: #0000dd;">27</span><span style="color: #000040;">*</span><span style="color: #0000dd;">27</span><span style="color: #000040;">+</span><span style="color: #008000;">&#40;</span>k<span style="color: #000040;">%</span><span style="color:#800080;">9</span><span style="color: #000040;">/</span><span style="color: #0000dd;">3</span><span style="color: #008000;">&#41;</span><span style="color: #000040;">*</span><span style="color: #0000dd;">3</span><span style="color: #000040;">+</span>n<span style="color: #000040;">+</span>n<span style="color: #000040;">/</span><span style="color: #0000dd;">3</span><span style="color: #000040;">*</span><span style="color: #0000dd;">6</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span> <span style="color: #000040;">||</span> <span style="color: #008000;">&#40;</span>m <span style="color: #000080;">==</span> sd<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">9</span><span style="color: #000040;">*</span>n<span style="color: #000040;">+</span>k<span style="color: #000040;">%</span><span style="color:#800080;">9</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span> <span style="color: #000040;">||</span> <span style="color: #008000;">&#40;</span>m <span style="color: #000080;">==</span> sd<span style="color: #008000;">&#91;</span>k<span style="color: #000040;">/</span><span style="color: #0000dd;">9</span><span style="color: #000040;">*</span><span style="color: #0000dd;">9</span><span style="color: #000040;">+</span>n<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span>
				<span style="color: #008000;">&#123;</span>
					mm <span style="color: #000080;">=</span> <span style="color: #0000ff;">false</span><span style="color: #008080;">;</span>
					<span style="color: #0000ff;">break</span><span style="color: #008080;">;</span>
				<span style="color: #008000;">&#125;</span>
			<span style="color: #008000;">&#125;</span>
			<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>mm<span style="color: #008000;">&#41;</span>
			<span style="color: #008000;">&#123;</span>
				sd<span style="color: #008000;">&#91;</span>k<span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> m<span style="color: #008080;">;</span>
				<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>k <span style="color: #000080;">==</span> <span style="color: #0000dd;">80</span><span style="color: #008000;">&#41;</span>
				<span style="color: #008000;">&#123;</span>
					isok <span style="color: #000080;">=</span> <span style="color: #0000ff;">true</span><span style="color: #008080;">;</span>
					show<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
					<span style="color: #0000ff;">return</span><span style="color: #008080;">;</span>
				<span style="color: #008000;">&#125;</span>
				force<span style="color: #008000;">&#40;</span>k <span style="color: #000040;">+</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
			<span style="color: #008000;">&#125;</span>
		<span style="color: #008000;">&#125;</span>
		sd<span style="color: #008000;">&#91;</span>k<span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000ff;">else</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>k <span style="color: #000080;">==</span> <span style="color: #0000dd;">80</span><span style="color: #008000;">&#41;</span>
		<span style="color: #008000;">&#123;</span>
			isok <span style="color: #000080;">=</span> <span style="color: #0000ff;">true</span><span style="color: #008080;">;</span>
			show<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
			<span style="color: #0000ff;">return</span><span style="color: #008080;">;</span>
		<span style="color: #008000;">&#125;</span>
		force<span style="color: #008000;">&#40;</span>k <span style="color: #000040;">+</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
<span style="color: #0000ff;">int</span> main<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000dd;">system</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;CLS&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>Init<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000ff;">double</span> start <span style="color: #000080;">=</span> <span style="color: #0000dd;">clock</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		force<span style="color: #008000;">&#40;</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;耗时%.0fms&quot;</span>, <span style="color: #0000dd;">clock</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span> <span style="color: #000040;">-</span> start<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000ff;">else</span> <span style="color: #0000dd;">puts</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;初始化错误&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">getchar</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1255</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Win7查看hlp帮助文件</title>
		<link>http://www.shuax.com/?p=1249</link>
		<comments>http://www.shuax.com/?p=1249#comments</comments>
		<pubDate>Thu, 28 Jan 2010 07:33:08 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[原创软件]]></category>
		<category><![CDATA[WIN7]]></category>
		<category><![CDATA[原创]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1249</guid>
		<description><![CDATA[Windows 帮助 (WinHlp32.exe) 是 Microsoft Windows 各版本中附带的帮助程序，早在 Microsoft Windows 3.1 操作系统中就已开始使用。 但对于许多 Microsoft Windows 版本而言，Windows 帮助程序一直没有进行主要更新，已不再符合 Microsoft 标准。 因此，从 Windows Vista 版本开始，不再将 Windows 帮助程序作为 Windows 功能附带在操作系统中。当然，在windows7中自然也没有提供默认组件。 不过好在微软还是会考虑一下需求的，所以在微软网站也有下载。我就动动手，把x86和x64集成在一起啦。 下载地址： Win7帮助文件关联 文件大小：1.4 MB&#12288;文件名称：hlp.rar]]></description>
			<content:encoded><![CDATA[<p>Windows 帮助 (WinHlp32.exe) 是 Microsoft Windows 各版本中附带的帮助程序，早在 Microsoft Windows 3.1 操作系统中就已开始使用。</p>
<p>但对于许多 Microsoft Windows 版本而言，Windows 帮助程序一直没有进行主要更新，已不再符合 Microsoft 标准。 因此，从 Windows Vista 版本开始，不再将 Windows 帮助程序作为 Windows 功能附带在操作系统中。当然，在windows7中自然也没有提供默认组件。</p>
<p>不过好在微软还是会考虑一下需求的，所以在微软网站也有下载。我就动动手，把x86和x64集成在一起啦。</p>
<p><a href="http://www.shuax.com/wp-content/uploads/2010/01/hlp.png" class="lightbox"><img class="size-full wp-image-1250 alignnone" title="hlp" src="http://www.shuax.com/wp-content/uploads/2010/01/hlp.png" alt="" width="431" height="154" /></a><br />
<span id="more-1249"></span></p>
<p>下载地址：<div class='download-link'>
							<a href='http://www.shuax.com/download.php?file=http://www.shuax.com/wp-content/uploads/2010/01/hlp.rar'><img alt='Download' class='leftalign' src='http://www.shuax.com/wp-content/plugins/dBeautifier/icons/downloads.png' /></a>
							<h4>
								<a href='http://www.shuax.com/download.php?file=http://www.shuax.com/wp-content/uploads/2010/01/hlp.rar'>Win7帮助文件关联</a>
							</h4><p>文件大小：1.4 MB&#12288;文件名称：hlp.rar</p>
						</div></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1249</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>高速文件处理类</title>
		<link>http://www.shuax.com/?p=1233</link>
		<comments>http://www.shuax.com/?p=1233#comments</comments>
		<pubDate>Fri, 22 Jan 2010 01:28:14 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[C/C++]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[文件]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1233</guid>
		<description><![CDATA[自己写的一个文件处理类，完全内存操作，所以占用内存比较大，但是速度比较快。 记得用完之后释放哦。 我还写了一个使用的搜素函数，可以搜索二进制、ANSI文本、UTF-8文本、UNICODE文本。 搜索二进制的时候，返回的是查找位置之后的位置。搜索文本返回的是文本位置。 没有找到都返回0. 希望不要去掉版权信息。 // 内存高速文件处理 // 版权所有 （C） 耍下 www.shuax.com 2010.01.22 &#160; #include &#60;stdio.h&#62; #include &#60;stdlib.h&#62; #include &#60;string.h&#62; #include &#60;windows.h&#62; #define OK 1 #define ERROR 0 class MEMFILE &#123; private: long offset; long FileSize; char *FileBuffer; bool state; char getHex&#40;char hex&#41;; public: MEMFILE&#40;char *filename&#41;; //传递文件名，构造文件类 inline bool isRight&#40;&#41;; //检查文件打开状态 inline long getSize&#40;&#41;;]]></description>
			<content:encoded><![CDATA[<p>自己写的一个文件处理类，完全内存操作，所以占用内存比较大，但是速度比较快。<br />
记得用完之后释放哦。<br />
我还写了一个使用的搜素函数，可以搜索二进制、ANSI文本、UTF-8文本、UNICODE文本。<br />
搜索二进制的时候，返回的是查找位置之后的位置。搜索文本返回的是文本位置。<br />
没有找到都返回0.</p>
<p>希望不要去掉版权信息。<br />
<span id="more-1233"></span></p>

<div class="wp_codebox"><table><tr id="p1233116"><td class="code" id="p1233code116"><pre class="cpp" style="font-family:monospace;"><span style="color: #666666;">//                     内存高速文件处理</span>
<span style="color: #666666;">//     版权所有 （C） 耍下 www.shuax.com 2010.01.22</span>
&nbsp;
<span style="color: #339900;">#include &lt;stdio.h&gt;</span>
<span style="color: #339900;">#include &lt;stdlib.h&gt;</span>
<span style="color: #339900;">#include &lt;string.h&gt;</span>
<span style="color: #339900;">#include &lt;windows.h&gt;</span>
<span style="color: #339900;">#define OK 1</span>
<span style="color: #339900;">#define ERROR 0</span>
<span style="color: #0000ff;">class</span> MEMFILE
<span style="color: #008000;">&#123;</span>
<span style="color: #0000ff;">private</span><span style="color: #008080;">:</span>
	<span style="color: #0000ff;">long</span> offset<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">long</span> FileSize<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">char</span> <span style="color: #000040;">*</span>FileBuffer<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">bool</span> state<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">char</span> getHex<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">char</span> hex<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #0000ff;">public</span><span style="color: #008080;">:</span>
	MEMFILE<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">char</span> <span style="color: #000040;">*</span>filename<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>			<span style="color: #666666;">//传递文件名，构造文件类</span>
	<span style="color: #0000ff;">inline</span> <span style="color: #0000ff;">bool</span> isRight<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>				<span style="color: #666666;">//检查文件打开状态</span>
	<span style="color: #0000ff;">inline</span> <span style="color: #0000ff;">long</span> getSize<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>				<span style="color: #666666;">//返回文件大小</span>
	<span style="color: #0000ff;">bool</span> save<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">char</span> <span style="color: #000040;">*</span>filename<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>			<span style="color: #666666;">//保存文件</span>
	<span style="color: #666666;">//以下函数与标准函数类似，比如tell对应ftell、printf对应fprintf。</span>
	<span style="color: #0000ff;">inline</span> <span style="color: #0000ff;">long</span> tell<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">bool</span> seek<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> off, <span style="color: #0000ff;">int</span> mode<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">char</span> <span style="color: #0000dd;">getc</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">void</span> <span style="color: #0000dd;">putc</span><span style="color: #008000;">&#40;</span><span style="color: #0000ff;">char</span> ch<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">char</span><span style="color: #000040;">*</span> <span style="color: #0000dd;">gets</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">void</span> <span style="color: #0000dd;">puts</span><span style="color: #008000;">&#40;</span><span style="color: #0000ff;">char</span> <span style="color: #000040;">*</span>str<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">void</span> <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #0000ff;">const</span> <span style="color: #0000ff;">char</span><span style="color: #000040;">*</span> parm, ...<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">void</span> <span style="color: #0000dd;">scanf</span><span style="color: #008000;">&#40;</span><span style="color: #0000ff;">const</span> <span style="color: #0000ff;">char</span><span style="color: #000040;">*</span> parm, ...<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">void</span> read<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">char</span> <span style="color: #000040;">*</span>buf, <span style="color: #0000ff;">int</span> len<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">void</span> write<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">char</span> <span style="color: #000040;">*</span>buf, <span style="color: #0000ff;">int</span> len<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">inline</span> <span style="color: #0000ff;">void</span> close<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #666666;">//搜索系列函数</span>
	<span style="color: #0000ff;">long</span> search<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">char</span> <span style="color: #000040;">*</span>hex, <span style="color: #0000ff;">int</span> len, <span style="color: #0000ff;">long</span> start, <span style="color: #0000ff;">long</span> end, <span style="color: #0000ff;">bool</span> mode<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>	<span style="color: #666666;">//搜索串、长度、起始位置，模式为ture立即返回搜索值</span>
	<span style="color: #0000ff;">inline</span> <span style="color: #0000ff;">long</span> search<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">char</span> <span style="color: #000040;">*</span>hex, <span style="color: #0000ff;">int</span> len<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">long</span> search_HEX<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">char</span> <span style="color: #000040;">*</span>hex<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">long</span> search_ANSI<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">char</span> <span style="color: #000040;">*</span>text<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">long</span> search_UTF8<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">char</span> <span style="color: #000040;">*</span>text<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">long</span> search_UNICODE<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">char</span> <span style="color: #000040;">*</span>text<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span><span style="color: #008080;">;</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1233</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Mystique主题汉化</title>
		<link>http://www.shuax.com/?p=1215</link>
		<comments>http://www.shuax.com/?p=1215#comments</comments>
		<pubDate>Wed, 20 Jan 2010 04:57:00 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[汉化软件]]></category>
		<category><![CDATA[网站]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1215</guid>
		<description><![CDATA[Mystique就是我现在正在使用的主题。本来呢，官方是自带中文语言包的，但是那个质量，实在是令人发指，比如评论中的发布时间 about1分钟 被翻译成 关于1分钟。 于是本着自己动手，丰衣足食的原则，花了一个晚上加上一个上午的时间给汉化了，我是用的官方的英文语言包汉化的，也许汉化的不是很好，但毕竟是人工翻译，如果你在使用过程中发现有错误或者不完美的地方，欢迎告诉我，我会及时修正。 当前版本：1.7 下载地址： Mystique中文语言包 文件大小：15.1 KB&#12288;文件名称：mystique_lang.rar PS：中途不小心把翻译好的文件给覆盖了~~我哭……]]></description>
			<content:encoded><![CDATA[<p>Mystique就是我现在正在使用的主题。本来呢，官方是自带中文语言包的，但是那个质量，实在是令人发指，比如评论中的发布时间 about1分钟 被翻译成 关于1分钟。</p>
<p>于是本着自己动手，丰衣足食的原则，花了一个晚上加上一个上午的时间给汉化了，我是用的官方的英文语言包汉化的，也许汉化的不是很好，但毕竟是人工翻译，如果你在使用过程中发现有错误或者不完美的地方，欢迎告诉我，我会及时修正。<br />
<span id="more-1215"></span><br />
当前版本：1.7<br />
下载地址：<br />
<div class='download-link'>
							<a href='http://www.shuax.com/download.php?file=http://www.shuax.com/wp-content/uploads/2010/01/mystique_lang.rar'><img alt='Download' class='leftalign' src='http://www.shuax.com/wp-content/plugins/dBeautifier/icons/downloads.png' /></a>
							<h4>
								<a href='http://www.shuax.com/download.php?file=http://www.shuax.com/wp-content/uploads/2010/01/mystique_lang.rar'>Mystique中文语言包</a>
							</h4><p>文件大小：15.1 KB&#12288;文件名称：mystique_lang.rar</p>
						</div><br />
PS：中途不小心把翻译好的文件给覆盖了~~我哭……</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1215</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>Qoso表情</title>
		<link>http://www.shuax.com/?p=1201</link>
		<comments>http://www.shuax.com/?p=1201#comments</comments>
		<pubDate>Tue, 19 Jan 2010 10:47:23 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[实用软件]]></category>
		<category><![CDATA[QQ]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1201</guid>
		<description><![CDATA[生活还是彩色的好~ 来自天気雨的一款表情，我很喜欢，就推荐给大家咯。 下载地址： Qoso 文件大小：114.8 KB&#12288;文件名称：Qoso.zip Qoso QQ表情 文件大小：0.0 KB&#12288;文件名称：Qoso.eif]]></description>
			<content:encoded><![CDATA[<p><img title="Qoso(Colorful)" src="http://www.shuax.com/wp-content/uploads/2010/01/QosoColorful.png" alt="" width="640" height="140" /></p>
<p>生活还是彩色的好~</p>
<p><span id="more-1201"></span></p>
<p>来自<a href="http://dreamxis.blogbus.com/" target="_blank">天気雨</a>的一款表情，我很喜欢，就推荐给大家咯。</p>
<p><img src="http://www.shuax.com/wp-content/uploads/2010/01/qoso.jpg" alt="" title="qoso" width="562" height="260" class="aligncenter size-full wp-image-1206" /><br />
下载地址：<br />
<div class='download-link'>
							<a href='http://www.shuax.com/download.php?file=http://www.shuax.com/wp-content/uploads/2010/01/Qoso.zip'><img alt='Download' class='leftalign' src='http://www.shuax.com/wp-content/plugins/dBeautifier/icons/downloads.png' /></a>
							<h4>
								<a href='http://www.shuax.com/download.php?file=http://www.shuax.com/wp-content/uploads/2010/01/Qoso.zip'>Qoso</a>
							</h4><p>文件大小：114.8 KB&#12288;文件名称：Qoso.zip</p>
						</div><br />
<div class='download-link'>
							<a href='http://www.shuax.com/download.php?file=http://www.shuax.com/wp-content/uploads/2010/01/Qoso.eif'><img alt='Download' class='leftalign' src='http://www.shuax.com/wp-content/plugins/dBeautifier/icons/downloads.png' /></a>
							<h4>
								<a href='http://www.shuax.com/download.php?file=http://www.shuax.com/wp-content/uploads/2010/01/Qoso.eif'>Qoso QQ表情</a>
							</h4><p>文件大小：0.0 KB&#12288;文件名称：Qoso.eif</p>
						</div></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1201</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SRS Audio Sandbox</title>
		<link>http://www.shuax.com/?p=1193</link>
		<comments>http://www.shuax.com/?p=1193#comments</comments>
		<pubDate>Mon, 18 Jan 2010 06:11:30 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[实用软件]]></category>
		<category><![CDATA[软件]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1193</guid>
		<description><![CDATA[众所周知，SRS Audio Sandbox是公认的极品音效软件。 　　SRS Audio Sandbox 是一款个人计算机终极音频增强软件。该软件可以提供令人叹为观止的环绕音效，重低音效果并且非常清晰，甚至可以用于桌面扬声器。可以作用于个人计算机上的所有音乐，视频和游戏并且提供了特殊的定制预设置。 　　SRS的特点是可以用二只音箱来营造出一个逼真的立体声场,而且这系统适用于所有双声道的音源，包括所有立体声，环绕声，以至包含有其它系统编码的音源。而对于单声道的音源，SRS Labs公司也有一个名为3D Mono的模拟立体回放技术。目前，SRS Labs的SRS及3D Mono技术已被多个国家的主要影音器材生产厂家广泛接受，并被普遍的应用在专业音响、家庭影音、及汽车音响器材上。迄今，全球应用了SRS Labs技术的产品总数已超过一千五百万台。 最新版本：v1.10.2.0 32位下载地址：http://www.uushare.com/user/shuax/file/2452901 64位下载地址：http://www.uushare.com/user/shuax/file/2452912 汉化及注册机：http://www.hxlive.cn/?action=show&#38;id=495]]></description>
			<content:encoded><![CDATA[<p>众所周知，SRS Audio Sandbox是公认的极品音效软件。</p>
<p>　　SRS Audio Sandbox 是一款个人计算机终极音频增强软件。该软件可以提供令人叹为观止的环绕音效，重低音效果并且非常清晰，甚至可以用于桌面扬声器。可以作用于个人计算机上的所有音乐，视频和游戏并且提供了特殊的定制预设置。<br />
　　SRS的特点是可以用二只音箱来营造出一个逼真的立体声场,而且这系统适用于所有双声道的音源，包括所有立体声，环绕声，以至包含有其它系统编码的音源。而对于单声道的音源，SRS Labs公司也有一个名为3D Mono的模拟立体回放技术。目前，SRS Labs的SRS及3D Mono技术已被多个国家的主要影音器材生产厂家广泛接受，并被普遍的应用在专业音响、家庭影音、及汽车音响器材上。迄今，全球应用了SRS Labs技术的产品总数已超过一千五百万台。</p>
<p><span id="more-1193"></span>最新版本：v1.10.2.0</p>
<p>32位下载地址：<a href="http://www.uushare.com/user/shuax/file/2452901">http://www.uushare.com/user/shuax/file/2452901</a></p>
<p>64位下载地址：<a href="http://www.uushare.com/user/shuax/file/2452912">http://www.uushare.com/user/shuax/file/2452912</a></p>
<p>汉化及注册机：<a href="http://www.hxlive.cn/?action=show&amp;id=495">http://www.hxlive.cn/?action=show&amp;id=495</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1193</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>非法献花</title>
		<link>http://www.shuax.com/?p=1162</link>
		<comments>http://www.shuax.com/?p=1162#comments</comments>
		<pubDate>Wed, 13 Jan 2010 08:51:50 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[我的生活]]></category>
		<category><![CDATA[网站]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1162</guid>
		<description><![CDATA[2010年1月13日，google宣称如果中国政府不放弃对搜索引擎的审核，Google将退出中国。当日上午，不少民众自发来到Google中国办事处，并献上鲜花，表达对Google的惋惜，然而清华科技园(Google中国办事处所在地)的保安宣称他们的行为是“非法献花”，一个新的网络名词——非法献花——诞生了。 百度百科已经被删除了，互动百科还有。 当然咯，Google是一个商业公司，不排除商业手段的可能。]]></description>
			<content:encoded><![CDATA[<p>2010年1月13日，google宣称如果中国政府不放弃对搜索引擎的审核，Google将退出中国。当日上午，不少民众自发来到Google中国办事处，并献上鲜花，表达对Google的惋惜，然而清华科技园(Google中国办事处所在地)的保安宣称他们的行为是“非法献花”，一个新的网络名词——非法献花——诞生了。</p>
<p>百度百科已经被删除了，<a href="http://www.hudong.com/wiki/%E9%9D%9E%E6%B3%95%E7%8C%AE%E8%8A%B1">互动百科</a>还有。<br />
<span id="more-1162"></span><br />
<img src="http://www.shuax.com/wp-content/uploads/2010/01/5641d6dd-417d-49ef-8a62-d9c50ef272dc.jpg" alt="" title="5641d6dd-417d-49ef-8a62-d9c50ef272dc" width="631" height="454" class="aligncenter size-full wp-image-1164" /><br />
当然咯，Google是一个商业公司，不排除商业手段的可能。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1162</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>控制台QQ</title>
		<link>http://www.shuax.com/?p=1159</link>
		<comments>http://www.shuax.com/?p=1159#comments</comments>
		<pubDate>Wed, 13 Jan 2010 00:30:49 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[实用软件]]></category>
		<category><![CDATA[QQ]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1159</guid>
		<description><![CDATA[现在的QQ是越来越臃肿啊，QQ2010的安装包都达到30多M了。 记得以前用过一个叫MiniQQ软件，后来好像有毒了，就没用了。 前几天又去找了找，怀念一下经典，居然还让我给找到了。开源的MyQQ。 MyQQ3.19(附Win32bin, myqq.exe, libqq.dll, webqq.dll)下载 支持操作系统平台： Windows, Linux, FreeBSD, OpenSolaris, MacOSX 正在或已经移植至： FutureAlpha, M8, pidginQQ, mirandaQQ 膜拜一下神牛。http://home.xxsyzx.com/1222.html 下载地址： Myqq3.19 文件大小：146.0 KB&#12288;文件名称：myqq3.19.rar]]></description>
			<content:encoded><![CDATA[<p>现在的QQ是越来越臃肿啊，QQ2010的安装包都达到30多M了。</p>
<p>记得以前用过一个叫MiniQQ软件，后来好像有毒了，就没用了。</p>
<p>前几天又去找了找，怀念一下经典，居然还让我给找到了。开源的MyQQ。<br />
MyQQ3.19(附Win32bin, myqq.exe, libqq.dll, webqq.dll)下载<br />
<span id="more-1159"></span><br />
支持操作系统平台：<br />
Windows, Linux, FreeBSD, OpenSolaris, MacOSX<br />
正在或已经移植至：<br />
FutureAlpha, M8, pidginQQ, mirandaQQ </p>
<p>膜拜一下神牛。<a href="http://home.xxsyzx.com/1222.html">http://home.xxsyzx.com/1222.html</a><br />
下载地址：<br />
<div class='download-link'>
							<a href='http://www.shuax.com/download.php?file=http://www.shuax.com/wp-content/uploads/2010/01/myqq3.19.rar'><img alt='Download' class='leftalign' src='http://www.shuax.com/wp-content/plugins/dBeautifier/icons/downloads.png' /></a>
							<h4>
								<a href='http://www.shuax.com/download.php?file=http://www.shuax.com/wp-content/uploads/2010/01/myqq3.19.rar'>Myqq3.19</a>
							</h4><p>文件大小：146.0 KB&#12288;文件名称：myqq3.19.rar</p>
						</div></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1159</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>C语言正则表达式</title>
		<link>http://www.shuax.com/?p=1153</link>
		<comments>http://www.shuax.com/?p=1153#comments</comments>
		<pubDate>Tue, 12 Jan 2010 04:29:22 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[程序开发]]></category>
		<category><![CDATA[code]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1153</guid>
		<description><![CDATA[　　在编写处理字符串的程序或网页时，经常会有查找符合某些复杂规则的字符串的需要。正则表达式就是用于描述这些规则的工具。换句话说，正则表达式就是记录文本规则的代码。很可能你使用过Windows/Dos下用于文件查找的通配符，也就是*和?。如果你想查找某个目录下的所有的Word文档的话，你会搜索*.doc。在这里，*会被解释成任意的字符串。和通配符类似，正则表达式也是用来进行文本匹配的工具，只不过比起通配符，它能更精确地描述你的需求——当然，代价就是更复杂。 　　不知道为啥，标准的C或者是C++里面是没有正则表达式的。 　　但有一些函数库可以辅助C/C++程序员完成这一功能，比如我时常听到的boost库，但是那个东西太高深了，不适合我，我曾经安装网上说的编译过，结果那个文件夹都1G多了都还没停止，我就结束了，后来听说完全编译大概需要2.5G的空间，但是可以只编译你需要的部分，算了，我还是找个小型点的库吧。 　　最后，我找到了deelx，百度搜索第一个，可以了解更多他的信息，我觉得还不错了，只有一个h文件，使用很简单。 我写的例子，在他的网站上还能找到更多帮助。 #include &#60;stdio.h&#62; #include &#34;deelx.h&#34; int main&#40;int argc, char * argv&#91;&#93;&#41; &#123; char text&#91;&#93; = &#34;功能=sungjira():asfsdgdsg()+sf+ssfd&#34;; static CRegexpT &#60;char&#62; regexp&#40;&#34;=.*\\(\\)&#34;&#41;; MatchResult result = regexp.Match&#40;text&#41;; while &#40; result.IsMatched&#40;&#41; &#41; &#123; printf&#40;&#34;%.*s\n&#34;, result.GetEnd&#40;&#41; - result.GetStart&#40;&#41;, text + result.GetStart&#40;&#41;&#41;; result = regexp.Match&#40;text, result.GetEnd&#40;&#41;&#41;; &#125; getchar&#40;&#41;; return 0; &#125; 本来是打算用正则表达式来解析ToyBlock的功能的，现在改用了xml了，不过应该还是能用到吧？先贴出来，大家用到的时候也可以用用，呵呵。提个小建议，因为正则表达式比较复杂，容易出错，最好还是用个工具测试一下你写的匹配是否能满足你心里的需要。]]></description>
			<content:encoded><![CDATA[<p>　　在编写处理字符串的程序或网页时，经常会有查找符合某些复杂规则的字符串的需要。正则表达式就是用于描述这些规则的工具。换句话说，正则表达式就是记录文本规则的代码。很可能你使用过Windows/Dos下用于文件查找的通配符，也就是*和?。如果你想查找某个目录下的所有的Word文档的话，你会搜索*.doc。在这里，*会被解释成任意的字符串。和通配符类似，正则表达式也是用来进行文本匹配的工具，只不过比起通配符，它能更精确地描述你的需求——当然，代价就是更复杂。<br />
　　不知道为啥，标准的C或者是C++里面是没有正则表达式的。<br />
<span id="more-1153"></span><br />
　　但有一些函数库可以辅助C/C++程序员完成这一功能，比如我时常听到的boost库，但是那个东西太高深了，不适合我，我曾经安装网上说的编译过，结果那个文件夹都1G多了都还没停止，我就结束了，后来听说完全编译大概需要2.5G的空间，但是可以只编译你需要的部分，算了，我还是找个小型点的库吧。<br />
　　最后，我找到了deelx，百度搜索第一个，可以了解更多他的信息，我觉得还不错了，只有一个h文件，使用很简单。</p>
<p>我写的例子，在他的网站上还能找到更多帮助。</p>

<div class="wp_codebox"><table><tr id="p1153118"><td class="code" id="p1153code118"><pre class="cpp" style="font-family:monospace;"><span style="color: #339900;">#include &lt;stdio.h&gt;</span>
<span style="color: #339900;">#include &quot;deelx.h&quot;</span>
<span style="color: #0000ff;">int</span> main<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> argc, <span style="color: #0000ff;">char</span> <span style="color: #000040;">*</span> argv<span style="color: #008000;">&#91;</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">char</span> text<span style="color: #008000;">&#91;</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #FF0000;">&quot;功能=sungjira():asfsdgdsg()+sf+ssfd&quot;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">static</span> CRegexpT <span style="color: #000080;">&lt;</span><span style="color: #0000ff;">char</span><span style="color: #000080;">&gt;</span> regexp<span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;=.*<span style="color: #000099; font-weight: bold;">\\</span>(<span style="color: #000099; font-weight: bold;">\\</span>)&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	MatchResult result <span style="color: #000080;">=</span> regexp.<span style="color: #007788;">Match</span><span style="color: #008000;">&#40;</span>text<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">while</span> <span style="color: #008000;">&#40;</span> result.<span style="color: #007788;">IsMatched</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%.*s<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span>, result.<span style="color: #007788;">GetEnd</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span> <span style="color: #000040;">-</span> result.<span style="color: #007788;">GetStart</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>, text <span style="color: #000040;">+</span> result.<span style="color: #007788;">GetStart</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		result <span style="color: #000080;">=</span> regexp.<span style="color: #007788;">Match</span><span style="color: #008000;">&#40;</span>text, result.<span style="color: #007788;">GetEnd</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000dd;">getchar</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">return</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></td></tr></table></div>

<p>本来是打算用正则表达式来解析ToyBlock的功能的，现在改用了xml了，不过应该还是能用到吧？先贴出来，大家用到的时候也可以用用，呵呵。提个小建议，因为正则表达式比较复杂，容易出错，最好还是用个工具测试一下你写的匹配是否能满足你心里的需要。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1153</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>TrID文件识别工具</title>
		<link>http://www.shuax.com/?p=1148</link>
		<comments>http://www.shuax.com/?p=1148#comments</comments>
		<pubDate>Mon, 11 Jan 2010 02:20:16 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[程序开发]]></category>
		<category><![CDATA[文件]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1148</guid>
		<description><![CDATA[你是不是在为你不认识的文件扩展名而烦恼呢？ TrID这个文件分析库，现在可以识别多达3884种文件，而且分析的时候还会给出可能性。 比如： Collecting data from file: C:\Users\Shu\Desktop\HEdit.exe 62.5% (.EXE) Win64 Executable Generic (85619/45/3) 22.7% (.EXE) Win32 Executable MS Visual C++ (generic) (31206/45/13) 6.2% (.EXE) Win32 Executable Generic (8527/13/3) 5.5% (.DLL) Win32 Dynamic Link Library (generic) (7583/30/2) 1.4% (.EXE) Generic Win/DOS Executable (2002/3) 当然，你也可以不用它的工具，而是使用他提供的库，一个dll文件，做你自己的扫描器。 提供多种语言的例子文件。 库文件和例子文件下载： tridlib 文件大小：89.7 KB&#12288;文件名称：tridlib.rar 不知道为什么，他提供的例子有问题，得自己改一改。 官方网站：Marco Pontello&#8217;s Home]]></description>
			<content:encoded><![CDATA[<p>你是不是在为你不认识的文件扩展名而烦恼呢？<br />
TrID这个文件分析库，现在可以识别多达3884种文件，而且分析的时候还会给出可能性。<br />
比如：</p>
<pre>
Collecting data from file: C:\Users\Shu\Desktop\HEdit.exe
 62.5% (.EXE) Win64 Executable Generic (85619/45/3)
 22.7% (.EXE) Win32 Executable MS Visual C++ (generic) (31206/45/13)
  6.2% (.EXE) Win32 Executable Generic (8527/13/3)
  5.5% (.DLL) Win32 Dynamic Link Library (generic) (7583/30/2)
  1.4% (.EXE) Generic Win/DOS Executable (2002/3)
</pre>
<p><span id="more-1148"></span><br />
当然，你也可以不用它的工具，而是使用他提供的库，一个dll文件，做你自己的扫描器。</p>
<p>提供多种语言的例子文件。<br />
库文件和例子文件下载：<br />
<div class='download-link'>
							<a href='http://www.shuax.com/download.php?file=http://www.shuax.com/wp-content/uploads/2010/01/tridlib.rar'><img alt='Download' class='leftalign' src='http://www.shuax.com/wp-content/plugins/dBeautifier/icons/downloads.png' /></a>
							<h4>
								<a href='http://www.shuax.com/download.php?file=http://www.shuax.com/wp-content/uploads/2010/01/tridlib.rar'>tridlib</a>
							</h4><p>文件大小：89.7 KB&#12288;文件名称：tridlib.rar</p>
						</div><br />
不知道为什么，他提供的例子有问题，得自己改一改。</p>
<p>官方网站：<a href="http://mark0.net/soft-trid-e.html">Marco Pontello&#8217;s Home</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1148</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>杯具的ToyBlock</title>
		<link>http://www.shuax.com/?p=1143</link>
		<comments>http://www.shuax.com/?p=1143#comments</comments>
		<pubDate>Sun, 10 Jan 2010 08:09:03 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[DIY]]></category>
		<category><![CDATA[原创]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1143</guid>
		<description><![CDATA[功能已经合并到SX-HelperV2版本。但是发现个问题，就是我之前写好的代码，因为设计问题，最后全部废掉了。 噢噢~~以后编程序之前一定要想好架构，要不然做到最后发现做不出来就杯具了。 功能： 菜单和热键完全自定义 我会不停的增加内置功能 几乎都完全自定义了 考虑增加脚本解析功能 再次杯具，把代码删除了！！]]></description>
			<content:encoded><![CDATA[<p>功能已经合并到<a href="http://www.shuax.com/?page_id=425">SX-HelperV2</a>版本。但是发现个问题，就是我之前写好的代码，因为设计问题，最后全部废掉了。</p>
<p>噢噢~~以后编程序之前一定要想好架构，要不然做到最后发现做不出来就杯具了。</p>
<p>功能：</p>
<ul>
<li>菜单和热键完全自定义</li>
<li>我会不停的增加内置功能</li>
<li>几乎都完全自定义了</li>
<li>考虑增加脚本解析功能</li>
</ul>
<p>再次杯具，把代码删除了！！</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1143</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>C语言XML解析</title>
		<link>http://www.shuax.com/?p=1129</link>
		<comments>http://www.shuax.com/?p=1129#comments</comments>
		<pubDate>Fri, 08 Jan 2010 11:52:04 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[C/C++]]></category>
		<category><![CDATA[DIY]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[QQ]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1129</guid>
		<description><![CDATA[因为要用到这个功能，所以上网搜索了一番。(QQ音乐的去广告配置) 扩展标记语言XML是一种简单的数据存储语言，使用一系列简单的标记描述数据，而这些标记可以用方便的方式建立，虽然XML占用的空间比二进制数据要占用更多的空间，但XML极其简单易于掌握和使用。 我觉得这个东西嘛，能用就好了，我不需要高级的功能。所以最终选择了xmlParser。 只有一个cpp和一个h文件，使用很简单，引入cpp就够了。 最终成果如下(源代码)： #include &#60;stdio.h&#62; #include &#60;string.h&#62; #include &#34;xmlParser.cpp&#34; &#160; int main&#40;int argc, char **argv&#41; &#123; //读取当前使用的皮肤 char UserName&#91;256&#93;; char DataPath&#91;256&#93;; DWORD len = 255; GetUserName&#40;UserName, &#38;len&#41;; OSVERSIONINFO info; info.dwOSVersionInfoSize = sizeof&#40;info&#41;; GetVersionEx&#40;&#38;info&#41;; if &#40;info.dwMajorVersion &#60; 6&#41; //xp &#123; wsprintf&#40;DataPath, &#34;C:\\Users\\%s\\Application Data\\Tencent\\QQMusic\\Option2.xml&#34;, UserName&#41;; &#125; else //vista or higher &#123; wsprintf&#40;DataPath, &#34;C:\\Users\\%s\\AppData\\Roaming\\Tencent\\QQMusic\\Option2.xml&#34;, UserName&#41;; &#125;]]></description>
			<content:encoded><![CDATA[<p>因为要用到这个功能，所以上网搜索了一番。(QQ音乐的去广告配置)</p>
<p>扩展标记语言XML是一种简单的数据存储语言，使用一系列简单的标记描述数据，而这些标记可以用方便的方式建立，虽然XML占用的空间比二进制数据要占用更多的空间，但XML极其简单易于掌握和使用。</p>
<p>我觉得这个东西嘛，能用就好了，我不需要高级的功能。所以最终选择了xmlParser。<br />
只有一个cpp和一个h文件，使用很简单，引入cpp就够了。</p>
<p><span id="more-1129"></span><br />
最终成果如下(源代码)：</p>

<div class="wp_codebox"><table><tr id="p1129120"><td class="code" id="p1129code120"><pre class="cpp" style="font-family:monospace;"><span style="color: #339900;">#include &lt;stdio.h&gt;</span>
<span style="color: #339900;">#include &lt;string.h&gt;</span>
<span style="color: #339900;">#include &quot;xmlParser.cpp&quot;</span>
&nbsp;
<span style="color: #0000ff;">int</span> main<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> argc, <span style="color: #0000ff;">char</span> <span style="color: #000040;">**</span>argv<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #666666;">//读取当前使用的皮肤</span>
	<span style="color: #0000ff;">char</span> UserName<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">256</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">char</span> DataPath<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">256</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
	DWORD len <span style="color: #000080;">=</span> <span style="color: #0000dd;">255</span><span style="color: #008080;">;</span>
	GetUserName<span style="color: #008000;">&#40;</span>UserName, <span style="color: #000040;">&amp;</span>len<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	OSVERSIONINFO info<span style="color: #008080;">;</span>
	info.<span style="color: #007788;">dwOSVersionInfoSize</span> <span style="color: #000080;">=</span> <span style="color: #0000dd;">sizeof</span><span style="color: #008000;">&#40;</span>info<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	GetVersionEx<span style="color: #008000;">&#40;</span><span style="color: #000040;">&amp;</span>info<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>info.<span style="color: #007788;">dwMajorVersion</span> <span style="color: #000080;">&lt;</span> <span style="color: #0000dd;">6</span><span style="color: #008000;">&#41;</span> <span style="color: #666666;">//xp</span>
	<span style="color: #008000;">&#123;</span>
		wsprintf<span style="color: #008000;">&#40;</span>DataPath, <span style="color: #FF0000;">&quot;C:<span style="color: #000099; font-weight: bold;">\\</span>Users<span style="color: #000099; font-weight: bold;">\\</span>%s<span style="color: #000099; font-weight: bold;">\\</span>Application Data<span style="color: #000099; font-weight: bold;">\\</span>Tencent<span style="color: #000099; font-weight: bold;">\\</span>QQMusic<span style="color: #000099; font-weight: bold;">\\</span>Option2.xml&quot;</span>, UserName<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000ff;">else</span> <span style="color: #666666;">//vista or higher</span>
	<span style="color: #008000;">&#123;</span>
		wsprintf<span style="color: #008000;">&#40;</span>DataPath, <span style="color: #FF0000;">&quot;C:<span style="color: #000099; font-weight: bold;">\\</span>Users<span style="color: #000099; font-weight: bold;">\\</span>%s<span style="color: #000099; font-weight: bold;">\\</span>AppData<span style="color: #000099; font-weight: bold;">\\</span>Roaming<span style="color: #000099; font-weight: bold;">\\</span>Tencent<span style="color: #000099; font-weight: bold;">\\</span>QQMusic<span style="color: #000099; font-weight: bold;">\\</span>Option2.xml&quot;</span>, UserName<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	XMLNode Option <span style="color: #000080;">=</span> XMLNode<span style="color: #008080;">::</span><span style="color: #007788;">openFileHelper</span><span style="color: #008000;">&#40;</span>DataPath, <span style="color: #FF0000;">&quot;QQMusicOption&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">char</span> config<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">256</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">char</span> conbak<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">256</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">strcpy</span><span style="color: #008000;">&#40;</span>config, Option.<span style="color: #007788;">getChildNode</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;Skins&quot;</span><span style="color: #008000;">&#41;</span>.<span style="color: #007788;">getAttribute</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;currentPath&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">strcat</span><span style="color: #008000;">&#40;</span>config, <span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\\</span>List<span style="color: #000099; font-weight: bold;">\\</span>config.xml&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">strcpy</span><span style="color: #008000;">&#40;</span>conbak, config<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">strcat</span><span style="color: #008000;">&#40;</span>conbak, <span style="color: #FF0000;">&quot;.bak&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #666666;">//对皮肤配置进行修改</span>
	XMLNode xMainNode <span style="color: #000080;">=</span> XMLNode<span style="color: #008080;">::</span><span style="color: #007788;">openFileHelper</span><span style="color: #008000;">&#40;</span>config, <span style="color: #FF0000;">&quot;theme&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	xMainNode.<span style="color: #007788;">writeToFile</span><span style="color: #008000;">&#40;</span>conbak, <span style="color: #FF0000;">&quot;gb2312&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	XMLNode xNode <span style="color: #000080;">=</span> xMainNode.<span style="color: #007788;">getChildNode</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;Window&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">int</span> n <span style="color: #000080;">=</span> xNode.<span style="color: #007788;">nChildNode</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;DlgItem&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">int</span> i, my1, my2<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">int</span> height<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">char</span> buf<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">64</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>i <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span>, my1 <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span> i <span style="color: #000080;">&lt;</span> n<span style="color: #008080;">;</span> i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		XMLNode x <span style="color: #000080;">=</span> xNode.<span style="color: #007788;">getChildNode</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;DlgItem&quot;</span>, <span style="color: #000040;">&amp;</span>my1<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>stricmp<span style="color: #008000;">&#40;</span>x.<span style="color: #007788;">getAttribute</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;id&quot;</span><span style="color: #008000;">&#41;</span>, <span style="color: #FF0000;">&quot;DlgItem_Advertisement&quot;</span><span style="color: #008000;">&#41;</span> <span style="color: #000080;">==</span> <span style="color: #0000dd;">0</span><span style="color: #008000;">&#41;</span>
		<span style="color: #008000;">&#123;</span>
			height <span style="color: #000080;">=</span> <span style="color: #0000dd;">atoi</span><span style="color: #008000;">&#40;</span>x.<span style="color: #007788;">getAttribute</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;height&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
			x.<span style="color: #007788;">updateAttribute</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;0&quot;</span>, <span style="color: #0000ff;">NULL</span>, <span style="color: #FF0000;">&quot;height&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #008000;">&#125;</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>i <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span>, my2 <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span> i <span style="color: #000080;">&lt;</span> n<span style="color: #008080;">;</span> i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		XMLNode x <span style="color: #000080;">=</span> xNode.<span style="color: #007788;">getChildNode</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;DlgItem&quot;</span>, <span style="color: #000040;">&amp;</span>my2<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span><span style="color: #0000dd;">strstr</span><span style="color: #008000;">&#40;</span>x.<span style="color: #007788;">getAttribute</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;id&quot;</span><span style="color: #008000;">&#41;</span>, <span style="color: #FF0000;">&quot;List&quot;</span><span style="color: #008000;">&#41;</span> <span style="color: #000040;">!</span><span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008000;">&#41;</span>
		<span style="color: #008000;">&#123;</span>
			<span style="color: #0000ff;">int</span> oldheight <span style="color: #000080;">=</span> <span style="color: #0000dd;">atoi</span><span style="color: #008000;">&#40;</span>x.<span style="color: #007788;">getAttribute</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;height&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
			itoa<span style="color: #008000;">&#40;</span>oldheight <span style="color: #000040;">+</span> height, buf, <span style="color: #0000dd;">10</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
			x.<span style="color: #007788;">updateAttribute</span><span style="color: #008000;">&#40;</span>buf, <span style="color: #0000ff;">NULL</span>, <span style="color: #FF0000;">&quot;height&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #008000;">&#125;</span>
	<span style="color: #008000;">&#125;</span>
	xMainNode.<span style="color: #007788;">writeToFile</span><span style="color: #008000;">&#40;</span>config, <span style="color: #FF0000;">&quot;gb2312&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	MessageBoxW<span style="color: #008000;">&#40;</span><span style="color: #0000dd;">0</span>, L<span style="color: #FF0000;">&quot;恭喜你，配置已经完成。重新开启QQ音乐吧。&quot;</span>, L<span style="color: #FF0000;">&quot;耍下-QQ音乐2009去广告工具&quot;</span>, MB_OK<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">return</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></td></tr></table></div>

<p>可执行文件，以及源代码打包：<br />
运行之前记得关闭QQ音乐哦。希望你能喜欢。<br />
<div class='download-link'>
							<a href='http://www.shuax.com/download.php?file=http://www.shuax.com/download/QQMusic.No.Ad.rar'><img alt='Download' class='leftalign' src='http://www.shuax.com/wp-content/plugins/dBeautifier/icons/downloads.png' /></a>
							<h4>
								<a href='http://www.shuax.com/download.php?file=http://www.shuax.com/download/QQMusic.No.Ad.rar'>QQ音乐去广告</a>
							</h4><p>文件大小：51.1 KB&#12288;文件名称：QQMusic.No.Ad.rar</p>
						</div></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1129</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>WinRAR美化版制作</title>
		<link>http://www.shuax.com/?p=1122</link>
		<comments>http://www.shuax.com/?p=1122#comments</comments>
		<pubDate>Fri, 08 Jan 2010 07:39:02 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[DIY]]></category>
		<category><![CDATA[原创]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1122</guid>
		<description><![CDATA[网上有很多WinRAR的美化版，是不是很漂亮啊？ 想不想自己也做一个呢？因为别人集成的不一定是你喜欢的主题嘛。 本文让你做出自己最喜欢的WinRAR。工具我已经写好了，因此，我主要介绍我的工具的使用。 以后有空了做个有界面的WinRAR配置工具，嘿嘿。注意，因为我是使用的64位系统，所以我的破解也是64位的，32位的不一样。如果有必要，我会做来补上。 压缩包内部包含文件清单： 64.exe core.bat ResHacker.exe 修改工具.exe 制作WinRAR.bat 分别是：64位rar默认图标大小破解、核心执行程序、资源修改软件、解压工具（其实就是winrar）、调用程序。 你使用的时候，只需要把网上下载的官方安装文件以及主题文件放到同一个文件夹下面。 然后修改&#8221;制作WinRAR.bat&#8221;的内容。 比如我现在的是： @echo off title 耍下制作 color 0A echo 欢迎光临我的博客 echo www.shuax.com core.bat winrar-x64-391sc_original.exe WinRAR_Orbital.theme.rar 你只要修改最后一行的exe文件和rar文件，然后运行这个bat批处理，稍等片刻，属于你个人的主题的WinRAR就做好啦。 如果有什么问题，欢迎留下你的意见，我会尽力解决。 工具下载： WinRAR修改工具 文件大小：804.5 KB&#12288;文件名称：winrar.rar 小提示，本站还有WinRAR的注册机哦，找找看吧？]]></description>
			<content:encoded><![CDATA[<p>网上有很多WinRAR的美化版，是不是很漂亮啊？</p>
<p>想不想自己也做一个呢？因为别人集成的不一定是你喜欢的主题嘛。</p>
<p>本文让你做出自己最喜欢的WinRAR。工具我已经写好了，因此，我主要介绍我的工具的使用。</p>
<p>以后有空了做个有界面的WinRAR配置工具，嘿嘿。注意，因为我是使用的64位系统，所以我的破解也是64位的，32位的不一样。如果有必要，我会做来补上。</p>
<p><span id="more-1122"></span></p>
<p>压缩包内部包含文件清单：</p>
<p>64.exe<br />
core.bat<br />
ResHacker.exe<br />
修改工具.exe<br />
制作WinRAR.bat</p>
<p>分别是：64位rar默认图标大小破解、核心执行程序、资源修改软件、解压工具（其实就是winrar）、调用程序。</p>
<p>你使用的时候，只需要把网上下载的官方安装文件以及主题文件放到同一个文件夹下面。<br />
然后修改&#8221;制作WinRAR.bat&#8221;的内容。</p>
<p>比如我现在的是：</p>

<div class="wp_codebox"><table><tr id="p1122122"><td class="code" id="p1122code122"><pre class="bat" style="font-family:monospace;">@echo off
title 耍下制作
color 0A
echo 欢迎光临我的博客
echo www.shuax.com
core.bat  winrar-x64-391sc_original.exe WinRAR_Orbital.theme.rar</pre></td></tr></table></div>

<p>你只要修改最后一行的exe文件和rar文件，然后运行这个bat批处理，稍等片刻，属于你个人的主题的WinRAR就做好啦。</p>
<p>如果有什么问题，欢迎留下你的意见，我会尽力解决。</p>
<p>工具下载：<div class='download-link'>
							<a href='http://www.shuax.com/download.php?file=http://www.shuax.com/download/winrar.rar'><img alt='Download' class='leftalign' src='http://www.shuax.com/wp-content/plugins/dBeautifier/icons/downloads.png' /></a>
							<h4>
								<a href='http://www.shuax.com/download.php?file=http://www.shuax.com/download/winrar.rar'>WinRAR修改工具</a>
							</h4><p>文件大小：804.5 KB&#12288;文件名称：winrar.rar</p>
						</div><br />
小提示，本站还有WinRAR的注册机哦，找找看吧？</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1122</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
		<item>
		<title>QQ音乐2009去广告方法</title>
		<link>http://www.shuax.com/?p=1105</link>
		<comments>http://www.shuax.com/?p=1105#comments</comments>
		<pubDate>Thu, 07 Jan 2010 05:04:54 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[DIY]]></category>
		<category><![CDATA[QQ]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1105</guid>
		<description><![CDATA[主要原理就是通过修改皮肤配置文件，把广告隐藏起来了。 其实广告还是下载了的吧？ 默认皮肤就位于，C:\Program Files\QQMusic\QQMusicSkin\默认皮肤\List 下。 如果你没有安装到默认位置，自己对应着去找就是啦。 在这个文件夹下有个config.xml，这个就是配置文件，修改它吧。 在 广告 标签内 把 height 的值设置为 height=&#8221;0&#8243;。记下原来的值，比如62。 在 列表 标签内 把 height 的值，全部修改为 当前 height + 广告标签中height的值。 比如现在是height=&#8221;179&#8243;，那么应该加上62，结果为：241。 修改为height=&#8221;241&#8243;。共三个。 重新打开QQ音乐后，底部的广告没啦~~ 特别说明，额外下载的皮肤位置位于： （XP）C:\Documents and Settings\用户名\Application Data\Tencent\QQMusic\QQMusicSkin\皮肤名\List （vista、win7）C:\Users\用户名\AppData\Roaming\Tencent\QQMusic\QQMusicSkin\皮肤名\List 可执行文件，以及源代码打包： 运行之前记得关闭QQ音乐哦。希望你能喜欢。 QQ音乐去广告 文件大小：51.1 KB&#12288;文件名称：QQMusic.No.Ad.rar]]></description>
			<content:encoded><![CDATA[<p>主要原理就是通过修改皮肤配置文件，把广告隐藏起来了。</p>
<p>其实广告还是下载了的吧？</p>
<p>默认皮肤就位于，C:\Program Files\QQMusic\QQMusicSkin\默认皮肤\List 下。</p>
<p>如果你没有安装到默认位置，自己对应着去找就是啦。</p>
<p>在这个文件夹下有个config.xml，这个就是配置文件，修改它吧。<br />
<span id="more-1105"></span></p>
<p>在 <strong>广告</strong> 标签内<br />
把 height 的值设置为 height=&#8221;0&#8243;。记下原来的值，比如62。</p>
<p>在 <strong>列表</strong> 标签内</p>
<p>把 height 的值，全部修改为 当前 height + 广告标签中height的值。<br />
比如现在是height=&#8221;179&#8243;，那么应该加上62，结果为：241。<br />
修改为height=&#8221;241&#8243;。共三个。</p>
<p>重新打开QQ音乐后，底部的广告没啦~~</p>
<p>特别说明，额外下载的皮肤位置位于：</p>
<p>（XP）C:\Documents and Settings\用户名\Application Data\Tencent\QQMusic\QQMusicSkin\皮肤名\List</p>
<p>（vista、win7）C:\Users\用户名\AppData\Roaming\Tencent\QQMusic\QQMusicSkin\皮肤名\List</p>
<p>可执行文件，以及源代码打包：<br />
运行之前记得关闭QQ音乐哦。希望你能喜欢。<br />
<div class='download-link'>
							<a href='http://www.shuax.com/download.php?file=http://www.shuax.com/download/QQMusic.No.Ad.rar'><img alt='Download' class='leftalign' src='http://www.shuax.com/wp-content/plugins/dBeautifier/icons/downloads.png' /></a>
							<h4>
								<a href='http://www.shuax.com/download.php?file=http://www.shuax.com/download/QQMusic.No.Ad.rar'>QQ音乐去广告</a>
							</h4><p>文件大小：51.1 KB&#12288;文件名称：QQMusic.No.Ad.rar</p>
						</div></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1105</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>赞助商计划</title>
		<link>http://www.shuax.com/?p=1685</link>
		<comments>http://www.shuax.com/?p=1685#comments</comments>
		<pubDate>Wed, 06 Jan 2010 23:48:59 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[我的生活]]></category>
		<category><![CDATA[网站]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1685</guid>
		<description><![CDATA[为了保证网站的存在（域名费、空间费），特寻找伟大的赞助商。 广告价格： 首页右侧文字链接：8￥/月 全站右侧文字链接：10￥/月 首页右侧图片链接：12￥/月 全站右侧图片链接：14￥/月 广告要求： 符合审美观 符合国家规定 支付方式：支付宝 有意者请联系我的QQ：369339353]]></description>
			<content:encoded><![CDATA[<p>为了保证网站的存在（域名费、空间费），特寻找伟大的赞助商。<br />
广告价格：</p>
<ol>
<li>首页右侧文字链接：8￥/月</li>
<li>全站右侧文字链接：10￥/月</li>
<li>首页右侧图片链接：12￥/月</li>
<li>全站右侧图片链接：14￥/月</li>
</ol>
<p>广告要求：</p>
<ol>
<li>符合审美观</li>
<li>符合国家规定</li>
</ol>
<p>支付方式：支付宝</p>
<p>有意者请联系我的QQ：369339353</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1685</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>耍下QQ2010Beta</title>
		<link>http://www.shuax.com/?p=1097</link>
		<comments>http://www.shuax.com/?p=1097#comments</comments>
		<pubDate>Wed, 06 Jan 2010 13:03:32 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[原创软件]]></category>
		<category><![CDATA[QQ]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1097</guid>
		<description><![CDATA[文件大小：23.59M 文件基于：QQ2010Beta 2010年3月3日(1530) 制作日期：2010年3月9日 去掉安装过程的附加软件 本地会员补丁去广告（感谢寒星的补丁） 特色：采用官方安装包，增强稳定性和易用性 这个版本基于官方安装包制作，大大减小的文件体积。去除了QQ的附加软件，例如腾讯软件管理器，QQ拼音输入法，搜搜工具栏等无关软件。另外禁止了开机自动启动和设置腾讯为首页。最新添加了破解补丁，可以使用本地会员功能。 下载地址： 历史版本： 实际截图：]]></description>
			<content:encoded><![CDATA[<p>文件大小：<strong>23.59M</strong></p>
<p><strong> </strong>文件基于：<strong>QQ2010Beta 2010年3月3日(1530)</strong></p>
<p><strong> </strong>制作日期：<strong>2010年3月9日</strong></p>
<ul>
<li>去掉安装过程的附加软件</li>
<li>本地会员补丁去广告（感谢寒星的补丁）</li>
<li>特色：采用官方安装包，增强稳定性和易用性</li>
</ul>
<p><span id="more-1097"></span></p>
<p>这个版本基于官方安装包制作，大大减小的文件体积。去除了QQ的附加软件，例如腾讯软件管理器，QQ拼音输入法，搜搜工具栏等无关软件。另外禁止了开机自动启动和设置腾讯为首页。最新添加了破解补丁，可以使用本地会员功能。</p>
<p>下载地址：</p>
<p><a href="http://www.uushare.com/user/shuax/file/2683064"><img class="alignnone size-full wp-image-1393" title="download" src="http://www.shuax.com/wp-content/uploads/2010/01/download1.png" alt="" width="240" height="67" /></a></p>
<p>历史版本：</p>
<p><a href="http://www.uushare.com/user/shuax/file/2400014"><img class="alignnone size-full wp-image-1416" title="sp6" src="http://www.shuax.com/wp-content/uploads/2010/01/sp6.png" alt="" width="230" height="62" /></a></p>
<p>实际截图：</p>
<p><a class="lightbox" href="http://www.shuax.com/wp-content/uploads/2010/01/qq2010.jpg"><img class="size-full wp-image-1103 alignnone" title="qq2010" src="http://www.shuax.com/wp-content/uploads/2010/01/qq2010.jpg" alt="" width="555" height="390" /></a></p>
<p style="text-align: center;">
<p style="text-align: center;">
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1097</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>QQ2010Beta_Trial最新试用</title>
		<link>http://www.shuax.com/?p=1088</link>
		<comments>http://www.shuax.com/?p=1088#comments</comments>
		<pubDate>Wed, 06 Jan 2010 11:52:45 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[实用软件]]></category>
		<category><![CDATA[QQ]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1088</guid>
		<description><![CDATA[刚刚得到了试用资格，第一时间就下载啦。 感觉皮肤有特别大的变化哦，很花哨，花得来看不清了…… 我一边试用，一边更新咯。 第一次启动时，弹出皮肤选择界面。 主界面多了个通讯录，就是这个东东。 晕哦，还只有QQ大于825000000的才能使用，居然不是小于。 默认是开启了透明效果的，当前激活窗口不会透明。QQ说关闭透明会加快速度……这个我倒是没感觉到。 不得不说，这次的配色好难看啊，不过毕竟是试用版本哈。大家可以看看皮肤选择哪那里，太难看了~~ 另外更新的还有： QQ大视频，视频聊天更大更清晰 空间编辑器新增记事本，双击头像直接开启 更换头像界面优化，自定义头像更换更便捷 涂鸦编辑器优化，画笔、闪字让表情更动人 嘿嘿，本来有些功能是会员才有的哈，不过我现在怎么能用呢？ 主菜单也有点变化，感觉比较绚。关于信息为：QQ2010 Beta 试用版(1480)。 这次腾讯终于没有用QQ2009来忽悠我们了。 哦，又发现了，把透明度调最低的时候，有点AERO的感觉，但毕竟不是AERO。 太透明了，根本看不清。 我的建议是，暂时不用。]]></description>
			<content:encoded><![CDATA[<p>刚刚得到了试用资格，第一时间就下载啦。</p>
<p>感觉皮肤有特别大的变化哦，很花哨，花得来看不清了……</p>
<p>我一边试用，一边更新咯。</p>
<p>第一次启动时，弹出皮肤选择界面。<span id="more-1088"></span></p>
<p style="text-align: center;"><a class="lightbox" href="http://www.shuax.com/wp-content/uploads/2010/01/qq1.jpg"><img class="size-full wp-image-1089 aligncenter" title="qq1" src="http://www.shuax.com/wp-content/uploads/2010/01/qq1.jpg" alt="" width="400" height="210" /></a></p>
<p>主界面多了个通讯录，就是这个东东。</p>
<p>晕哦，还只有QQ大于825000000的才能使用，居然不是小于。</p>
<p style="text-align: center;"><a class="lightbox" href="http://www.shuax.com/wp-content/uploads/2010/01/qq2.jpg"><img class="size-full wp-image-1090 aligncenter" title="qq2" src="http://www.shuax.com/wp-content/uploads/2010/01/qq2.jpg" alt="" width="519" height="420" /></a></p>
<p>默认是开启了透明效果的，当前激活窗口不会透明。QQ说关闭透明会加快速度……这个我倒是没感觉到。</p>
<p>不得不说，这次的配色好难看啊，不过毕竟是试用版本哈。大家可以看看皮肤选择哪那里，太难看了~~</p>
<p style="text-align: center;"><a class="lightbox" href="http://www.shuax.com/wp-content/uploads/2010/01/qq3.jpg"><img class="size-full wp-image-1093 aligncenter" title="qq3" src="http://www.shuax.com/wp-content/uploads/2010/01/qq3.jpg" alt="" width="242" height="206" /></a></p>
<p>另外更新的还有：</p>
<p>QQ大视频，视频聊天更大更清晰</p>
<p>空间编辑器新增记事本，双击头像直接开启</p>
<p>更换头像界面优化，自定义头像更换更便捷</p>
<p>涂鸦编辑器优化，画笔、闪字让表情更动人</p>
<p style="text-align: center;"><a class="lightbox" href="http://www.shuax.com/wp-content/uploads/2010/01/qq4.jpg"><img class="size-full wp-image-1095 aligncenter" title="qq4" src="http://www.shuax.com/wp-content/uploads/2010/01/qq4.jpg" alt="" width="580" height="456" /></a></p>
<p>嘿嘿，本来有些功能是会员才有的哈，不过我现在怎么能用呢？</p>
<p>主菜单也有点变化，感觉比较绚。关于信息为：QQ2010 Beta 试用版(1480)。</p>
<p>这次腾讯终于没有用QQ2009来忽悠我们了。</p>
<p>哦，又发现了，把透明度调最低的时候，有点AERO的感觉，但毕竟不是AERO。<br />
太透明了，根本看不清。</p>
<p style="text-align: center;"><a class="lightbox" href="http://www.shuax.com/wp-content/uploads/2010/01/qq5.jpg"><img class="size-full wp-image-1101 aligncenter" title="qq5" src="http://www.shuax.com/wp-content/uploads/2010/01/qq5.jpg" alt="" width="316" height="184" /></a></p>
<p>我的建议是，暂时不用。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1088</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>耍下QQ2009 SP6</title>
		<link>http://www.shuax.com/?p=1078</link>
		<comments>http://www.shuax.com/?p=1078#comments</comments>
		<pubDate>Wed, 06 Jan 2010 09:43:05 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[实用软件]]></category>
		<category><![CDATA[QQ]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=1078</guid>
		<description><![CDATA[我又回来啦！大家想我没有。 软件语言：简体中文 文件大小：22.6M 文件基于：QQ2009 SP6 (简体)(兼容Windows 7) 文件日期：2009年12月28日 为什么大家那么懒呢~~我都把教程写好了，可是还是嫌太难，额~~可能是有点麻烦吧。 我还是只有自己动手咯。喜欢的小朋友就快点下载吧。我可不保证能长期提供。 这个优化版为官方原版安装模式，安装信息与官方一致。不会出现各种绿色版或者重新打包版的问题，比如：缺少运行库，注册信息不正确，不能很好的兼容各个系统……并且这个版本去除了QQ的附加软件，例如腾讯软件管理器，QQ拼音输入法，搜搜工具栏等无关软件。安装包也因此比官方安装包小了6M。 此版本已经集成寒星会员补丁，但由于各种杀毒软件误报严重，因此并未默认开启。如果你确认使用此功能，请到QQ安装文件夹下的bin目录内，寻找到QQCrack.exe(与QQ.exe在一个地方)，并运行一次。如果你不再需要，可再次运行该程序。即可取消破解。 会员破解如果不能去广告，请自行勾选、设置。 想显示IP的同学，请自己安装HookQQ，暂时还没有做恶。 本地下载：尚未上传 网盘下载：http://www.uushare.com/user/shuax/file/2400014]]></description>
			<content:encoded><![CDATA[<p>我又回来啦！大家想我没有。</p>
<p>软件语言：<strong>简体中文<br />
</strong>文件大小：<strong>22.6M<br />
</strong>文件基于：<strong>QQ2009 SP6 (简体)(兼容Windows 7)</strong><br />
文件日期：<strong>2009年12月28日</strong></p>
<p>为什么大家那么懒呢~~我都把教程写好了，可是还是嫌太难，额~~可能是有点麻烦吧。</p>
<p>我还是只有自己动手咯。喜欢的小朋友就快点下载吧。我可不保证能长期提供。</p>
<p>这个优化版为官方原版安装模式，安装信息与官方一致。不会出现各种绿色版或者重新打包版的问题，比如：缺少运行库，注册信息不正确，不能很好的兼容各个系统……并且这个版本去除了QQ的附加软件，例如腾讯软件管理器，QQ拼音输入法，搜搜工具栏等无关软件。安装包也因此比官方安装包小了6M。</p>
<p><span id="more-1078"></span></p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-1080" title="qq" src="http://www.shuax.com/wp-content/uploads/2010/01/qq.jpg" alt="" width="555" height="390" /></p>
<p>此版本已经集成寒星会员补丁，但由于各种杀毒软件误报严重，因此并未默认开启。如果你确认使用此功能，请到QQ安装文件夹下的bin目录内，寻找到QQCrack.exe(与QQ.exe在一个地方)，并运行一次。如果你不再需要，可再次运行该程序。即可取消破解。</p>
<p>会员破解如果不能去广告，请自行勾选、设置。<br />
想显示IP的同学，请自己安装HookQQ，暂时还没有做恶。</p>
<p>本地下载：<span style="text-decoration: line-through;"><span style="color: #888888;">尚未上传</span></span></p>
<p>网盘下载：<a href="http://www.uushare.com/user/shuax/file/2400014">http://www.uushare.com/user/shuax/file/2400014</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=1078</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>不只是快一点：Everything</title>
		<link>http://www.shuax.com/?p=970</link>
		<comments>http://www.shuax.com/?p=970#comments</comments>
		<pubDate>Sun, 03 Jan 2010 01:26:27 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[实用软件]]></category>
		<category><![CDATA[实用]]></category>
		<category><![CDATA[软件]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=970</guid>
		<description><![CDATA[Everything是速度最快的文件搜索软件。其速度之快令人震惊，百G硬盘几十万个文件，可以在几秒钟之内完成索引；文件名搜索瞬间呈现结果。它小巧免费，支持中文，支持正则表达式，占用极低的系统资源，实时跟踪文件变化，可以通过HTTP或FTP分享搜索结果。如果不满意Windows自带的搜索工具、Total Commander的搜索、Google 桌面搜索或百度硬盘搜索，如果正在使用或放弃了Locate32，都值得推荐这款体积小巧、免安装、免费、速度极快（比Locate32更快）的文件搜索工具Everything！ 就拿我的电脑来说，目前有10万多的文件，Everything只需要不到一秒就能建立索引，你要搜索什么东西，都是瞬间出来了。而且他还支持正则表达式。电脑里面东西再也不会找不到了。不过，不要因此而不归类哦，我还是觉得分开放比较好。 注意的是，Everything只支持NTFS磁盘格式，另外它只搜索文件名，不过这已经足够了，对吗？ 比微软先进几十年的感觉啊。 官方网站：http://www.voidtools.com/ 下载地址： Everything 文件大小：342.9 KB&#12288;文件名称：Everything.rar]]></description>
			<content:encoded><![CDATA[<p>Everything是速度最快的文件搜索软件。其速度之快令人震惊，百G硬盘几十万个文件，可以在几秒钟之内完成索引；文件名搜索瞬间呈现结果。它小巧免费，支持中文，支持正则表达式，占用极低的系统资源，实时跟踪文件变化，可以通过HTTP或FTP分享搜索结果。如果不满意Windows自带的搜索工具、Total Commander的搜索、Google 桌面搜索或百度硬盘搜索，如果正在使用或放弃了Locate32，都值得推荐这款体积小巧、免安装、免费、速度极快（比Locate32更快）的文件搜索工具Everything！<br />
<span id="more-970"></span></p>
<p>就拿我的电脑来说，目前有10万多的文件，Everything只需要不到一秒就能建立索引，你要搜索什么东西，都是瞬间出来了。而且他还支持正则表达式。电脑里面东西再也不会找不到了。不过，不要因此而不归类哦，我还是觉得分开放比较好。<br />
注意的是，Everything只支持NTFS磁盘格式，另外它只搜索文件名，不过这已经足够了，对吗？<br />
比微软先进几十年的感觉啊。<br />
官方网站：http://www.voidtools.com/<br />
下载地址：<br />
<div class='download-link'>
							<a href='http://www.shuax.com/download.php?file=http://www.shuax.com/wp-content/uploads/2010/01/Everything.rar'><img alt='Download' class='leftalign' src='http://www.shuax.com/wp-content/plugins/dBeautifier/icons/downloads.png' /></a>
							<h4>
								<a href='http://www.shuax.com/download.php?file=http://www.shuax.com/wp-content/uploads/2010/01/Everything.rar'>Everything</a>
							</h4><p>文件大小：342.9 KB&#12288;文件名称：Everything.rar</p>
						</div></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=970</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>ResHacker 3.5.2.84汉化版</title>
		<link>http://www.shuax.com/?p=966</link>
		<comments>http://www.shuax.com/?p=966#comments</comments>
		<pubDate>Sat, 02 Jan 2010 03:56:25 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[汉化软件]]></category>
		<category><![CDATA[汉化]]></category>
		<category><![CDATA[软件]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=966</guid>
		<description><![CDATA[你想自定义应用软件吗? 例如：更改字体，更改菜单，更改对话框的排列，等等。但你会认为这是不可能的，因为你没有资源文件。ResHacker能在没有资源文件的情况下分析，显示不同的信息，重写可执行文件的资源，包括(EXE，DLL，OCX）等。是方便强大的汉化工具，可以直接修改用 VC++ 及 DELPHI 编制的程序的资源，包括菜单、对话框、字串表等。 偶然在官网逛的时候发现居然出了新版。好像是为了能修改64位软件。另外原来新版支持png的显示了，哈哈。 个人觉得还比较好用，就顺手汉化了，汉化的不是很完全，反正够用就行了。 再说，你都用这个软件来汉化了，不至于一点英文都不懂吧。 下载地址： ResHacker 汉化版 文件大小：353.0 KB&#12288;文件名称：ResHacker.rar]]></description>
			<content:encoded><![CDATA[<p>你想自定义应用软件吗? 例如：更改字体，更改菜单，更改对话框的排列，等等。但你会认为这是不可能的，因为你没有资源文件。ResHacker能在没有资源文件的情况下分析，显示不同的信息，重写可执行文件的资源，包括(EXE，DLL，OCX）等。是方便强大的汉化工具，可以直接修改用 VC++ 及 DELPHI 编制的程序的资源，包括菜单、对话框、字串表等。<br />
偶然在官网逛的时候发现居然出了新版。好像是为了能修改64位软件。另外原来新版支持png的显示了，哈哈。<br />
<span id="more-966"></span></p>
<p style="text-align: center;">
<a href="http://www.shuax.com/wp-content/uploads/2010/01/resh.jpg" class="lightbox"><img class="size-full wp-image-967 aligncenter" title="resh" src="http://www.shuax.com/wp-content/uploads/2010/01/resh.jpg" alt="" width="693" height="381" /></a></p>
<p>个人觉得还比较好用，就顺手汉化了，汉化的不是很完全，反正够用就行了。<br />
再说，你都用这个软件来汉化了，不至于一点英文都不懂吧。<br />
下载地址：<br />
<div class='download-link'>
							<a href='http://www.shuax.com/download.php?file=http://www.shuax.com/download/ResHacker.rar'><img alt='Download' class='leftalign' src='http://www.shuax.com/wp-content/plugins/dBeautifier/icons/downloads.png' /></a>
							<h4>
								<a href='http://www.shuax.com/download.php?file=http://www.shuax.com/download/ResHacker.rar'>ResHacker 汉化版</a>
							</h4><p>文件大小：353.0 KB&#12288;文件名称：ResHacker.rar</p>
						</div></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=966</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>推荐一个系列的好书</title>
		<link>http://www.shuax.com/?p=958</link>
		<comments>http://www.shuax.com/?p=958#comments</comments>
		<pubDate>Fri, 01 Jan 2010 10:16:49 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[程序开发]]></category>
		<category><![CDATA[推荐]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=958</guid>
		<description><![CDATA[系列名称：如何像计算机科学家一样思考（How to think like a computer scientist） 包含版本：C++、JAVA、Python 我很喜欢这种教育方式~ 附录A：程序开发计划 　　如果花费了大量的时间在调试上，很可能是因为没有一个有效的程序开发计划。 　　一个典型的不好的程序开发计划就像这样： 　　　　1. 编写一个完整的方法。 　　　　2. 编写更多的方法。 　　　　3. 编译程序。 　　　　4. 花一个小时来找语法错误。 　　　　5. 花一个小时来找运行时错误。 　　　　6. 花三个小时来找语义错误。 　　显而易见，问题出在头两步。如果写了一个方法甚至很多方法都不调试，那么得到的代码可能已经多得让你无法调试了。 如果遇到这种情况，唯一的解决办法就是删除代码直到再次获得一个可以工作的程序，然后再慢慢将程序增加回来。编程新手往往不希望这么干，因为他们精心编写的代码实在是太宝贝了。可是为了高效的进行调试，你不得不残忍起来！ 　　下面是一个较好的程序开发计划： 　　　　1. 从一个能做一些直观事情（比如打印一些东西）的程序开始。 　　　　2. 每次增加少许几行代码，并且每次改动都测试程序是否正确。 　　　　3. 重复前两步直到程序满足预期的要求。 　　每次改动后的程序都应该产生一些验证新添代码的可见效果。这种编程方式能节省许多时间。因为一次只增加少许几行代码，所以容易发现语法错误；程序的每个版本产生一些可见的结果，这就使你能不断测试自己头脑中关于程序是如何工作的模型。如果头脑中的模型是错的，在写出一大堆错误代码之前你将面对矛盾（并且也有了改正的机会） 。 　　这种方式的问题是常常难于找出下手的地方并得到一个完整正确的程序。我将通过开发一个名为isIn 的方法来演示这种方式。 这个方法取一个字符串和一个字符为参数， 返回一个布尔值： 如果字符出现在字符串中就返回 true否则返回 false。 　　1. 第一步，写一个尽量短但可以编译、运行并做一些可见的事情的方法： public static boolean isIn &#40;char c, String s&#41; &#123; System.out.println &#40;&#34;isIn&#34;&#41;;]]></description>
			<content:encoded><![CDATA[<p>系列名称：如何像计算机科学家一样思考（How to think like a computer scientist）<br />
包含版本：C++、JAVA、Python<br />
我很喜欢这种教育方式~</p>
<p>附录A：程序开发计划<br />
　　如果花费了大量的时间在调试上，很可能是因为没有一个有效的程序开发计划。 </p>
<p>　　一个典型的不好的程序开发计划就像这样：<br />
　　　　1. 编写一个完整的方法。<br />
　　　　2. 编写更多的方法。<br />
　　　　3. 编译程序。<br />
　　　　4. 花一个小时来找语法错误。<br />
　　　　5. 花一个小时来找运行时错误。<br />
　　　　6. 花三个小时来找语义错误。<br />
<span id="more-958"></span><br />
　　显而易见，问题出在头两步。如果写了一个方法甚至很多方法都不调试，那么得到的代码可能已经多得让你无法调试了。 如果遇到这种情况，唯一的解决办法就是删除代码直到再次获得一个可以工作的程序，然后再慢慢将程序增加回来。编程新手往往不希望这么干，因为他们精心编写的代码实在是太宝贝了。可是为了高效的进行调试，你不得不残忍起来！<br />
　　下面是一个较好的程序开发计划：<br />
　　　　1. 从一个能做一些直观事情（比如打印一些东西）的程序开始。<br />
　　　　2. 每次增加少许几行代码，并且每次改动都测试程序是否正确。<br />
　　　　3. 重复前两步直到程序满足预期的要求。<br />
　　每次改动后的程序都应该产生一些验证新添代码的可见效果。这种编程方式能节省许多时间。因为一次只增加少许几行代码，所以容易发现语法错误；程序的每个版本产生一些可见的结果，这就使你能不断测试自己头脑中关于程序是如何工作的模型。如果头脑中的模型是错的，在写出一大堆错误代码之前你将面对矛盾（并且也有了改正的机会） 。<br />
　　这种方式的问题是常常难于找出下手的地方并得到一个完整正确的程序。我将通过开发一个名为isIn 的方法来演示这种方式。 这个方法取一个字符串和一个字符为参数， 返回一个布尔值： 如果字符出现在字符串中就返回 true否则返回 false。<br />
　　1.  第一步，写一个尽量短但可以编译、运行并做一些可见的事情的方法：</p>

<div class="wp_codebox"><table><tr id="p958130"><td class="code" id="p958code130"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">boolean</span> isIn <span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">char</span> c, <span style="color: #003399;">String</span> s<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> 
    <span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span> <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;isIn&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
    <span style="color: #000000; font-weight: bold;">return</span> <span style="color: #000066; font-weight: bold;">false</span><span style="color: #339933;">;</span> 
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>　　当然，要测试这个方法就要调用它，需要在main 方法或在一个正常工作的程序中什么地方创建一个简单的测试用例。 先来看一个字符串中出现了字符的用例（期望得到的结果是true） ：</p>

<div class="wp_codebox"><table><tr id="p958131"><td class="code" id="p958code131"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">void</span> main <span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> args<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> 
    <span style="color: #000066; font-weight: bold;">boolean</span> test <span style="color: #339933;">=</span> isIn <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'n'</span>, <span style="color: #0000ff;">&quot;banana&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
    <span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span> <span style="color: #009900;">&#40;</span>test<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>　　如果一切按照计划进行，代码将顺利编译、运行然后打印单词 isIn 和值false。当然，答案是不对的，但目前我们知道方法被调用并且返回了值。 在个人的编程生涯里，我浪费了太多太多的时间调试某个方法，结果却发现它根本没有被调用。如果当时我采用这种开发方式，这种事情是不应该发生的。<br />
　　2. 第二步，检查方法取得的参数：</p>

<div class="wp_codebox"><table><tr id="p958132"><td class="code" id="p958code132"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">boolean</span> isIn <span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">char</span> c, <span style="color: #003399;">String</span> s<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> 
    <span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span> <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;isIn looking for &quot;</span> <span style="color: #339933;">+</span> c<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
    <span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span> <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;in the String &quot;</span> <span style="color: #339933;">+</span> s<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
    <span style="color: #000000; font-weight: bold;">return</span> <span style="color: #000066; font-weight: bold;">false</span><span style="color: #339933;">;</span> 
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>　　第一个打印语句允许我们确认 isIn 方法找的是正确的字母， 第二句用来确认找的是正确的位置。<br />
　　现在输出是：<br />
　　　　isIn looking for b<br />
　　　　in the String banana<br />
　　既然已经知道它们的作用，再打印参数似乎有点傻。关键在于确认它们是否和我们设想的一样。 </p>
<p>　　3. 为了遍历字符串，可以利用 7.3 节的代码。一般来说，重用代码片断比全部从头开始更好。</p>

<div class="wp_codebox"><table><tr id="p958133"><td class="code" id="p958code133"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">boolean</span> isIn <span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">char</span> c, <span style="color: #003399;">String</span> s<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> 
    <span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span> <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;isIn looking for &quot;</span> <span style="color: #339933;">+</span> c<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
    <span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span> <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;in the String &quot;</span> <span style="color: #339933;">+</span> s<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
    <span style="color: #000066; font-weight: bold;">int</span> index <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span> 
    <span style="color: #000000; font-weight: bold;">while</span> <span style="color: #009900;">&#40;</span>index <span style="color: #339933;">&lt;</span> s.<span style="color: #006633;">length</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> 
        <span style="color: #000066; font-weight: bold;">char</span> letter <span style="color: #339933;">=</span> s.<span style="color: #006633;">charAt</span> <span style="color: #009900;">&#40;</span>index<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
        <span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span> <span style="color: #009900;">&#40;</span>letter<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
        index <span style="color: #339933;">=</span> index <span style="color: #339933;">+</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span> 
    <span style="color: #009900;">&#125;</span> 
    <span style="color: #000000; font-weight: bold;">return</span> <span style="color: #000066; font-weight: bold;">false</span><span style="color: #339933;">;</span> 
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>　　现在运行这个程序，它将一次打印字符串中的一个字符。如果一切进展良好，可以确定这个循环检测了字符串中的每个字母。<br />
　　4. 到这里还没有充分思考过这个方法到底要做什么， 此时我们最需要的可能就是找到一种算法。最简单的算法是一个线性查找，即遍历向量并将每个元素和目标键进行比较。<br />
　　令人愉快的是前面已经写过了遍历向量的代码。和以往一样，每次增加几行：</p>

<div class="wp_codebox"><table><tr id="p958134"><td class="code" id="p958code134"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">boolean</span> isIn <span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">char</span> c, <span style="color: #003399;">String</span> s<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> 
    <span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span> <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;isIn looking for &quot;</span> <span style="color: #339933;">+</span> c<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
    <span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span> <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;in the String &quot;</span> <span style="color: #339933;">+</span> s<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
    <span style="color: #000066; font-weight: bold;">int</span> index <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span> 
    <span style="color: #000000; font-weight: bold;">while</span> <span style="color: #009900;">&#40;</span>index <span style="color: #339933;">&lt;</span> s.<span style="color: #006633;">length</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> 
        <span style="color: #000066; font-weight: bold;">char</span> letter <span style="color: #339933;">=</span> s.<span style="color: #006633;">charAt</span> <span style="color: #009900;">&#40;</span>index<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
        <span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span> <span style="color: #009900;">&#40;</span>letter<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
        <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>letter <span style="color: #339933;">==</span> c<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> 
            <span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span> <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;found it&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
        <span style="color: #009900;">&#125;</span> 
        index <span style="color: #339933;">=</span> index <span style="color: #339933;">+</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span> 
    <span style="color: #009900;">&#125;</span> 
    <span style="color: #000000; font-weight: bold;">return</span> <span style="color: #000066; font-weight: bold;">false</span><span style="color: #339933;">;</span> 
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>　　遍历字符串的时候，将每一个字母和目标键做比较。如果找到了目标，就打印一些信息， 这样我们就能知道新增代码执行的时候产生了一些可见的效果。<br />
　　5. 现在已经很接近正确工作的代码了。 如果找到了要找的内容那么下一个改动是要从方法中返回：</p>

<div class="wp_codebox"><table><tr id="p958135"><td class="code" id="p958code135"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">boolean</span> isIn <span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">char</span> c, <span style="color: #003399;">String</span> s<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> 
    <span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span> <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;isIn looking for &quot;</span> <span style="color: #339933;">+</span> c<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
    <span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span> <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;in the String &quot;</span> <span style="color: #339933;">+</span> s<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
    <span style="color: #000066; font-weight: bold;">int</span> index <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span> 
    <span style="color: #000000; font-weight: bold;">while</span> <span style="color: #009900;">&#40;</span>index <span style="color: #339933;">&lt;</span> s.<span style="color: #006633;">length</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> 
        <span style="color: #000066; font-weight: bold;">char</span> letter <span style="color: #339933;">=</span> s.<span style="color: #006633;">charAt</span> <span style="color: #009900;">&#40;</span>index<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
        <span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span> <span style="color: #009900;">&#40;</span>letter<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
        <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>letter <span style="color: #339933;">==</span> c<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> 
            <span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span> <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;found it&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
            <span style="color: #000000; font-weight: bold;">return</span> <span style="color: #000066; font-weight: bold;">true</span><span style="color: #339933;">;</span> 
        <span style="color: #009900;">&#125;</span> 
        index <span style="color: #339933;">=</span> index <span style="color: #339933;">+</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span> 
    <span style="color: #009900;">&#125;</span> 
    <span style="color: #000000; font-weight: bold;">return</span> <span style="color: #000066; font-weight: bold;">false</span><span style="color: #339933;">;</span> 
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>　　如果找到了目标字符，返回true；如果经历了整个循环也没有找到，正确的返回值就应该是false。<br />
　　现在运行程序应该得到：<br />
　　　　isIn looking for n<br />
　　　　in the String banana<br />
　　　　b<br />
　　　　a<br />
　　　　n<br />
　　　　found it<br />
　　　　true<br />
　　6.  下一步是要确认别的测试用例能正确的工作。 首先应该确认如果字符没有在字符串中则方法返回false。然后要检查一些典型的容易招致麻烦的情况，例如空字符串&#8221;"，或者只有一个字符的字符串。<br />
　　一般说来这种测试可以帮我们找到存在的bug，但不能判断方法是否正确。<br />
　　7.  倒数第二步要移出或注释掉打印语句。</p>

<div class="wp_codebox"><table><tr id="p958136"><td class="code" id="p958code136"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">boolean</span> isIn <span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">char</span> c, <span style="color: #003399;">String</span> s<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> 
    <span style="color: #000066; font-weight: bold;">int</span> index <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span> 
    <span style="color: #000000; font-weight: bold;">while</span> <span style="color: #009900;">&#40;</span>index <span style="color: #339933;">&lt;</span> s.<span style="color: #006633;">length</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> 
        <span style="color: #000066; font-weight: bold;">char</span> letter <span style="color: #339933;">=</span> s.<span style="color: #006633;">charAt</span> <span style="color: #009900;">&#40;</span>index<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
        <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>letter <span style="color: #339933;">==</span> c<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> 
            <span style="color: #000000; font-weight: bold;">return</span> <span style="color: #000066; font-weight: bold;">true</span><span style="color: #339933;">;</span> 
        <span style="color: #009900;">&#125;</span> 
        index <span style="color: #339933;">=</span> index <span style="color: #339933;">+</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span> 
    <span style="color: #009900;">&#125;</span> 
    <span style="color: #000000; font-weight: bold;">return</span> <span style="color: #000066; font-weight: bold;">false</span><span style="color: #339933;">;</span> 
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>　　如果稍后还要查看这个方法，那么将打印语句注释掉是一个好主意。但如果这个方法是最终版本并且你能确信它是正确无误的，就可以移出这些打印语句了。<br />
　　移出注释可以让代码更加干净，也有助于发现遗留的问题。 如果代码的用意并不是很明显，就应该增加注释来解释清除。要抵制逐行翻译代码的诱惑。例如，这样做是毫无必要的： </p>
<blockquote><p>// if letter equals c, return true<br />
if (letter == c) {<br />
    return true;<br />
} </p></blockquote>
<p>　　注释应该用来解释含义不明显的代码，提示容易导致错误的情况和说明包含在代码中的假设。还有，在每个方法之前给出该方法的用途也是一个很好的做法。<br />
　　8.  最后一步是检测代码并确认它是正确的。在这里我们知道方法的语法是正确的，因为编译顺利通过。要检查运行时错误，只有找出每个可能导致错误的语句和条件。<br />
　　在这方法中唯一能导致运行时错误的语句是 s.charAt (index)。如果s 是null 或者索引超越了边界那么这条语句就将失败。因为s 是一个参数，就不能确保它不是null，所以只有检查。一般说来方法最好都要确认参数的合法性。while 循环的结构保证了 index 总是在0 到 s.length-1 之间。如果检查全部有问题的条件，或者证明这些条件不可能发生，那么就证明了方法不会导致运行时错误。<br />
　　我们还没有证明这个方法的语义是正确的，但在逐步递增的过程中，避免了很多可能的错误。例如已经知道方法能正确取得参、循环遍历了整个字符串。我们还知道这个方法成功的比较了字符，如果目标在字符串中就返回true。最后我们知道，如果循环存在就表明目标不在字符串中。<br />
　　在没有正式证明的情况下，这可能是我们能做到的最好情况。 </p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=958</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>热烈庆祝本站PR从0到3</title>
		<link>http://www.shuax.com/?p=954</link>
		<comments>http://www.shuax.com/?p=954#comments</comments>
		<pubDate>Thu, 31 Dec 2009 03:10:12 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[我的生活]]></category>
		<category><![CDATA[网站]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=954</guid>
		<description><![CDATA[感谢伟大的Google，感谢全能的Google。 在2009年的最后一天给了我一个大惊喜。今天偶然看见居然有PR了，而且还是3。 本来我已经对PR失去关注度了，因为听说PR已经不再重要。 不过有总比没有好吧，嘿嘿。Alexa世界排名:1,370,729。 祝大家元旦快乐！]]></description>
			<content:encoded><![CDATA[<p>感谢伟大的Google，感谢全能的Google。</p>
<p>在2009年的最后一天给了我一个大惊喜。今天偶然看见居然有PR了，而且还是3。</p>
<p>本来我已经对PR失去关注度了，因为听说PR已经不再重要。</p>
<p>不过有总比没有好吧，嘿嘿。Alexa世界排名:1,370,729。</p>
<p>祝大家元旦快乐！</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=954</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>打造自己的QQ2009</title>
		<link>http://www.shuax.com/?p=950</link>
		<comments>http://www.shuax.com/?p=950#comments</comments>
		<pubDate>Wed, 30 Dec 2009 13:14:23 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[DIY]]></category>
		<category><![CDATA[QQ]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=950</guid>
		<description><![CDATA[原创文章，转载时请注明出处！ 现在网上有各式各样的QQ2009某某版在流动，但是你用着是否放心呢？ 尤其是某些人还在安装文件上加上很多信息。 其实要做一个自己的QQ并不是很难。 第一步、当然是下载一个官方原版的QQ，一定要是官方的，这样才能保证是无毒的。不要通过搜索引擎，而是应该直接从软件的官方下载地址进行下载。这里就是官方QQ的下载地址：http://im.qq.com/qq/all.shtml 其实我很早以前就想自己重新打包了，可是就是不会。今天偶然之间，安装了一下7Z，我的吗呀，原来这样的索。 第二步、在下载下来的QQ2009SP6.exe上点击右键，7-ZIP→打开压缩包。我晕，原来就这么简单啊。我进去逛了一圈，看到了一个叫做MSI的资源，里面的文件比较大，而且看名字也知道，这里大概就是主要的文件存放地了。（提示：可以结合exe资源编辑工具查看，比如ResHacker）。 第三步、依次打开MSI里面的几个文件。我再次被雷到了，这几个2020就是7z格式的……唉，看来是拦不住我了。又继续看吧。终于看见了我熟悉的Bin目录，位于：E:\QQ2009SP6.exe\.rsrc\2052\MSI\2019\program files\Tencent\QQ2009\Bin\。我今天就吧寒星大大的会员补丁集成进去吧。 第四步、把2019那个文件解压出来，并且加入了IM.dll和LocalVIP.dll，好了，打包，去掉文件名。再次加进去。顺便也把旁边的几个腾讯附带的下载器给删除了：软件管理、QQ工具条…… 第五步、用资源修改软件，直接把这个exe文件的对话框修改了，又发现腾讯简陋的地方了，原来这个文件的蓝本来自于TM预览版……唉。对话框资源主要在1005和1008。把那些选项给禁用了吧。世界清静了…… 第六步、运行测试。嘿嘿，感觉真好啊，看起来只属于自己的QQ2009就完工了。运行……咦，缺少LocalVIP.dll。为什么呢？请看第七步。 第七步、看来是出问题了，我猜想看来腾讯并不是简单的解压而已，肯定还有个文件安装清单。对了，在2020资源里面有个QQ2009.msi的安装文件。来看看这里吧。把文件提取出来，用16进制的软件搜索了一下“IM.dll”，哦，找到了，看来确实是通过这个文件来安装的咯，现在我们就要修改这个文件，实现集成我们自己的文件LocalVIP.dll。我以前没有修改msi的经验，不过网上一大把啊。这篇文章比较好一点。我推荐大家去看看。好了，具体怎么改我就不说了。http://www.hanzify.org/teach/index.php?Go=Show::652-1233562028 第八步、再次打包、安装、运行、嘿嘿，我们的原装去广告QQ就出现啦。啦啦啦……我得意的笑啊。巴适，真的巴适。 第九步、咦，为什么还有第九步呢？因为99至尊啦，没有第九步，我也要弄出个第九步来。开个玩笑啦。第九步其实就是缝缝补补，继续优化。这里需要的技术就要比之前的高一点点了。你在前面修改的时候有没有想过直接去掉那些选项啊，而不是禁止。其实我还想呢，可是我技术不够啊。最后这里我主要是禁止腾讯安装的最后一部，比如设置首页、开机自启动……现在，拿出我们的锤子开工吧。啊，错了，是运行OllyDBG，打开安装文件QQ2009SP6.exe，按下F9、按下F9、按下F9、按下F9、按下F9，反正按到无法运行为止。现在正式开工啦，寻找Unicode字符串，找到特征码，比如注册表键值、运行文件名称，定位。好了，一般这些高档软件都会有检错的，比如注册表没有打开……好啦，其实本来它是打开了的，只不过你就骗骗它啦，在这些特征的附近观察API的调用。把JNZ修改成JZ啊，或者倒着修改，再或者是直接RETN算了。然后把你修改好的文件保存吧。好啦，现在世界才真正的清静了。最后，记得把那几个选项给隐藏了哦。 完整PDF：http://u.115.com/file/f0f6e59645]]></description>
			<content:encoded><![CDATA[<p><strong>原创文章，转载时请注明出处！</strong></p>
<p>现在网上有各式各样的QQ2009某某版在流动，但是你用着是否放心呢？</p>
<p>尤其是某些人还在安装文件上加上很多信息。</p>
<p>其实要做一个自己的QQ并不是很难。</p>
<p><strong>第一步、</strong>当然是下载一个官方原版的QQ，一定要是官方的，这样才能保证是无毒的。不要通过搜索引擎，而是应该直接从软件的官方下载地址进行下载。这里就是官方QQ的下载地址：<a href="http://im.qq.com/qq/all.shtml">http://im.qq.com/qq/all.shtml</a></p>
<p>其实我很早以前就想自己重新打包了，可是就是不会。今天偶然之间，安装了一下7Z，我的吗呀，原来这样的索。</p>
<p><span id="more-950"></span></p>
<p><strong>第二步、</strong>在下载下来的QQ2009SP6.exe上点击右键，7-ZIP→打开压缩包。我晕，原来就这么简单啊。我进去逛了一圈，看到了一个叫做MSI的资源，里面的文件比较大，而且看名字也知道，这里大概就是主要的文件存放地了。（提示：可以结合exe资源编辑工具查看，比如ResHacker）。</p>
<p><strong>第三步、</strong>依次打开MSI里面的几个文件。我再次被雷到了，这几个2020就是7z格式的……唉，看来是拦不住我了。又继续看吧。终于看见了我熟悉的Bin目录，位于：E:\QQ2009SP6.exe\.rsrc\2052\MSI\2019\program files\Tencent\QQ2009\Bin\。我今天就吧寒星大大的会员补丁集成进去吧。</p>
<p><strong>第四步、</strong>把2019那个文件解压出来，并且加入了IM.dll和LocalVIP.dll，好了，打包，去掉文件名。再次加进去。顺便也把旁边的几个腾讯附带的下载器给删除了：软件管理、QQ工具条……</p>
<p><strong>第五步、</strong>用资源修改软件，直接把这个exe文件的对话框修改了，又发现腾讯简陋的地方了，原来这个文件的蓝本来自于TM预览版……唉。对话框资源主要在1005和1008。把那些选项给禁用了吧。世界清静了……</p>
<p><strong>第六步、</strong>运行测试。嘿嘿，感觉真好啊，看起来只属于自己的QQ2009就完工了。运行……咦，缺少LocalVIP.dll。为什么呢？请看第七步。</p>
<p><strong>第七<strong>步</strong>、</strong>看来是出问题了，我猜想看来腾讯并不是简单的解压而已，肯定还有个文件安装清单。对了，在2020资源里面有个QQ2009.msi的安装文件。来看看这里吧。把文件提取出来，用16进制的软件搜索了一下“IM.dll”，哦，找到了，看来确实是通过这个文件来安装的咯，现在我们就要修改这个文件，实现集成我们自己的文件LocalVIP.dll。我以前没有修改msi的经验，不过网上一大把啊。这篇文章比较好一点。我推荐大家去看看。好了，具体怎么改我就不说了。<a href="http://www.hanzify.org/teach/index.php?Go=Show::652-1233562028">http://www.hanzify.org/teach/index.php?Go=Show::652-1233562028</a></p>
<p><strong>第八<strong>步</strong>、</strong>再次打包、安装、运行、嘿嘿，我们的原装去广告QQ就出现啦。啦啦啦……我得意的笑啊。巴适，真的巴适。</p>
<p><strong>第九步、</strong>咦，为什么还有第九步呢？因为99至尊啦，没有第九步，我也要弄出个第九步来。开个玩笑啦。第九步其实就是缝缝补补，继续优化。这里需要的技术就要比之前的高一点点了。你在前面修改的时候有没有想过直接去掉那些选项啊，而不是禁止。其实我还想呢，可是我技术不够啊。最后这里我主要是禁止腾讯安装的最后一部，比如设置首页、开机自启动……现在，拿出我们的锤子开工吧。啊，错了，是运行OllyDBG，打开安装文件QQ2009SP6.exe，按下F9、按下F9、按下F9、按下F9、按下F9，反正按到无法运行为止。现在正式开工啦，寻找Unicode字符串，找到特征码，比如注册表键值、运行文件名称，定位。好了，一般这些高档软件都会有检错的，比如注册表没有打开……好啦，其实本来它是打开了的，只不过你就骗骗它啦，在这些特征的附近观察API的调用。把JNZ修改成JZ啊，或者倒着修改，再或者是直接RETN算了。然后把你修改好的文件保存吧。好啦，现在世界才真正的清静了。最后，记得把那几个选项给隐藏了哦。</p>
<p><strong>完整PDF：http://u.115.com/file/f0f6e59645</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=950</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>C语言迷宫 源代码</title>
		<link>http://www.shuax.com/?p=948</link>
		<comments>http://www.shuax.com/?p=948#comments</comments>
		<pubDate>Wed, 30 Dec 2009 03:40:29 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[C/C++]]></category>
		<category><![CDATA[数据结构]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=948</guid>
		<description><![CDATA[关键部分在于迷宫的寻路部分，我灵感大爆发……用递归的思想，4行代码就搞定啦。 看起来就像是用洪水去冲那个通道，如果冲到了终点，说明这个通道是通的…… 但是实现最优解就有点麻烦了，我嘛，就不做啦。 另外比较复杂的就是自动生成迷宫了，不过我又偷懒了，我没有用DFS那些什么算法来实现。 我是纯粹的随机的，只不过加了几个限制。 1、如果有解，停止生成 2、时间限制 3、在时间限制的基础上保证迷宫有一定的长度 代码清单： 主程序main.cpp #include &#60;windows.h&#62; #include &#60;stdio.h&#62; #include &#60;conio.h&#62; #include &#60;time.h&#62; #include &#60;stdlib.h&#62; #include &#60;string.h&#62; #include &#34;CORE.h&#34; #include &#34;UI.h&#34; int main&#40;&#41; &#123; srand&#40;time&#40;NULL&#41;&#41;; UI.Initialization&#40;&#41;; UI.Select&#40;&#41;; return 0; &#125; UI.h //用户界面函数 //舒俊杰 2009年12月9日 typedef struct _MARGINS &#123; int cxLeftWidth; int cxRightWidth; int cyTopHeight; int cyBottomHeight; &#125;MARGINS, *PMARGINS; MARGINS mar]]></description>
			<content:encoded><![CDATA[<p>关键部分在于迷宫的寻路部分，我灵感大爆发……用递归的思想，4行代码就搞定啦。<br />
看起来就像是用洪水去冲那个通道，如果冲到了终点，说明这个通道是通的……<br />
但是实现最优解就有点麻烦了，我嘛，就不做啦。</p>
<p>另外比较复杂的就是自动生成迷宫了，不过我又偷懒了，我没有用DFS那些什么算法来实现。<br />
我是纯粹的随机的，只不过加了几个限制。<br />
1、如果有解，停止生成<br />
2、时间限制<br />
3、在时间限制的基础上保证迷宫有一定的长度</p>
<p>代码清单：<br />
<span id="more-948"></span><br />
主程序main.cpp</p>

<div class="wp_codebox"><table><tr id="p948140"><td class="code" id="p948code140"><pre class="cpp" style="font-family:monospace;"><span style="color: #339900;">#include &lt;windows.h&gt;</span>
<span style="color: #339900;">#include &lt;stdio.h&gt;</span>
<span style="color: #339900;">#include &lt;conio.h&gt;</span>
<span style="color: #339900;">#include &lt;time.h&gt;</span>
<span style="color: #339900;">#include &lt;stdlib.h&gt;</span>
<span style="color: #339900;">#include &lt;string.h&gt;</span>
<span style="color: #339900;">#include &quot;CORE.h&quot;</span>
<span style="color: #339900;">#include &quot;UI.h&quot;</span>
<span style="color: #0000ff;">int</span> main<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
    <span style="color: #0000dd;">srand</span><span style="color: #008000;">&#40;</span><span style="color: #0000dd;">time</span><span style="color: #008000;">&#40;</span><span style="color: #0000ff;">NULL</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    UI.<span style="color: #007788;">Initialization</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    UI.<span style="color: #007788;">Select</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">return</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></td></tr></table></div>

<p>UI.h</p>

<div class="wp_codebox"><table><tr id="p948141"><td class="code" id="p948code141"><pre class="cpp" style="font-family:monospace;"><span style="color: #666666;">//用户界面函数</span>
<span style="color: #666666;">//舒俊杰 2009年12月9日</span>
<span style="color: #0000ff;">typedef</span> <span style="color: #0000ff;">struct</span> _MARGINS
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">int</span> cxLeftWidth<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">int</span> cxRightWidth<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">int</span> cyTopHeight<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">int</span> cyBottomHeight<span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>MARGINS, <span style="color: #000040;">*</span>PMARGINS<span style="color: #008080;">;</span>
MARGINS mar <span style="color: #000080;">=</span> <span style="color: #008000;">&#123;</span> <span style="color: #000040;">-</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#125;</span><span style="color: #008080;">;</span>
<span style="color: #0000ff;">typedef</span> BOOL <span style="color: #008000;">&#40;</span>WINAPI <span style="color: #000040;">*</span>MYFUN<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#40;</span>HWND, MARGINS<span style="color: #000040;">*</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
MYFUN DwmExtendFrameIntoClientArea<span style="color: #008080;">;</span>
<span style="color: #0000ff;">struct</span> UI
<span style="color: #008000;">&#123;</span>
    <span style="color: #0000ff;">void</span> Initialization<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #666666;">//设置窗口标题和大小</span>
		SetConsoleTitle<span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;迷宫程序&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">system</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;mode con cols=60 lines=13&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #666666;">//设置窗口辅助</span>
		HWND hwnd <span style="color: #000080;">=</span> FindWindow<span style="color: #008000;">&#40;</span><span style="color: #0000dd;">0</span>, <span style="color: #FF0000;">&quot;迷宫程序&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>hwnd <span style="color: #000040;">!</span><span style="color: #000080;">=</span> <span style="color: #0000ff;">NULL</span><span style="color: #008000;">&#41;</span>
		<span style="color: #008000;">&#123;</span>
			<span style="color: #666666;">//动态加载DWMAPI，使得窗口玻璃化</span>
			HINSTANCE hFuncInst <span style="color: #000080;">=</span> LoadLibrary<span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;dwmapi.DLL&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
			<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>hFuncInst <span style="color: #000040;">!</span><span style="color: #000080;">=</span> <span style="color: #0000ff;">NULL</span><span style="color: #008000;">&#41;</span>
			<span style="color: #008000;">&#123;</span>
				DwmExtendFrameIntoClientArea <span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span>MYFUN<span style="color: #008000;">&#41;</span>GetProcAddress<span style="color: #008000;">&#40;</span>hFuncInst, <span style="color: #FF0000;">&quot;DwmExtendFrameIntoClientArea&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
				DwmExtendFrameIntoClientArea<span style="color: #008000;">&#40;</span>hwnd, <span style="color: #000040;">&amp;</span>mar<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
			<span style="color: #008000;">&#125;</span>
			<span style="color: #666666;">//窗口居中</span>
			RECT rect<span style="color: #008080;">;</span>
			GetWindowRect<span style="color: #008000;">&#40;</span>hwnd, <span style="color: #000040;">&amp;</span>rect<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
			rect.<span style="color: #007788;">left</span> <span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span>GetSystemMetrics<span style="color: #008000;">&#40;</span>SM_CXSCREEN<span style="color: #008000;">&#41;</span> <span style="color: #000040;">-</span> rect.<span style="color: #007788;">right</span><span style="color: #008000;">&#41;</span> <span style="color: #000040;">/</span> <span style="color: #0000dd;">2</span><span style="color: #008080;">;</span>
			rect.<span style="color: #007788;">top</span> <span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span>GetSystemMetrics<span style="color: #008000;">&#40;</span>SM_CYSCREEN<span style="color: #008000;">&#41;</span> <span style="color: #000040;">-</span> rect.<span style="color: #007788;">bottom</span><span style="color: #008000;">&#41;</span> <span style="color: #000040;">/</span> <span style="color: #0000dd;">2</span><span style="color: #008080;">;</span>
			SetWindowPos<span style="color: #008000;">&#40;</span>hwnd, HWND_TOP, rect.<span style="color: #007788;">left</span>, rect.<span style="color: #007788;">top</span>, rect.<span style="color: #007788;">right</span>, rect.<span style="color: #007788;">bottom</span>, SWP_NOZORDER<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
			<span style="color: #666666;">//禁止更改大小、去掉最大化按钮</span>
			SetWindowLong<span style="color: #008000;">&#40;</span>hwnd, GWL_STYLE, GetWindowLong<span style="color: #008000;">&#40;</span>hwnd, GWL_STYLE<span style="color: #008000;">&#41;</span><span style="color: #000040;">&amp;</span> ~WS_THICKFRAME<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
			SetWindowLong<span style="color: #008000;">&#40;</span>hwnd, GWL_STYLE, GetWindowLong<span style="color: #008000;">&#40;</span>hwnd, GWL_STYLE<span style="color: #008000;">&#41;</span><span style="color: #000040;">&amp;</span> ~WS_MAXIMIZEBOX<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #008000;">&#125;</span>
		<span style="color: #666666;">//显示LOGO</span>
		logo<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000ff;">void</span> logo<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000dd;">system</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;CLS&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		Sleep<span style="color: #008000;">&#40;</span><span style="color: #0000dd;">80</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span><span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;　　　　　　　　　迷　　　　　　　　　　　　  宫<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		Sleep<span style="color: #008000;">&#40;</span><span style="color: #0000dd;">75</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span><span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;　　　迷　　迷　　迷　　迷　　　　　 宫宫宫宫宫宫宫宫宫宫<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		Sleep<span style="color: #008000;">&#40;</span><span style="color: #0000dd;">70</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span><span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;　　　　迷　　迷　迷　迷　　　　　　 宫　　 　　　　　 宫<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		Sleep<span style="color: #008000;">&#40;</span><span style="color: #0000dd;">65</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span><span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;　　　　　　　迷　迷　迷　　　　　　 　  宫宫宫宫宫宫<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		Sleep<span style="color: #008000;">&#40;</span><span style="color: #0000dd;">60</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span><span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;　　迷迷迷　迷迷迷迷迷迷迷　　　　　 　　宫　　　　宫<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		Sleep<span style="color: #008000;">&#40;</span><span style="color: #0000dd;">55</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span><span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;　　　　迷　　　迷迷迷　　　　　　　 　　宫宫宫宫宫宫<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		Sleep<span style="color: #008000;">&#40;</span><span style="color: #0000dd;">50</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span><span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;　　　　迷　　迷　迷　迷<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		Sleep<span style="color: #008000;">&#40;</span><span style="color: #0000dd;">45</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span><span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;　　　　迷　迷　　迷　　迷　　　　 　　宫宫宫宫宫宫宫宫<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		Sleep<span style="color: #008000;">&#40;</span><span style="color: #0000dd;">40</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span><span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;　　　　迷　　　　迷　　　　　　 　　　宫　　　　　　宫<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		Sleep<span style="color: #008000;">&#40;</span><span style="color: #0000dd;">35</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span><span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;　　　迷　迷　　　迷　　　　　　　　 　宫　　　　　　宫<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		Sleep<span style="color: #008000;">&#40;</span><span style="color: #0000dd;">30</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span><span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;　　迷　　　迷迷迷迷迷迷迷　　　　 　　宫宫宫宫宫宫宫宫<span style="color: #000099; font-weight: bold;">\n</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">char</span> tips<span style="color: #008000;">&#91;</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #FF0000;">&quot;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;使劲的载入中&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&quot;</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> i <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>i <span style="color: #000080;">&lt;</span> <span style="color: #0000dd;">59</span><span style="color: #008080;">;</span>i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
		<span style="color: #008000;">&#123;</span>
			<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%c&quot;</span>, tips<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
			Sleep<span style="color: #008000;">&#40;</span><span style="color: #0000dd;">35</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #008000;">&#125;</span>
		Sleep<span style="color: #008000;">&#40;</span><span style="color: #0000dd;">200</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000ff;">void</span> menu<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
        <span style="color: #0000dd;">system</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;CLS&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
        SetConsoleTextAttribute<span style="color: #008000;">&#40;</span>GetStdHandle<span style="color: #008000;">&#40;</span>STD_OUTPUT_HANDLE<span style="color: #008000;">&#41;</span>, <span style="color: #0000dd;">15</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;┃　　　　　　　　　　******选项******　　　　　　　　　　┃&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;┃　　　　　　　　　　　　　　　　　　　　　　　　　　　　┃&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;┃　1: 手动生成(A)　　　　　　　　　　　　　　　　　　　　┃&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;┃　2: 自动输入(M)　　　　　　　　　　　　　 ~&gt;_&lt;~+ 　　　┃&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;┃　3: 载入文件(F)　　　　　　　　　　　　　　　　　　　　┃&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;┃　4: 关于帮助(H)　　　　　　　　　　　　　　　　　　　　┃&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;┃　5: 立刻退出(E)　　　　　　　　　　　　　(￣︶￣)　　　┃&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;┃　　　　　　　　　　　　　　　　　　　　　　　　　　　　┃&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot; 请选择一个功能：&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000ff;">void</span> about<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000dd;">system</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;CLS&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;┃　　　　　　　　　******关于帮助******　　　　　　　　　┃&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;┃　　本程序拥有三种方式生成迷宫，选择界面上按键，就能启动┃&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;┃相应的功能。祝您玩得愉快。特别说明：手动生成迷宫时，你不┃&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;┃应该输入空格。　　　　　　　　　　　　　　　　　　　　　┃&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;┃　　　　　　　　　　　　迷宫v1.1　　　　　　　　　　　　┃&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot; 按任意键返回主界面&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		getch<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		Sleep<span style="color: #008000;">&#40;</span><span style="color: #0000dd;">200</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000ff;">void</span> Select<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000ff;">int</span> x <span style="color: #000080;">=</span> <span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">while</span> <span style="color: #008000;">&#40;</span>x<span style="color: #008000;">&#41;</span>
		<span style="color: #008000;">&#123;</span>
			menu<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
			<span style="color: #0000ff;">char</span> k <span style="color: #000080;">=</span> getch<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
			<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>k <span style="color: #000080;">==</span> <span style="color: #000040;">-</span><span style="color: #0000dd;">32</span> <span style="color: #000040;">||</span> k <span style="color: #000080;">==</span> <span style="color: #0000dd;">0</span><span style="color: #008000;">&#41;</span> getch<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span> <span style="color: #666666;">//避免特殊键扫描两次</span>
			<span style="color: #0000ff;">else</span> <span style="color: #0000dd;">putchar</span><span style="color: #008000;">&#40;</span>k<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
			SetConsoleTextAttribute<span style="color: #008000;">&#40;</span>GetStdHandle<span style="color: #008000;">&#40;</span>STD_OUTPUT_HANDLE<span style="color: #008000;">&#41;</span>, <span style="color: #0000dd;">11</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
			<span style="color: #0000ff;">switch</span> <span style="color: #008000;">&#40;</span>k<span style="color: #008000;">&#41;</span>
			<span style="color: #008000;">&#123;</span>
			<span style="color: #0000ff;">case</span> <span style="color: #FF0000;">'A'</span><span style="color: #008080;">:</span>
			<span style="color: #0000ff;">case</span> <span style="color: #FF0000;">'a'</span><span style="color: #008080;">:</span>
			<span style="color: #0000ff;">case</span> <span style="color: #FF0000;">'1'</span><span style="color: #008080;">:</span> Sleep<span style="color: #008000;">&#40;</span><span style="color: #0000dd;">200</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>CORE.<span style="color: #007788;">ManualCreateMaze</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span><span style="color: #0000ff;">break</span><span style="color: #008080;">;</span>
			<span style="color: #0000ff;">case</span> <span style="color: #FF0000;">'M'</span><span style="color: #008080;">:</span>
			<span style="color: #0000ff;">case</span> <span style="color: #FF0000;">'m'</span><span style="color: #008080;">:</span>
			<span style="color: #0000ff;">case</span> <span style="color: #FF0000;">'2'</span><span style="color: #008080;">:</span> Sleep<span style="color: #008000;">&#40;</span><span style="color: #0000dd;">200</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>CORE.<span style="color: #007788;">AutoCreateMaze</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span><span style="color: #0000ff;">break</span><span style="color: #008080;">;</span>
			<span style="color: #0000ff;">case</span> <span style="color: #FF0000;">'F'</span><span style="color: #008080;">:</span>
			<span style="color: #0000ff;">case</span> <span style="color: #FF0000;">'f'</span><span style="color: #008080;">:</span>
			<span style="color: #0000ff;">case</span> <span style="color: #FF0000;">'3'</span><span style="color: #008080;">:</span> Sleep<span style="color: #008000;">&#40;</span><span style="color: #0000dd;">200</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>CORE.<span style="color: #007788;">LoadFileMaze</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span><span style="color: #0000ff;">break</span><span style="color: #008080;">;</span>
			<span style="color: #0000ff;">case</span> <span style="color: #FF0000;">'H'</span><span style="color: #008080;">:</span>
			<span style="color: #0000ff;">case</span> <span style="color: #FF0000;">'h'</span><span style="color: #008080;">:</span>
			<span style="color: #0000ff;">case</span> <span style="color: #FF0000;">'4'</span><span style="color: #008080;">:</span> Sleep<span style="color: #008000;">&#40;</span><span style="color: #0000dd;">200</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>about<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span><span style="color: #0000ff;">break</span><span style="color: #008080;">;</span>
			<span style="color: #0000ff;">case</span> <span style="color: #FF0000;">'E'</span><span style="color: #008080;">:</span>
			<span style="color: #0000ff;">case</span> <span style="color: #FF0000;">'e'</span><span style="color: #008080;">:</span>
			<span style="color: #0000ff;">case</span> <span style="color: #FF0000;">'5'</span><span style="color: #008080;">:</span> <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span> 再见！正在关闭程序……&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>x <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>Sleep<span style="color: #008000;">&#40;</span><span style="color: #0000dd;">500</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span><span style="color: #0000ff;">break</span><span style="color: #008080;">;</span>
			<span style="color: #0000ff;">default</span><span style="color: #008080;">:</span>  <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span> 您的输入不正确&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>Sleep<span style="color: #008000;">&#40;</span><span style="color: #0000dd;">300</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span><span style="color: #0000ff;">break</span><span style="color: #008080;">;</span>
			<span style="color: #008000;">&#125;</span>
		<span style="color: #008000;">&#125;</span>
	<span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span>
UI<span style="color: #008080;">;</span></pre></td></tr></table></div>

<p>CORE.h</p>

<div class="wp_codebox"><table><tr id="p948142"><td class="code" id="p948code142"><pre class="cpp" style="font-family:monospace;"><span style="color: #666666;">//核心算法函数</span>
<span style="color: #666666;">//舒俊杰 2009年12月10日</span>
<span style="color: #666666;">//迷宫矩阵、显示矩阵、矩阵大小</span>
<span style="color: #0000ff;">int</span> <span style="color: #000040;">**</span>MAZE<span style="color: #008080;">;</span>
<span style="color: #0000ff;">char</span> PIC<span style="color: #008000;">&#91;</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span><span style="color: #0000dd;">3</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #008000;">&#123;</span><span style="color: #FF0000;">&quot;　&quot;</span>, <span style="color: #FF0000;">&quot;■&quot;</span>, <span style="color: #FF0000;">&quot;◎&quot;</span><span style="color: #008000;">&#125;</span><span style="color: #008080;">;</span>
<span style="color: #0000ff;">int</span> M, N<span style="color: #008080;">;</span>
<span style="color: #0000ff;">int</span> count<span style="color: #008080;">;</span>
<span style="color: #339900;">#define PASS 0</span>
<span style="color: #339900;">#define WALL 1</span>
<span style="color: #339900;">#define ROAD 2</span>
&nbsp;
<span style="color: #0000ff;">int</span> i, j<span style="color: #008080;">;</span>
<span style="color: #0000ff;">struct</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">int</span> InitMaze<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #666666;">//如果迷宫不为空，释放迷宫</span>
		<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>MAZE <span style="color: #000040;">!</span><span style="color: #000080;">=</span> <span style="color: #0000ff;">NULL</span><span style="color: #008000;">&#41;</span> <span style="color: #0000dd;">free</span><span style="color: #008000;">&#40;</span>MAZE<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>M <span style="color: #000080;">&lt;</span> <span style="color: #0000dd;">2</span> <span style="color: #000040;">||</span> M <span style="color: #000080;">&gt;</span> <span style="color: #0000dd;">10</span> <span style="color: #000040;">||</span> N <span style="color: #000080;">&gt;</span> <span style="color: #0000dd;">29</span> <span style="color: #000040;">||</span> N <span style="color: #000080;">&lt;</span> <span style="color: #0000dd;">2</span><span style="color: #008000;">&#41;</span>
		<span style="color: #008000;">&#123;</span>
			<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;不能载入该迷宫！按任意键返回主菜单。&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
			getch<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
			Sleep<span style="color: #008000;">&#40;</span><span style="color: #0000dd;">200</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
			<span style="color: #0000ff;">return</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
		<span style="color: #008000;">&#125;</span>
		MAZE <span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> <span style="color: #000040;">**</span><span style="color: #008000;">&#41;</span><span style="color: #0000dd;">malloc</span><span style="color: #008000;">&#40;</span>N <span style="color: #000040;">*</span> <span style="color: #0000dd;">sizeof</span><span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> <span style="color: #000040;">*</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>i <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>i <span style="color: #000080;">&lt;</span> M<span style="color: #008080;">;</span>i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
		<span style="color: #008000;">&#123;</span>
			MAZE<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> <span style="color: #000040;">*</span><span style="color: #008000;">&#41;</span><span style="color: #0000dd;">malloc</span><span style="color: #008000;">&#40;</span>N <span style="color: #000040;">*</span> <span style="color: #0000dd;">sizeof</span><span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
			<span style="color: #0000dd;">memset</span><span style="color: #008000;">&#40;</span>MAZE<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span>, WALL, N<span style="color: #000040;">*</span><span style="color: #0000dd;">sizeof</span><span style="color: #008000;">&#40;</span>MAZE<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #008000;">&#125;</span>
		<span style="color: #0000ff;">return</span> <span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000ff;">void</span> UpdateMaze<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #666666;">//迷宫边界、起点、终点</span>
		<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>i <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>i <span style="color: #000080;">&lt;</span> M<span style="color: #008080;">;</span>i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
		<span style="color: #008000;">&#123;</span>
			MAZE<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> WALL<span style="color: #008080;">;</span>
			MAZE<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>N <span style="color: #000040;">-</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> WALL<span style="color: #008080;">;</span>
		<span style="color: #008000;">&#125;</span>
		<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>j <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>j <span style="color: #000080;">&lt;</span> N<span style="color: #008080;">;</span>j<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
		<span style="color: #008000;">&#123;</span>
			MAZE<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> WALL<span style="color: #008080;">;</span>
			MAZE<span style="color: #008000;">&#91;</span>M <span style="color: #000040;">-</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> WALL<span style="color: #008080;">;</span>
		<span style="color: #008000;">&#125;</span>
		MAZE<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> MAZE<span style="color: #008000;">&#91;</span>M <span style="color: #000040;">-</span> <span style="color: #0000dd;">2</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>N <span style="color: #000040;">-</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> ROAD<span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000ff;">void</span> GotoXY<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> x, <span style="color: #0000ff;">int</span> y<span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		CONSOLE_SCREEN_BUFFER_INFO csbiInfo<span style="color: #008080;">;</span>
		GetConsoleScreenBufferInfo<span style="color: #008000;">&#40;</span>GetStdHandle<span style="color: #008000;">&#40;</span>STD_OUTPUT_HANDLE<span style="color: #008000;">&#41;</span>, <span style="color: #000040;">&amp;</span>csbiInfo<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		csbiInfo.<span style="color: #007788;">dwCursorPosition</span>.<span style="color: #007788;">X</span> <span style="color: #000080;">=</span> x<span style="color: #000040;">*</span><span style="color: #0000dd;">2</span><span style="color: #008080;">;</span>
		csbiInfo.<span style="color: #007788;">dwCursorPosition</span>.<span style="color: #007788;">Y</span> <span style="color: #000080;">=</span> y<span style="color: #000040;">+</span><span style="color: #0000dd;">2</span><span style="color: #008080;">;</span>
		SetConsoleCursorPosition<span style="color: #008000;">&#40;</span>GetStdHandle<span style="color: #008000;">&#40;</span>STD_OUTPUT_HANDLE<span style="color: #008000;">&#41;</span>, csbiInfo.<span style="color: #007788;">dwCursorPosition</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000ff;">void</span> ManualCreateMaze<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000dd;">system</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;CLS&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;请输入迷宫矩阵大小：M行N列:&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">scanf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%d%d&quot;</span>, <span style="color: #000040;">&amp;</span>M, <span style="color: #000040;">&amp;</span>N<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">getchar</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span><span style="color: #000040;">!</span>InitMaze<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span> <span style="color: #0000ff;">return</span> <span style="color: #008080;">;</span>
		<span style="color: #0000ff;">char</span> buf<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">256</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>i <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>i <span style="color: #000080;">&lt;</span> M<span style="color: #008080;">;</span>i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
		<span style="color: #008000;">&#123;</span>
			<span style="color: #0000dd;">gets</span><span style="color: #008000;">&#40;</span>buf<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
			<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>j <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>j <span style="color: #000080;">&lt;</span> N<span style="color: #008080;">;</span>j<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
			<span style="color: #008000;">&#123;</span>
				MAZE<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> buf<span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span> <span style="color: #000040;">-</span> <span style="color: #FF0000;">'0'</span><span style="color: #008080;">;</span>
			<span style="color: #008000;">&#125;</span>
		<span style="color: #008000;">&#125;</span>
		UpdateMaze<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">system</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;CLS&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;您正在使用手动生成的迷宫。<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		ShowMaze<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		count <span style="color: #000080;">=</span> SolveMaze<span style="color: #008000;">&#40;</span><span style="color: #0000dd;">1</span>, <span style="color: #0000dd;">1</span>, <span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		GotoXY<span style="color: #008000;">&#40;</span><span style="color: #0000dd;">0</span>, M<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%s,按任意键返回主界面。&quot;</span>, count <span style="color: #008080;">?</span> <span style="color: #FF0000;">&quot;迷宫已解&quot;</span> <span style="color: #008080;">:</span> <span style="color: #FF0000;">&quot;迷宫无解&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		getch<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		Sleep<span style="color: #008000;">&#40;</span><span style="color: #0000dd;">200</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000ff;">void</span> AutoCreateMaze<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		M <span style="color: #000080;">=</span> <span style="color: #0000dd;">8</span> <span style="color: #000040;">+</span> <span style="color: #0000dd;">rand</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span> <span style="color: #000040;">%</span> <span style="color: #0000dd;">3</span><span style="color: #008080;">;</span>
		N <span style="color: #000080;">=</span> <span style="color: #0000dd;">27</span> <span style="color: #000040;">+</span> <span style="color: #0000dd;">rand</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span> <span style="color: #000040;">%</span> <span style="color: #0000dd;">3</span><span style="color: #008080;">;</span>
		InitMaze<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		UpdateMaze<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">long</span> begin <span style="color: #000080;">=</span> <span style="color: #0000dd;">clock</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">do</span>
		<span style="color: #008000;">&#123;</span>
			<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span><span style="color: #0000dd;">clock</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span> <span style="color: #000040;">-</span> begin <span style="color: #000080;">&gt;</span> <span style="color: #0000dd;">25</span> <span style="color: #000040;">&amp;&amp;</span> count <span style="color: #000080;">&gt;</span> <span style="color: #0000dd;">100</span><span style="color: #008000;">&#41;</span> <span style="color: #0000ff;">break</span><span style="color: #008080;">;</span>
			<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>i <span style="color: #000080;">=</span> <span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>i <span style="color: #000080;">&lt;</span> M <span style="color: #000040;">-</span> <span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
			<span style="color: #008000;">&#123;</span>
				<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>j <span style="color: #000080;">=</span> <span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>j <span style="color: #000080;">&lt;</span> N <span style="color: #000040;">-</span> <span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>j<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
				<span style="color: #008000;">&#123;</span>
					MAZE<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #0000dd;">rand</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span> <span style="color: #000040;">%</span> <span style="color: #0000dd;">2</span><span style="color: #008080;">;</span>
				<span style="color: #008000;">&#125;</span>
			<span style="color: #008000;">&#125;</span>
			count <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
		<span style="color: #008000;">&#125;</span>
		<span style="color: #0000ff;">while</span> <span style="color: #008000;">&#40;</span><span style="color: #000040;">!</span>SolveMaze<span style="color: #008000;">&#40;</span><span style="color: #0000dd;">1</span>, <span style="color: #0000dd;">1</span>, <span style="color: #0000dd;">0</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #666666;">//还原寻路时的破坏</span>
		<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>i <span style="color: #000080;">=</span> <span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>i <span style="color: #000080;">&lt;</span> M <span style="color: #000040;">-</span> <span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
		<span style="color: #008000;">&#123;</span>
			<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>j <span style="color: #000080;">=</span> <span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>j <span style="color: #000080;">&lt;</span> N <span style="color: #000040;">-</span> <span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>j<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
			<span style="color: #008000;">&#123;</span>
				<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>MAZE<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span> <span style="color: #000080;">==</span> ROAD<span style="color: #008000;">&#41;</span> MAZE<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> PASS<span style="color: #008080;">;</span>
			<span style="color: #008000;">&#125;</span>
		<span style="color: #008000;">&#125;</span>
		<span style="color: #0000dd;">system</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;CLS&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;您正在使用自动生成的迷宫。<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		ShowMaze<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		count <span style="color: #000080;">=</span> SolveMaze<span style="color: #008000;">&#40;</span><span style="color: #0000dd;">1</span>, <span style="color: #0000dd;">1</span>, <span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		GotoXY<span style="color: #008000;">&#40;</span><span style="color: #0000dd;">0</span>, M<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%s,按任意键返回主界面。&quot;</span>, count <span style="color: #008080;">?</span> <span style="color: #FF0000;">&quot;迷宫已解&quot;</span> <span style="color: #008080;">:</span> <span style="color: #FF0000;">&quot;迷宫无解&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		getch<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		Sleep<span style="color: #008000;">&#40;</span><span style="color: #0000dd;">200</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000ff;">void</span> LoadFileMaze<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000ff;">char</span> file<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">512</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">FILE</span> <span style="color: #000040;">*</span>fp<span style="color: #008080;">;</span>
		<span style="color: #0000dd;">system</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;CLS&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;请输入文件名：&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">gets</span><span style="color: #008000;">&#40;</span>file<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		fp <span style="color: #000080;">=</span> <span style="color: #0000dd;">fopen</span><span style="color: #008000;">&#40;</span>file, <span style="color: #FF0000;">&quot;r&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>fp <span style="color: #000080;">==</span> <span style="color: #0000ff;">NULL</span><span style="color: #008000;">&#41;</span>
		<span style="color: #008000;">&#123;</span>
			<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;文件未找到！按任意键返回主菜单。&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
			getch<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
			<span style="color: #0000ff;">return</span> <span style="color: #008080;">;</span>
		<span style="color: #008000;">&#125;</span>
		<span style="color: #0000ff;">char</span> buf<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">256</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">fgets</span><span style="color: #008000;">&#40;</span>buf, <span style="color: #0000dd;">255</span>, fp<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		N <span style="color: #000080;">=</span> <span style="color: #0000dd;">strlen</span><span style="color: #008000;">&#40;</span>buf<span style="color: #008000;">&#41;</span> <span style="color: #000040;">+</span> <span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">fseek</span><span style="color: #008000;">&#40;</span>fp, <span style="color: #0000dd;">0L</span>, <span style="color: #0000dd;">2</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		M <span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span><span style="color: #0000dd;">ftell</span><span style="color: #008000;">&#40;</span>fp<span style="color: #008000;">&#41;</span> <span style="color: #000040;">+</span> <span style="color: #0000dd;">2</span><span style="color: #008000;">&#41;</span> <span style="color: #000040;">/</span> N<span style="color: #008080;">;</span>
		N <span style="color: #000040;">-</span><span style="color: #000080;">=</span> <span style="color: #0000dd;">2</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span><span style="color: #000040;">!</span>InitMaze<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span> <span style="color: #0000ff;">return</span> <span style="color: #008080;">;</span>
		<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>i <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>i <span style="color: #000080;">&lt;</span> M<span style="color: #008080;">;</span>i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
		<span style="color: #008000;">&#123;</span>
			<span style="color: #0000dd;">fseek</span><span style="color: #008000;">&#40;</span>fp, i<span style="color: #000040;">*</span><span style="color: #008000;">&#40;</span>N <span style="color: #000040;">+</span> <span style="color: #0000dd;">2</span><span style="color: #008000;">&#41;</span>, <span style="color: #0000dd;">0</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
			<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>j <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>j <span style="color: #000080;">&lt;</span> N<span style="color: #008080;">;</span>j<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
			<span style="color: #008000;">&#123;</span>
				MAZE<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #0000dd;">fgetc</span><span style="color: #008000;">&#40;</span>fp<span style="color: #008000;">&#41;</span> <span style="color: #000040;">-</span> <span style="color: #FF0000;">'0'</span><span style="color: #008080;">;</span>
			<span style="color: #008000;">&#125;</span>
		<span style="color: #008000;">&#125;</span>
		<span style="color: #0000dd;">fclose</span><span style="color: #008000;">&#40;</span>fp<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		UpdateMaze<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		ShowMaze<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		count <span style="color: #000080;">=</span> SolveMaze<span style="color: #008000;">&#40;</span><span style="color: #0000dd;">1</span>, <span style="color: #0000dd;">1</span>, <span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		GotoXY<span style="color: #008000;">&#40;</span><span style="color: #0000dd;">0</span>, M<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%s,按任意键返回主界面。&quot;</span>, count <span style="color: #008080;">?</span> <span style="color: #FF0000;">&quot;迷宫已解&quot;</span> <span style="color: #008080;">:</span> <span style="color: #FF0000;">&quot;迷宫无解&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		getch<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		Sleep<span style="color: #008000;">&#40;</span><span style="color: #0000dd;">200</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000ff;">int</span> SolveMaze<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> i, <span style="color: #0000ff;">int</span> j, <span style="color: #0000ff;">bool</span> show<span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		count<span style="color: #000040;">++</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>i <span style="color: #000080;">&lt;</span> <span style="color: #0000dd;">0</span> <span style="color: #000040;">||</span> j <span style="color: #000080;">&lt;</span> <span style="color: #0000dd;">0</span> <span style="color: #000040;">||</span> i <span style="color: #000080;">==</span> M <span style="color: #000040;">||</span> j <span style="color: #000080;">==</span> N<span style="color: #008000;">&#41;</span> <span style="color: #0000ff;">return</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span> <span style="color: #666666;">//边界检查</span>
		<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>i <span style="color: #000080;">==</span> M <span style="color: #000040;">-</span> <span style="color: #0000dd;">2</span> <span style="color: #000040;">&amp;&amp;</span> j <span style="color: #000080;">==</span> N <span style="color: #000040;">-</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span> <span style="color: #0000ff;">return</span> <span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>MAZE<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span> <span style="color: #000040;">!</span><span style="color: #000080;">=</span> PASS<span style="color: #008000;">&#41;</span> <span style="color: #0000ff;">return</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
		MAZE<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> ROAD<span style="color: #008080;">;</span>
		<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>show<span style="color: #008000;">&#41;</span>
		<span style="color: #008000;">&#123;</span>
			GotoXY<span style="color: #008000;">&#40;</span> j, i<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
			<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%s&quot;</span>, PIC<span style="color: #008000;">&#91;</span>MAZE<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
			Sleep<span style="color: #008000;">&#40;</span><span style="color: #0000dd;">100</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #008000;">&#125;</span>
		<span style="color: #666666;">//递归法解迷宫，依次为：前、下、后、上</span>
			 <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>SolveMaze<span style="color: #008000;">&#40;</span>i, j <span style="color: #000040;">+</span> <span style="color: #0000dd;">1</span>, show<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span> <span style="color: #0000ff;">return</span> <span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">else</span> <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>SolveMaze<span style="color: #008000;">&#40;</span>i <span style="color: #000040;">+</span> <span style="color: #0000dd;">1</span>, j, show<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span> <span style="color: #0000ff;">return</span> <span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">else</span> <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>SolveMaze<span style="color: #008000;">&#40;</span>i, j <span style="color: #000040;">-</span> <span style="color: #0000dd;">1</span>, show<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span> <span style="color: #0000ff;">return</span> <span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">else</span> <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>SolveMaze<span style="color: #008000;">&#40;</span>i <span style="color: #000040;">-</span> <span style="color: #0000dd;">1</span>, j, show<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span> <span style="color: #0000ff;">return</span> <span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">else</span> <span style="color: #0000ff;">return</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000ff;">void</span> ShowMaze<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;这个迷宫为：<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>i <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>i <span style="color: #000080;">&lt;</span> M<span style="color: #008080;">;</span>i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
		<span style="color: #008000;">&#123;</span>
			<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>j <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>j <span style="color: #000080;">&lt;</span> N<span style="color: #008080;">;</span>j<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
			<span style="color: #008000;">&#123;</span>
				<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%s&quot;</span>, PIC<span style="color: #008000;">&#91;</span>MAZE<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
			<span style="color: #008000;">&#125;</span>
			<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #008000;">&#125;</span>
	<span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span>
CORE<span style="color: #008080;">;</span></pre></td></tr></table></div>

<p>版权所有哈，如果你要转载，请声明转载于http://www.shuax.com。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=948</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>windows7编程-任务栏进度条</title>
		<link>http://www.shuax.com/?p=942</link>
		<comments>http://www.shuax.com/?p=942#comments</comments>
		<pubDate>Wed, 30 Dec 2009 01:12:11 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[C/C++]]></category>
		<category><![CDATA[WIN7]]></category>
		<category><![CDATA[编程]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=942</guid>
		<description><![CDATA[本文是原创文章，转载时请署名出处。http://www.shuax.com windows7带来了一系列的新特性，尤其是任务栏的改进。诸如jumplist、缩略图控制…… 本篇文章教你如何使用进度条控制这个功能。 一直在网上寻找如何开发windows7的新特性，可是千篇一律的全是.Net的托管代码，不好意思，反正我是看不懂的。然后突然想到Mplayer ww编译版现在也支持windows7的特性啦，于是跑去看源代码。果然让我发现了一个win7shellapi.h。下载下来，打开一看，嘿嘿，就有我想要的ITaskbarList3。哦，对了win7的这些功能是通过COM接口实现的。 下载地址：https://mplayer-ww.svn.sourceforge.net/svnroot/mplayer-ww/trunk/mplayer/win7shellapi.h 好了，既然找到了头文件就好办了。我为了方便，我使用的是MFC来演示。 //引入头文件 #include &#34;win7shellapi.h&#34; &#160; void CMyDlg::OnButton1&#40;&#41; &#123; ITaskbarList3 * pTaskbarList = NULL; CoInitialize&#40;0&#41;; CoCreateInstance&#40;CLSID_TaskbarList, NULL, CLSCTX_ALL, IID_ITaskbarList, &#40;void **&#41;&#38;pTaskbarList&#41;; pTaskbarList-&#62;SetProgressState&#40;this-&#62;GetSafeHwnd&#40;&#41;,TBPF_PAUSED&#41;; pTaskbarList-&#62;SetProgressValue&#40;this-&#62;GetSafeHwnd&#40;&#41;,7,10&#41;; &#125; 当你点击Button1按钮的时候，你就神奇的发现任务栏有进度条了，快去享受吧。]]></description>
			<content:encoded><![CDATA[<p>本文是原创文章，转载时请署名出处。http://www.shuax.com</p>
<p>windows7带来了一系列的新特性，尤其是任务栏的改进。诸如jumplist、缩略图控制……</p>
<p>本篇文章教你如何使用进度条控制这个功能。</p>
<p>一直在网上寻找如何开发windows7的新特性，可是千篇一律的全是.Net的托管代码，不好意思，反正我是看不懂的。然后突然想到Mplayer ww编译版现在也支持windows7的特性啦，于是跑去看源代码。果然让我发现了一个win7shellapi.h。下载下来，打开一看，嘿嘿，就有我想要的ITaskbarList3。哦，对了win7的这些功能是通过COM接口实现的。</p>
<p>下载地址：https://mplayer-ww.svn.sourceforge.net/svnroot/mplayer-ww/trunk/mplayer/win7shellapi.h</p>
<p>好了，既然找到了头文件就好办了。我为了方便，我使用的是MFC来演示。</p>
<p><span id="more-942"></span></p>

<div class="wp_codebox"><table><tr id="p942144"><td class="code" id="p942code144"><pre class="cpp" style="font-family:monospace;"><span style="color: #666666;">//引入头文件</span>
<span style="color: #339900;">#include &quot;win7shellapi.h&quot;</span>
&nbsp;
<span style="color: #0000ff;">void</span> CMyDlg<span style="color: #008080;">::</span><span style="color: #007788;">OnButton1</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span> 
<span style="color: #008000;">&#123;</span>
	ITaskbarList3 <span style="color: #000040;">*</span> pTaskbarList <span style="color: #000080;">=</span> <span style="color: #0000ff;">NULL</span><span style="color: #008080;">;</span>
	CoInitialize<span style="color: #008000;">&#40;</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	CoCreateInstance<span style="color: #008000;">&#40;</span>CLSID_TaskbarList, <span style="color: #0000ff;">NULL</span>, CLSCTX_ALL, IID_ITaskbarList, <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">void</span> <span style="color: #000040;">**</span><span style="color: #008000;">&#41;</span><span style="color: #000040;">&amp;</span>pTaskbarList<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	pTaskbarList<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>SetProgressState<span style="color: #008000;">&#40;</span>this<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>GetSafeHwnd<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>,TBPF_PAUSED<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>			
	pTaskbarList<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>SetProgressValue<span style="color: #008000;">&#40;</span>this<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>GetSafeHwnd<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>,<span style="color: #0000dd;">7</span>,<span style="color: #0000dd;">10</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></td></tr></table></div>

<p>当你点击Button1按钮的时候，你就神奇的发现任务栏有进度条了，快去享受吧。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=942</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>编程之GDI+</title>
		<link>http://www.shuax.com/?p=935</link>
		<comments>http://www.shuax.com/?p=935#comments</comments>
		<pubDate>Mon, 28 Dec 2009 09:08:46 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[C/C++]]></category>
		<category><![CDATA[VC]]></category>
		<category><![CDATA[代码]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=935</guid>
		<description><![CDATA[GDI+是Windows XP中的一个子系统，它主要负责在显示屏幕和打印设备输出有关信息，它是一组通过C++类实现的应用程序编程接口。顾名思义，GDI+是以前版本GDI的继承者，出于兼容性考虑，Windows XP仍然支持以前版本的GDI，但是在开发新应用程序的时候，开发人员为了满足图形输出需要应该使用GDI+，因为GDI+对以前的Windows版本中GDI进行了优化，并添加了许多新的功能。 简而言之，对我而言，可以用它来实现png透明图片的显示。图片的转换，窗体透明的时候也比较有用。 下面我介绍怎么使用GDI+ 在vc6中： 首先需要下载gdiplus forVC6.0的SDK。网上许多改版的vc6已经包含了。 http://www.codeguru.com/code/legacy/gdi/GDIPlus.zip 然后需要改动的代码如下 //头文件 #define ULONG_PTR unsigned long* #include &#34;GdiPlus.h&#34; using namespace Gdiplus; &#160; //在程序初始化部分加入gdi+用到的两个变量 装载gdi+ GdiplusStartupInput m_gdiplusStartupInput; ULONG_PTR m_pGdiToken; GdiplusStartup&#40;&#38;m_pGdiToken,&#38;m_gdiplusStartupInput,NULL&#41;; &#160; //在程序退出部分前加入卸载gdi+ GdiplusShutdown&#40;m_pGdiToken&#41;; 当然，你还要加入gdiplus.lib库文件。随便你怎么添加。 在MingW中： gcc比较怪，它只认它的.a库文件，很显然，vc6的不适用它了，还好，网上早有改好的文件。 当然也有修改的方法，你可以自己去看看。 http://wxmax.googlecode.com/files/gdiplus_includes.zip 使用方法嘛，跟vc6的一样啦，只是记住它的库文件是.a的哦。 还要注意的是，GDI+天生就是unicode的，所有的参数都是宽字符，vc6是没问题的，然而基于gcc的编译器就有很大的问题了。 反正比如我有个 wchat_t font[]=L&#8221;微软雅黑&#8221;; 是通不过编译的。至于解决方法么，可以从资源载入宽字符，可以在程序内转换字符，还有就是在编译的时候加上参数 -finput-charset=GB2312 哈哈，我说的够详细了吧，祝你编程的时候玩得愉快。 用GDI+绘图真方便啊。]]></description>
			<content:encoded><![CDATA[<p>GDI+是Windows XP中的一个子系统，它主要负责在显示屏幕和打印设备输出有关信息，它是一组通过C++类实现的应用程序编程接口。顾名思义，GDI+是以前版本GDI的继承者，出于兼容性考虑，Windows XP仍然支持以前版本的GDI，但是在开发新应用程序的时候，开发人员为了满足图形输出需要应该使用GDI+，因为GDI+对以前的Windows版本中GDI进行了优化，并添加了许多新的功能。 </p>
<p>简而言之，对我而言，可以用它来实现png透明图片的显示。图片的转换，窗体透明的时候也比较有用。<br />
下面我介绍怎么使用GDI+</p>
<p><span id="more-935"></span><br />
<strong>在vc6中：</strong><br />
首先需要下载gdiplus forVC6.0的SDK。网上许多改版的vc6已经包含了。<br />
http://www.codeguru.com/code/legacy/gdi/GDIPlus.zip<br />
然后需要改动的代码如下</p>

<div class="wp_codebox"><table><tr id="p935146"><td class="code" id="p935code146"><pre class="cpp" style="font-family:monospace;"><span style="color: #666666;">//头文件</span>
<span style="color: #339900;">#define ULONG_PTR unsigned long*</span>
<span style="color: #339900;">#include &quot;GdiPlus.h&quot;</span>
<span style="color: #0000ff;">using</span> <span style="color: #0000ff;">namespace</span> Gdiplus<span style="color: #008080;">;</span>
&nbsp;
<span style="color: #666666;">//在程序初始化部分加入gdi+用到的两个变量   装载gdi+</span>
GdiplusStartupInput m_gdiplusStartupInput<span style="color: #008080;">;</span>
ULONG_PTR m_pGdiToken<span style="color: #008080;">;</span>
GdiplusStartup<span style="color: #008000;">&#40;</span><span style="color: #000040;">&amp;</span>m_pGdiToken,<span style="color: #000040;">&amp;</span>m_gdiplusStartupInput,<span style="color: #0000ff;">NULL</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
&nbsp;
<span style="color: #666666;">//在程序退出部分前加入卸载gdi+</span>
GdiplusShutdown<span style="color: #008000;">&#40;</span>m_pGdiToken<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span></pre></td></tr></table></div>

<p>当然，你还要加入gdiplus.lib库文件。随便你怎么添加。</p>
<p><strong>在MingW中：</strong><br />
gcc比较怪，它只认它的.a库文件，很显然，vc6的不适用它了，还好，网上早有改好的文件。<br />
当然也有修改的方法，你可以自己去看看。<br />
http://wxmax.googlecode.com/files/gdiplus_includes.zip</p>
<p>使用方法嘛，跟vc6的一样啦，只是记住它的库文件是.a的哦。<br />
还要注意的是，GDI+天生就是unicode的，所有的参数都是宽字符，vc6是没问题的，然而基于gcc的编译器就有很大的问题了。<br />
反正比如我有个</p>
<blockquote><p>wchat_t font[]=L&#8221;微软雅黑&#8221;;</p></blockquote>
<p>是通不过编译的。至于解决方法么，可以从资源载入宽字符，可以在程序内转换字符，还有就是在编译的时候加上参数</p>
<blockquote><p>-finput-charset=GB2312</p></blockquote>
<p>哈哈，我说的够详细了吧，祝你编程的时候玩得愉快。</p>
<p>用GDI+绘图真方便啊。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=935</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Desktop Icon Toy</title>
		<link>http://www.shuax.com/?p=922</link>
		<comments>http://www.shuax.com/?p=922#comments</comments>
		<pubDate>Tue, 22 Dec 2009 05:39:42 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[实用软件]]></category>
		<category><![CDATA[软件]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=922</guid>
		<description><![CDATA[好久好久没有推荐过小软件了，似乎我喜欢去模仿别人的功能…… 我汗一个…… 这个软件看名字，是一个桌面图标玩具。确实是那样的，安装过后，可以随意的排列图标，还可以摆出各种形状。 突然发现把图标放在顶上也挺好的，比较节约空间（宽屏而言）。 Desktop Icon Toy 可以保存当前桌面图标的位置，激活被其它窗口挡住的图标、当然也可以去除快捷方式上的小箭头。 这个清凉简单的工具，你可以组织和安排所有的桌面图标变成简单的排列，或顶部或右方或使它们随时随地选择你的桌面的任何地方。 来自：http://www.verycd.com/topics/2785383/ 下载地址：http://www.uushare.com/user/shuax/file/2450041]]></description>
			<content:encoded><![CDATA[<p>好久好久没有推荐过小软件了，似乎我喜欢去模仿别人的功能……<br />
我汗一个……</p>
<p>这个软件看名字，是一个桌面图标玩具。确实是那样的，安装过后，可以随意的排列图标，还可以摆出各种形状。<br />
突然发现把图标放在顶上也挺好的，比较节约空间（宽屏而言）。</p>
<p>Desktop Icon Toy 可以保存当前桌面图标的位置，激活被其它窗口挡住的图标、当然也可以去除快捷方式上的小箭头。<br />
这个清凉简单的工具，你可以组织和安排所有的桌面图标变成简单的排列，或顶部或右方或使它们随时随地选择你的桌面的任何地方。<br />
<span id="more-922"></span><br />
来自：<a href="http://www.verycd.com/topics/2785383/">http://www.verycd.com/topics/2785383/</a></p>
<p>下载地址：<a href="http://www.uushare.com/user/shuax/file/2450041">http://www.uushare.com/user/shuax/file/2450041</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=922</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>编程字体YaHei Consolas</title>
		<link>http://www.shuax.com/?p=917</link>
		<comments>http://www.shuax.com/?p=917#comments</comments>
		<pubDate>Fri, 18 Dec 2009 08:59:25 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[程序开发]]></category>
		<category><![CDATA[编程]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=917</guid>
		<description><![CDATA[像我们这种天天和代码打交道的人，一款耐看的字体还是很重要的。 以前一直用vc6默认的Fixedsys，10pt的经典点阵字体，可是看久了，也觉得有点累，而且中文不好看。 更重要的是不能放大，行距也比较大。 昨天看见一款YaHei.Consolas字体，就是英文部分是Consolas，中文部分是微软雅黑。 个人觉得还不错。但是使用的时候发现那个制表符那里的特殊符号显示有点问题，微软雅黑不是等宽的，我自己动手改了一下。 好看多了。另外这个版本的字体还能被某些只能使用等宽字体的软件识别，比如Dev-CPP。 效果图如下： 下载地址：http://www.uushare.com/user/shuax/file/2450047 我的网站速度比较慢，请见谅。]]></description>
			<content:encoded><![CDATA[<p>像我们这种天天和代码打交道的人，一款耐看的字体还是很重要的。</p>
<p>以前一直用vc6默认的Fixedsys，10pt的经典点阵字体，可是看久了，也觉得有点累，而且中文不好看。</p>
<p>更重要的是不能放大，行距也比较大。</p>
<p>昨天看见一款YaHei.Consolas字体，就是英文部分是Consolas，中文部分是微软雅黑。</p>
<p>个人觉得还不错。但是使用的时候发现那个制表符那里的特殊符号显示有点问题，微软雅黑不是等宽的，我自己动手改了一下。</p>
<p>好看多了。另外这个版本的字体还能被某些只能使用等宽字体的软件识别，比如Dev-CPP。</p>
<p><span id="more-917"></span></p>
<p>效果图如下：</p>
<p style="text-align: center;"><a href="http://www.shuax.com/wp-content/uploads/2009/12/font.jpg" class="lightbox"><img class="aligncenter size-full wp-image-918 lightbox" title="font" src="http://www.shuax.com/wp-content/uploads/2009/12/font.jpg" alt="font" width="669" height="355" /></a></p>
<p>下载地址：<a href="http://www.uushare.com/user/shuax/file/2450047">http://www.uushare.com/user/shuax/file/2450047</a></p>
<p>我的网站速度比较慢，请见谅。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=917</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>不知道是什么的经验</title>
		<link>http://www.shuax.com/?p=912</link>
		<comments>http://www.shuax.com/?p=912#comments</comments>
		<pubDate>Tue, 15 Dec 2009 15:21:50 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[JAVA]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[代码]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=912</guid>
		<description><![CDATA[大概是API的经验吧，其实网上多找找都能找到到，不过我搜集一下我用的，还是不错啦。 1、屏蔽鼠标和键盘 适用于关闭显示器的工具，但是是彻底的屏蔽，只有用windows自带的低级快捷键解锁。 另外程序退出似乎就不起作用了，好像那个SetCapture啊。 我的网站的代码高亮似乎有点问题，只有在IE8上面才正常，汗~~~ BlockInput&#40;TRUE&#41;;//设置 BlockInput&#40;FALSE&#41;;//取消屏蔽 我会一直更新这篇文章的，欢迎大家收藏。 2、在系统菜单上添加你的菜单 适用于虚拟桌面的发送到……嘿嘿 HWND hwnd = FindWindow&#40;0, &#34;窗口名称&#34;&#41;; HMENU pSysMenu = GetSystemMenu&#40;hwnd, FALSE&#41;; AppendMenu&#40;pSysMenu, MF_SEPARATOR, 0, 0&#41;; HMENU hPopMenu = CreatePopupMenu&#40;&#41;; AppendMenu&#40;hPopMenu, MF_STRING, 102, &#34;虚拟桌面1&#34;&#41;; AppendMenu&#40;hPopMenu, MF_STRING, 103, &#34;虚拟桌面2&#34;&#41;; AppendMenu&#40;pSysMenu, MF_POPUP &#124; MF_BYPOSITION, &#40;UINT&#41;hPopMenu, &#34;发送到&#34;&#41;; 3、关闭显示器 可以节约用电了，而且比较保护显示器。 SendMessage&#40; HWND_BROADCAST, WM_SYSCOMMAND, SC_MONITORPOWER, 2&#41;; 4、重建图标缓存 这个是个大问题，代码适用于XP。 #include &#60;windows.h&#62; void RebuildIconCache&#40;&#41;]]></description>
			<content:encoded><![CDATA[<p>大概是API的经验吧，其实网上多找找都能找到到，不过我搜集一下我用的，还是不错啦。<br />
<strong>1、屏蔽鼠标和键盘</strong><br />
适用于关闭显示器的工具，但是是彻底的屏蔽，只有用windows自带的低级快捷键解锁。<br />
另外程序退出似乎就不起作用了，好像那个SetCapture啊。<br />
我的网站的代码高亮似乎有点问题，只有在IE8上面才正常，汗~~~</p>

<div class="wp_codebox"><table><tr id="p912155"><td class="code" id="p912code155"><pre class="cpp" style="font-family:monospace;">BlockInput<span style="color: #008000;">&#40;</span>TRUE<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span><span style="color: #666666;">//设置</span>
BlockInput<span style="color: #008000;">&#40;</span>FALSE<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span><span style="color: #666666;">//取消屏蔽</span></pre></td></tr></table></div>

<p>我会一直更新这篇文章的，欢迎大家收藏。<br />
<span id="more-912"></span><br />
<strong>2、在系统菜单上添加你的菜单</strong><br />
适用于虚拟桌面的发送到……嘿嘿</p>

<div class="wp_codebox"><table><tr id="p912156"><td class="code" id="p912code156"><pre class="cpp" style="font-family:monospace;">HWND hwnd <span style="color: #000080;">=</span> FindWindow<span style="color: #008000;">&#40;</span><span style="color: #0000dd;">0</span>, <span style="color: #FF0000;">&quot;窗口名称&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
HMENU pSysMenu <span style="color: #000080;">=</span> GetSystemMenu<span style="color: #008000;">&#40;</span>hwnd, FALSE<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
AppendMenu<span style="color: #008000;">&#40;</span>pSysMenu, MF_SEPARATOR, <span style="color: #0000dd;">0</span>, <span style="color: #0000dd;">0</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
HMENU hPopMenu <span style="color: #000080;">=</span> CreatePopupMenu<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
AppendMenu<span style="color: #008000;">&#40;</span>hPopMenu, MF_STRING, <span style="color: #0000dd;">102</span>, <span style="color: #FF0000;">&quot;虚拟桌面1&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
AppendMenu<span style="color: #008000;">&#40;</span>hPopMenu, MF_STRING, <span style="color: #0000dd;">103</span>, <span style="color: #FF0000;">&quot;虚拟桌面2&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
AppendMenu<span style="color: #008000;">&#40;</span>pSysMenu, MF_POPUP <span style="color: #000040;">|</span> MF_BYPOSITION, <span style="color: #008000;">&#40;</span>UINT<span style="color: #008000;">&#41;</span>hPopMenu, <span style="color: #FF0000;">&quot;发送到&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span></pre></td></tr></table></div>

<p><strong>3、关闭显示器</strong><br />
可以节约用电了，而且比较保护显示器。</p>

<div class="wp_codebox"><table><tr id="p912157"><td class="code" id="p912code157"><pre class="cpp" style="font-family:monospace;">SendMessage<span style="color: #008000;">&#40;</span> HWND_BROADCAST, WM_SYSCOMMAND, SC_MONITORPOWER, <span style="color: #0000dd;">2</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span></pre></td></tr></table></div>

<p><strong>4、重建图标缓存</strong><br />
这个是个大问题，代码适用于XP。</p>

<div class="wp_codebox"><table><tr id="p912158"><td class="code" id="p912code158"><pre class="cpp" style="font-family:monospace;"><span style="color: #339900;">#include &lt;windows.h&gt;</span>
<span style="color: #0000ff;">void</span> RebuildIconCache<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
    <span style="color: #0000ff;">int</span> Iconw <span style="color: #000080;">=</span> GetSystemMetrics<span style="color: #008000;">&#40;</span>SM_CXICON<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    HKEY hKey<span style="color: #008080;">;</span>
    RegOpenKeyEx<span style="color: #008000;">&#40;</span>HKEY_CURRENT_USER, <span style="color: #FF0000;">&quot;Control Panel<span style="color: #000099; font-weight: bold;">\\</span>Desktop<span style="color: #000099; font-weight: bold;">\\</span>WindowMetrics&quot;</span>, <span style="color: #0000dd;">0</span>, KEY_ALL_ACCESS, <span style="color: #000040;">&amp;</span>hKey<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #0000ff;">char</span> buff<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">20</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
    itoa<span style="color: #008000;">&#40;</span>Iconw <span style="color: #000040;">-</span> <span style="color: #0000dd;">1</span>, buff, <span style="color: #0000dd;">10</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    RegSetValueEx<span style="color: #008000;">&#40;</span>hKey, <span style="color: #FF0000;">&quot;Shell Icon Size&quot;</span>, <span style="color: #0000dd;">0</span>, REG_SZ, <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">unsigned</span> <span style="color: #0000ff;">char</span> <span style="color: #000040;">*</span><span style="color: #008000;">&#41;</span>buff, <span style="color: #0000dd;">sizeof</span><span style="color: #008000;">&#40;</span>buff<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    SendMessage<span style="color: #008000;">&#40;</span>HWND_BROADCAST, WM_WININICHANGE, <span style="color: #0000dd;">0</span>, <span style="color: #0000dd;">0</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    itoa<span style="color: #008000;">&#40;</span>Iconw, buff, <span style="color: #0000dd;">10</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    RegSetValueEx<span style="color: #008000;">&#40;</span>hKey, <span style="color: #FF0000;">&quot;Shell Icon Size&quot;</span>, <span style="color: #0000dd;">0</span>, REG_SZ, <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">unsigned</span> <span style="color: #0000ff;">char</span> <span style="color: #000040;">*</span><span style="color: #008000;">&#41;</span>buff, <span style="color: #0000dd;">sizeof</span><span style="color: #008000;">&#40;</span>buff<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    SendMessage<span style="color: #008000;">&#40;</span>HWND_BROADCAST, WM_WININICHANGE, <span style="color: #0000dd;">0</span>, <span style="color: #0000dd;">0</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></td></tr></table></div>

<p><strong>5、调整屏幕分辨率</strong><br />
到网吧去上网的时候，看着它的分辨率很不爽，难道没有人觉得变形了吗？又还故意把设置很弄没了，真是搞不懂啊……</p>

<div class="wp_codebox"><table><tr id="p912159"><td class="code" id="p912code159"><pre class="cpp" style="font-family:monospace;"><span style="color: #339900;">#include &lt;windows.h&gt;</span>
<span style="color: #339900;">#include &lt;stdio.h&gt;</span>
<span style="color: #0000ff;">int</span> main<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
    DEVMODE lpDevMode<span style="color: #008080;">;</span>
    lpDevMode.<span style="color: #007788;">dmBitsPerPel</span> <span style="color: #000080;">=</span> <span style="color: #0000dd;">32</span><span style="color: #008080;">;</span>
&nbsp;
    <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;请输入分辨率：&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #0000dd;">scanf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%d%d&quot;</span>, <span style="color: #000040;">&amp;</span>lpDevMode.<span style="color: #007788;">dmPelsWidth</span>, <span style="color: #000040;">&amp;</span>lpDevMode.<span style="color: #007788;">dmPelsHeight</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
&nbsp;
    lpDevMode.<span style="color: #007788;">dmSize</span> <span style="color: #000080;">=</span> <span style="color: #0000dd;">sizeof</span><span style="color: #008000;">&#40;</span>lpDevMode<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    lpDevMode.<span style="color: #007788;">dmFields</span> <span style="color: #000080;">=</span> DM_PELSWIDTH <span style="color: #000040;">|</span> DM_BITSPERPEL <span style="color: #000040;">|</span> DM_PELSHEIGHT<span style="color: #008080;">;</span>
    ChangeDisplaySettings<span style="color: #008000;">&#40;</span><span style="color: #000040;">&amp;</span>lpDevMode, <span style="color: #0000dd;">0</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #0000ff;">return</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></td></tr></table></div>

<p><strong>6、在桌面写文字</strong></p>

<div class="wp_codebox"><table><tr id="p912160"><td class="code" id="p912code160"><pre class="cpp" style="font-family:monospace;"><span style="color: #339900;">#include &lt;windows.h&gt;</span>
<span style="color: #0000ff;">int</span> main<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
    HWND hDesktop <span style="color: #000080;">=</span> GetDesktopWindow<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    hDesktop <span style="color: #000080;">=</span> FindWindowEx<span style="color: #008000;">&#40;</span>hDesktop, <span style="color: #0000dd;">0</span>, <span style="color: #FF0000;">&quot;Progman&quot;</span>, <span style="color: #0000dd;">0</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    hDesktop <span style="color: #000080;">=</span> FindWindowEx<span style="color: #008000;">&#40;</span>hDesktop, <span style="color: #0000dd;">0</span>, <span style="color: #FF0000;">&quot;SHELLDLL_DefView&quot;</span>, <span style="color: #0000dd;">0</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    hDesktop <span style="color: #000080;">=</span> FindWindowEx<span style="color: #008000;">&#40;</span>hDesktop, <span style="color: #0000dd;">0</span>, <span style="color: #FF0000;">&quot;SysListView32&quot;</span>, <span style="color: #0000dd;">0</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    HDC hDC <span style="color: #000080;">=</span> GetWindowDC<span style="color: #008000;">&#40;</span>hDesktop<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #0000ff;">char</span> show<span style="color: #008000;">&#91;</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #FF0000;">&quot;肖小红，我爱你！&quot;</span><span style="color: #008080;">;</span>
    HFONT hFont <span style="color: #000080;">=</span> CreateFont<span style="color: #008000;">&#40;</span><span style="color: #0000dd;">18</span>, <span style="color: #0000dd;">0</span>, <span style="color: #0000dd;">0</span>, <span style="color: #0000dd;">0</span>, <span style="color: #0000dd;">0</span>, <span style="color: #0000dd;">0</span>, <span style="color: #0000dd;">0</span>, <span style="color: #0000dd;">0</span>, DEFAULT_CHARSET, <span style="color: #0000dd;">0</span>, <span style="color: #0000dd;">0</span>, <span style="color: #0000dd;">0</span>, <span style="color: #0000dd;">0</span>, TEXT<span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;微软雅黑&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    SetTextColor<span style="color: #008000;">&#40;</span>hDC, RGB<span style="color: #008000;">&#40;</span><span style="color: #0000dd;">155</span>, <span style="color: #0000dd;">5</span>, <span style="color: #0000dd;">55</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    SetBkMode<span style="color: #008000;">&#40;</span>hDC, TRANSPARENT<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    SelectObject<span style="color: #008000;">&#40;</span>hDC, hFont<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    TextOut<span style="color: #008000;">&#40;</span>hDC, <span style="color: #0000dd;">900</span>, <span style="color: #0000dd;">600</span>, show, <span style="color: #0000dd;">strlen</span><span style="color: #008000;">&#40;</span>show<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    ReleaseDC<span style="color: #008000;">&#40;</span><span style="color: #0000dd;">0</span>, hDC<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></td></tr></table></div>

<p><strong>7、获取系统当前时间</strong><br />
SYSTEMTIME sys;<br />
GetLocalTime(&amp;sys);<br />
可以精确到毫秒。<br />
sys.wYear, sys.wMonth, sys.wDay……</p>
<p><strong>8、获得内存使用率</strong></p>

<div class="wp_codebox"><table><tr id="p912161"><td class="code" id="p912code161"><pre class="cpp" style="font-family:monospace;"><span style="color: #0000ff;">int</span> Memory<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
    MEMORYSTATUS MemStat<span style="color: #008080;">;</span>
    MemStat.<span style="color: #007788;">dwLength</span> <span style="color: #000080;">=</span> <span style="color: #0000dd;">sizeof</span><span style="color: #008000;">&#40;</span>MEMORYSTATUS<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    GlobalMemoryStatus<span style="color: #008000;">&#40;</span><span style="color: #000040;">&amp;</span>MemStat<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #0000ff;">return</span> MemStat.<span style="color: #007788;">dwMemoryLoad</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></td></tr></table></div>

<p>返回值就是60%这样的。</p>
<p><strong>9、调整屏幕亮度</strong></p>

<div class="wp_codebox"><table><tr id="p912162"><td class="code" id="p912code162"><pre class="cpp" style="font-family:monospace;"><span style="color: #0000ff;">void</span> gamma<span style="color: #008000;">&#40;</span>WORD wBrightness<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
    WORD GammaArray<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">3</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span><span style="color: #0000dd;">256</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
&nbsp;
    <span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> iIndex <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span> iIndex <span style="color: #000080;">&lt;</span> <span style="color: #0000dd;">256</span><span style="color: #008080;">;</span> iIndex<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
    <span style="color: #008000;">&#123;</span>
        <span style="color: #0000ff;">int</span> iArrayValue <span style="color: #000080;">=</span> iIndex <span style="color: #000040;">*</span> <span style="color: #008000;">&#40;</span><span style="color: #0000dd;">256</span> <span style="color: #000040;">*</span> wBrightness <span style="color: #000040;">/</span> <span style="color: #0000dd;">100</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
&nbsp;
        <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>iArrayValue <span style="color: #000080;">&lt;</span> <span style="color: #0000dd;">65535</span><span style="color: #008000;">&#41;</span> iArrayValue <span style="color: #000080;">=</span> <span style="color: #0000dd;">65535</span><span style="color: #008080;">;</span>
&nbsp;
        GammaArray<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>iIndex<span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> iArrayValue<span style="color: #008080;">;</span>
        GammaArray<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>iIndex<span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> iArrayValue<span style="color: #008080;">;</span>
        GammaArray<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>iIndex<span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> iArrayValue<span style="color: #008080;">;</span>
    <span style="color: #008000;">&#125;</span>
    SetDeviceGammaRamp<span style="color: #008000;">&#40;</span>GetDC<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">NULL</span><span style="color: #008000;">&#41;</span>, GammaArray<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=912</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>C语言迷宫程序</title>
		<link>http://www.shuax.com/?p=908</link>
		<comments>http://www.shuax.com/?p=908#comments</comments>
		<pubDate>Fri, 11 Dec 2009 08:37:18 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[程序开发]]></category>
		<category><![CDATA[数据结构]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=908</guid>
		<description><![CDATA[这个是数据结构的程序设计，我乱写的……也没按什么要求，管它的，至少还能运行起来。 程序呢，有很多个功能，我是负责界面的，嘿嘿。 数据结构这门课终于也完了。 唉，不知道考试怎么样呢？ 那些经典代码全是抄的书上的，呜呜…… 自己不看书写的时候就麻烦了。 这个迷宫有3个功能，嗯，你打开运行一下就知道了。 迷宫 v1.0 文件大小：0.0 KB&#12288;文件名称：maze.rar 额，有点问题，把个人信息去掉再说。]]></description>
			<content:encoded><![CDATA[<p>这个是数据结构的程序设计，我乱写的……也没按什么要求，管它的，至少还能运行起来。<br />
程序呢，有很多个功能，我是负责界面的，嘿嘿。<br />
数据结构这门课终于也完了。<br />
唉，不知道考试怎么样呢？<br />
那些经典代码全是抄的书上的，呜呜……<br />
自己不看书写的时候就麻烦了。<br />
<span id="more-908"></span><br />
这个迷宫有3个功能，嗯，你打开运行一下就知道了。<br />
<div class='download-link'>
							<a href='http://www.shuax.com/download.php?file=http://www.shuax.com/maze.rar'><img alt='Download' class='leftalign' src='http://www.shuax.com/wp-content/plugins/dBeautifier/icons/downloads.png' /></a>
							<h4>
								<a href='http://www.shuax.com/download.php?file=http://www.shuax.com/maze.rar'>迷宫 v1.0</a>
							</h4><p>文件大小：0.0 KB&#12288;文件名称：maze.rar</p>
						</div><br />
额，有点问题，把个人信息去掉再说。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=908</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>[原创]金山网游加速器破解工具</title>
		<link>http://www.shuax.com/?p=897</link>
		<comments>http://www.shuax.com/?p=897#comments</comments>
		<pubDate>Tue, 08 Dec 2009 04:43:37 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[原创软件]]></category>
		<category><![CDATA[原创]]></category>
		<category><![CDATA[破解]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=897</guid>
		<description><![CDATA[好多天没有更新博客了，我好过意不去啊……呜呜…… 我对不起关心我的每一个人。 今天发个自己用的工具，本来不想发的，想留着自己用呢。 万一金山发现了，我以后就玩不成游戏了，不过这正是我想要的。 程序很简单，待加速启动完成后，运行程序即可。不再有30分钟的限制，或者是禁止迅雷的限制。 不过，结束却比较麻烦，需要你自己手动结束金山的那两个进程。 我不保证本软件的通用性，也不保证金山网游加速器的实用性。 金山加速破解 文件大小：8.6 KB&#12288;文件名称：JSCrack.rar 昨晚上闲得**把CMD窗口弄成AERO玻璃透明的了。 玻璃CMD 文件大小：11.0 KB&#12288;文件名称：GlassCMD.rar]]></description>
			<content:encoded><![CDATA[<p>好多天没有更新博客了，我好过意不去啊……呜呜……<br />
我对不起关心我的每一个人。</p>
<p>今天发个自己用的工具，本来不想发的，想留着自己用呢。<br />
万一金山发现了，我以后就玩不成游戏了，不过这正是我想要的。</p>
<p>程序很简单，待加速启动完成后，运行程序即可。不再有30分钟的限制，或者是禁止迅雷的限制。<br />
不过，结束却比较麻烦，需要你自己手动结束金山的那两个进程。<br />
<span id="more-897"></span><br />
我不保证本软件的通用性，也不保证金山网游加速器的实用性。<br />
<div class='download-link'>
							<a href='http://www.shuax.com/download.php?file=http://www.shuax.com/download/JSCrack.rar'><img alt='Download' class='leftalign' src='http://www.shuax.com/wp-content/plugins/dBeautifier/icons/downloads.png' /></a>
							<h4>
								<a href='http://www.shuax.com/download.php?file=http://www.shuax.com/download/JSCrack.rar'>金山加速破解</a>
							</h4><p>文件大小：8.6 KB&#12288;文件名称：JSCrack.rar</p>
						</div>昨晚上闲得**把CMD窗口弄成AERO玻璃透明的了。<br />
<div class='download-link'>
							<a href='http://www.shuax.com/download.php?file=http://www.shuax.com/download/GlassCMD.rar'><img alt='Download' class='leftalign' src='http://www.shuax.com/wp-content/plugins/dBeautifier/icons/downloads.png' /></a>
							<h4>
								<a href='http://www.shuax.com/download.php?file=http://www.shuax.com/download/GlassCMD.rar'>玻璃CMD</a>
							</h4><p>文件大小：11.0 KB&#12288;文件名称：GlassCMD.rar</p>
						</div></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=897</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>HOOK学习</title>
		<link>http://www.shuax.com/?p=887</link>
		<comments>http://www.shuax.com/?p=887#comments</comments>
		<pubDate>Sat, 05 Dec 2009 08:26:47 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[C/C++]]></category>
		<category><![CDATA[C++]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=887</guid>
		<description><![CDATA[早就对windows提供的简单热键注册API：RegisterHotKey不满了。 功能太简单，而且要冲突，无法实现某些特殊操作。 所以就用到的hook操作。 主要用到的API： SetWindowsHookEx(WH_MOUSE,MouseProc,NULL,GetCurrentThreadId()); HHOOK SetWindowsHookEx( int idHook, // hook type HOOKPROC lpfn, // hook procedure HINSTANCE hMod, // handle to application instance DWORD dwThreadId // thread identifier ); 不知道为什么网上很多代码还要生成一个dll…… 不懂。 //www.shuax.com //舒俊杰 2009.12.05 //SX-Flip功能函数 &#160; //定义鼠标、键盘钩子 HWND glhKeyHook; HWND glhMouseHook; &#160; //鼠标钩子函数 LRESULT CALLBACK MouseProc&#40;int nCode, WPARAM wParam, LPARAM lParam&#41; &#123; if &#40;nCode]]></description>
			<content:encoded><![CDATA[<p>早就对windows提供的简单热键注册API：<strong>RegisterHotKey</strong>不满了。<br />
功能太简单，而且要冲突，无法实现某些特殊操作。<br />
所以就用到的hook操作。</p>
<p>主要用到的API：<br />
SetWindowsHookEx(WH_MOUSE,MouseProc,NULL,GetCurrentThreadId());</p>
<blockquote><p>HHOOK SetWindowsHookEx(<br />
int idHook,        // hook type<br />
HOOKPROC lpfn,     // hook procedure<br />
HINSTANCE hMod,    // handle to application instance<br />
DWORD dwThreadId   // thread identifier<br />
);</p></blockquote>
<p>不知道为什么网上很多代码还要生成一个dll……<br />
不懂。</p>
<p><span id="more-887"></span></p>

<div class="wp_codebox"><table><tr id="p887164"><td class="code" id="p887code164"><pre class="cpp" style="font-family:monospace;"><span style="color: #666666;">//www.shuax.com</span>
<span style="color: #666666;">//舒俊杰 2009.12.05</span>
<span style="color: #666666;">//SX-Flip功能函数</span>
&nbsp;
<span style="color: #666666;">//定义鼠标、键盘钩子</span>
HWND glhKeyHook<span style="color: #008080;">;</span>
HWND glhMouseHook<span style="color: #008080;">;</span>
&nbsp;
<span style="color: #666666;">//鼠标钩子函数</span>
LRESULT CALLBACK MouseProc<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> nCode, WPARAM wParam, LPARAM lParam<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>nCode <span style="color: #000080;">==</span> HC_ACTION<span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000ff;">switch</span> <span style="color: #008000;">&#40;</span>wParam<span style="color: #008000;">&#41;</span>
		<span style="color: #008000;">&#123;</span>
		<span style="color: #0000ff;">case</span> WM_MOUSEMOVE<span style="color: #008080;">:</span>
			<span style="color: #008000;">&#123;</span>
				POINT pt<span style="color: #008080;">;</span>
				GetCursorPos<span style="color: #008000;">&#40;</span><span style="color: #000040;">&amp;</span>pt<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
				<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>pt.<span style="color: #007788;">x</span> <span style="color: #000080;">&gt;</span> GetSystemMetrics<span style="color: #008000;">&#40;</span>SM_CXSCREEN<span style="color: #008000;">&#41;</span> <span style="color: #000040;">-</span> <span style="color: #0000dd;">12</span> <span style="color: #000040;">&amp;&amp;</span> pt.<span style="color: #007788;">y</span> <span style="color: #000080;">&gt;</span> GetSystemMetrics<span style="color: #008000;">&#40;</span>SM_CYSCREEN<span style="color: #008000;">&#41;</span> <span style="color: #000040;">-</span> <span style="color: #0000dd;">37</span><span style="color: #008000;">&#41;</span>
				<span style="color: #008000;">&#123;</span>
					<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>isrun <span style="color: #000080;">==</span> <span style="color: #0000dd;">0</span><span style="color: #008000;">&#41;</span>
					<span style="color: #008000;">&#123;</span>
						ShellExecute<span style="color: #008000;">&#40;</span><span style="color: #0000dd;">0</span>, <span style="color: #0000ff;">NULL</span>, <span style="color: #FF0000;">&quot;rundll32.exe&quot;</span>, <span style="color: #FF0000;">&quot;DwmApi #105&quot;</span>, <span style="color: #0000ff;">NULL</span>, SW_SHOWNORMAL<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
						isrun <span style="color: #000080;">=</span> <span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>
					<span style="color: #008000;">&#125;</span>
				<span style="color: #008000;">&#125;</span>
				<span style="color: #0000ff;">else</span> isrun <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
			<span style="color: #008000;">&#125;</span>
			<span style="color: #0000ff;">break</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">default</span><span style="color: #008080;">:</span>
			<span style="color: #0000ff;">break</span><span style="color: #008080;">;</span>
		<span style="color: #008000;">&#125;</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000ff;">return</span> CallNextHookEx<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#40;</span>HHOOK<span style="color: #008000;">&#41;</span>glhMouseHook, nCode, wParam, lParam <span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
<span style="color: #666666;">//键盘钩子函数</span>
LRESULT CALLBACK KeyboardProc<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> nCode, WPARAM wParam, LPARAM lParam<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	PKBDLLHOOKSTRUCT p<span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>nCode <span style="color: #000080;">==</span> HC_ACTION<span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		p <span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span>PKBDLLHOOKSTRUCT<span style="color: #008000;">&#41;</span> lParam<span style="color: #008080;">;</span>
		<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>wParam <span style="color: #000080;">==</span> WM_SYSKEYDOWN<span style="color: #008000;">&#41;</span>
		<span style="color: #008000;">&#123;</span>
			<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>p<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>vkCode <span style="color: #000080;">==</span> VK_TAB <span style="color: #000040;">&amp;&amp;</span> p<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>flags <span style="color: #000040;">&amp;</span> LLKHF_ALTDOWN<span style="color: #008000;">&#41;</span>
			<span style="color: #008000;">&#123;</span>
				ShellExecute<span style="color: #008000;">&#40;</span><span style="color: #0000dd;">0</span>, <span style="color: #0000ff;">NULL</span>, <span style="color: #FF0000;">&quot;rundll32.exe&quot;</span>, <span style="color: #FF0000;">&quot;DwmApi #105&quot;</span>, <span style="color: #0000ff;">NULL</span>, SW_SHOWNORMAL<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
				<span style="color: #0000ff;">return</span> <span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>
			<span style="color: #008000;">&#125;</span>
		<span style="color: #008000;">&#125;</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000ff;">return</span> CallNextHookEx<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#40;</span>HHOOK<span style="color: #008000;">&#41;</span>glhKeyHook, nCode, wParam, lParam<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
&nbsp;
<span style="color: #666666;">//安装Hook</span>
glhKeyHook <span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span>HWND<span style="color: #008000;">&#41;</span>SetWindowsHookEx<span style="color: #008000;">&#40;</span>WH_KEYBOARD_LL, KeyboardProc, hInstance, <span style="color: #0000dd;">0</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
glhMouseHook <span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span>HWND<span style="color: #008000;">&#41;</span>SetWindowsHookEx<span style="color: #008000;">&#40;</span>WH_MOUSE_LL, MouseProc, hInstance, <span style="color: #0000dd;">0</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
&nbsp;
&nbsp;
<span style="color: #666666;">//卸载Hook</span>
UnhookWindowsHookEx<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#40;</span>HHOOK<span style="color: #008000;">&#41;</span>glhMouseHook<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
UnhookWindowsHookEx<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#40;</span>HHOOK<span style="color: #008000;">&#41;</span>glhKeyHook<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=887</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>数据结构：内部排序</title>
		<link>http://www.shuax.com/?p=881</link>
		<comments>http://www.shuax.com/?p=881#comments</comments>
		<pubDate>Mon, 30 Nov 2009 23:52:01 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[程序开发]]></category>
		<category><![CDATA[数据结构]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=881</guid>
		<description><![CDATA[编写程序实现下述五种算法，并用以下无序序列加以验证： 49，38，65，97，76，13，27，49 1．简单插入排序 2．冒泡排序 3．快速排序 4．归并排序 5．堆排序 //www.shuax.com //舒俊杰 2009.12.01 #include &#60;stdio.h&#62; #include &#60;stdlib.h&#62; typedef struct &#123; int *r; int length; &#125; SqList; &#160; void InitialList&#40;SqList &#38;L&#41; &#123; //初始化顺序表L L.r = &#40;int *&#41;malloc&#40;10 * sizeof&#40;int&#41;&#41;; L.length = 1; L.r&#91;L.length++&#93; = 49; L.r&#91;L.length++&#93; = 38; L.r&#91;L.length++&#93; = 65; L.r&#91;L.length++&#93; = 97; L.r&#91;L.length++&#93; = 76; L.r&#91;L.length++&#93; =]]></description>
			<content:encoded><![CDATA[<p>编写程序实现下述五种算法，并用以下无序序列加以验证： </p>
<blockquote><p>49，38，65，97，76，13，27，49 </p></blockquote>
<p>1．简单插入排序<br />
2．冒泡排序<br />
3．快速排序<br />
4．归并排序<br />
5．堆排序<br />
<span id="more-881"></span></p>

<div class="wp_codebox"><table><tr id="p881166"><td class="code" id="p881code166"><pre class="cpp" style="font-family:monospace;"><span style="color: #666666;">//www.shuax.com</span>
<span style="color: #666666;">//舒俊杰 2009.12.01</span>
<span style="color: #339900;">#include &lt;stdio.h&gt;</span>
<span style="color: #339900;">#include &lt;stdlib.h&gt;</span>
<span style="color: #0000ff;">typedef</span> <span style="color: #0000ff;">struct</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">int</span> <span style="color: #000040;">*</span>r<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">int</span> length<span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
SqList<span style="color: #008080;">;</span>
&nbsp;
<span style="color: #0000ff;">void</span> InitialList<span style="color: #008000;">&#40;</span>SqList <span style="color: #000040;">&amp;</span>L<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #666666;">//初始化顺序表L</span>
	L.<span style="color: #007788;">r</span> <span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> <span style="color: #000040;">*</span><span style="color: #008000;">&#41;</span><span style="color: #0000dd;">malloc</span><span style="color: #008000;">&#40;</span><span style="color: #0000dd;">10</span> <span style="color: #000040;">*</span> <span style="color: #0000dd;">sizeof</span><span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	L.<span style="color: #007788;">length</span> <span style="color: #000080;">=</span> <span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>
	L.<span style="color: #007788;">r</span><span style="color: #008000;">&#91;</span>L.<span style="color: #007788;">length</span><span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #0000dd;">49</span><span style="color: #008080;">;</span>
	L.<span style="color: #007788;">r</span><span style="color: #008000;">&#91;</span>L.<span style="color: #007788;">length</span><span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #0000dd;">38</span><span style="color: #008080;">;</span>
	L.<span style="color: #007788;">r</span><span style="color: #008000;">&#91;</span>L.<span style="color: #007788;">length</span><span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #0000dd;">65</span><span style="color: #008080;">;</span>
	L.<span style="color: #007788;">r</span><span style="color: #008000;">&#91;</span>L.<span style="color: #007788;">length</span><span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #0000dd;">97</span><span style="color: #008080;">;</span>
	L.<span style="color: #007788;">r</span><span style="color: #008000;">&#91;</span>L.<span style="color: #007788;">length</span><span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #0000dd;">76</span><span style="color: #008080;">;</span>
	L.<span style="color: #007788;">r</span><span style="color: #008000;">&#91;</span>L.<span style="color: #007788;">length</span><span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #0000dd;">13</span><span style="color: #008080;">;</span>
	L.<span style="color: #007788;">r</span><span style="color: #008000;">&#91;</span>L.<span style="color: #007788;">length</span><span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #0000dd;">27</span><span style="color: #008080;">;</span>
	L.<span style="color: #007788;">r</span><span style="color: #008000;">&#91;</span>L.<span style="color: #007788;">length</span><span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #0000dd;">49</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
<span style="color: #0000ff;">void</span> PrintList<span style="color: #008000;">&#40;</span>SqList L<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #666666;">//打印顺序表</span>
	<span style="color: #0000ff;">int</span> i<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>i <span style="color: #000080;">=</span> <span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>i <span style="color: #000080;">&lt;</span> L.<span style="color: #007788;">length</span><span style="color: #008080;">;</span>i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
		<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%d &quot;</span>, L.<span style="color: #007788;">r</span><span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">void</span> InsertSort<span style="color: #008000;">&#40;</span>SqList <span style="color: #000040;">&amp;</span>L<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #666666;">//直接插入排序</span>
	<span style="color: #0000ff;">int</span> i, j<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>i <span style="color: #000080;">=</span> <span style="color: #0000dd;">2</span><span style="color: #008080;">;</span> i <span style="color: #000080;">&lt;=</span> L.<span style="color: #007788;">length</span><span style="color: #008080;">;</span> <span style="color: #000040;">++</span>i<span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>L.<span style="color: #007788;">r</span><span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #000080;">&lt;</span> L.<span style="color: #007788;">r</span><span style="color: #008000;">&#91;</span>i <span style="color: #000040;">-</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span>
		<span style="color: #008000;">&#123;</span>
			L.<span style="color: #007788;">r</span><span style="color: #008000;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> L.<span style="color: #007788;">r</span><span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>                 <span style="color: #666666;">// 复制为哨兵</span>
			<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>j <span style="color: #000080;">=</span> i <span style="color: #000040;">-</span> <span style="color: #0000dd;">1</span><span style="color: #008080;">;</span> L.<span style="color: #007788;">r</span><span style="color: #008000;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">&lt;</span> L.<span style="color: #007788;">r</span><span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span> <span style="color: #000040;">--</span>j<span style="color: #008000;">&#41;</span>
				L.<span style="color: #007788;">r</span><span style="color: #008000;">&#91;</span>j <span style="color: #000040;">+</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> L.<span style="color: #007788;">r</span><span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>             <span style="color: #666666;">// 记录后移</span>
			L.<span style="color: #007788;">r</span><span style="color: #008000;">&#91;</span>j <span style="color: #000040;">+</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> L.<span style="color: #007788;">r</span><span style="color: #008000;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>               <span style="color: #666666;">// 插入到正确位置</span>
		<span style="color: #008000;">&#125;</span>
	<span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">void</span> BubbleSort<span style="color: #008000;">&#40;</span>SqList <span style="color: #000040;">&amp;</span>L<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #666666;">//冒泡排序</span>
	<span style="color: #0000ff;">int</span> i, j<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">int</span> temp<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>i <span style="color: #000080;">=</span> <span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>i <span style="color: #000080;">&lt;</span> L.<span style="color: #007788;">length</span> <span style="color: #000040;">-</span> <span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>j <span style="color: #000080;">=</span> i <span style="color: #000040;">+</span> <span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>j <span style="color: #000080;">&lt;</span> L.<span style="color: #007788;">length</span><span style="color: #008080;">;</span>j<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
		<span style="color: #008000;">&#123;</span>
			<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>L.<span style="color: #007788;">r</span><span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #000080;">&gt;</span> L.<span style="color: #007788;">r</span><span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span>
			<span style="color: #008000;">&#123;</span>
				temp <span style="color: #000080;">=</span> L.<span style="color: #007788;">r</span><span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
				L.<span style="color: #007788;">r</span><span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> L.<span style="color: #007788;">r</span><span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
				L.<span style="color: #007788;">r</span><span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> temp<span style="color: #008080;">;</span>
			<span style="color: #008000;">&#125;</span>
		<span style="color: #008000;">&#125;</span>
	<span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
<span style="color: #0000ff;">int</span> Partition<span style="color: #008000;">&#40;</span>SqList <span style="color: #000040;">&amp;</span>L, <span style="color: #0000ff;">int</span> low, <span style="color: #0000ff;">int</span> high<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">int</span> pivotkey<span style="color: #008080;">;</span>
	L.<span style="color: #007788;">r</span><span style="color: #008000;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> L.<span style="color: #007788;">r</span><span style="color: #008000;">&#91;</span>low<span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
	pivotkey <span style="color: #000080;">=</span> L.<span style="color: #007788;">r</span><span style="color: #008000;">&#91;</span>low<span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">while</span> <span style="color: #008000;">&#40;</span>low <span style="color: #000080;">&lt;</span> high<span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000ff;">while</span> <span style="color: #008000;">&#40;</span>low <span style="color: #000080;">&lt;</span> high <span style="color: #000040;">&amp;&amp;</span> L.<span style="color: #007788;">r</span><span style="color: #008000;">&#91;</span>high<span style="color: #008000;">&#93;</span> <span style="color: #000080;">&gt;=</span> pivotkey<span style="color: #008000;">&#41;</span> <span style="color: #000040;">--</span>high<span style="color: #008080;">;</span>
		L.<span style="color: #007788;">r</span><span style="color: #008000;">&#91;</span>low<span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> L.<span style="color: #007788;">r</span><span style="color: #008000;">&#91;</span>high<span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">while</span> <span style="color: #008000;">&#40;</span>low <span style="color: #000080;">&lt;</span> high <span style="color: #000040;">&amp;&amp;</span> L.<span style="color: #007788;">r</span><span style="color: #008000;">&#91;</span>low<span style="color: #008000;">&#93;</span> <span style="color: #000080;">&lt;=</span> pivotkey<span style="color: #008000;">&#41;</span> <span style="color: #000040;">++</span>low<span style="color: #008080;">;</span>
		L.<span style="color: #007788;">r</span><span style="color: #008000;">&#91;</span>high<span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> L.<span style="color: #007788;">r</span><span style="color: #008000;">&#91;</span>low<span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	L.<span style="color: #007788;">r</span><span style="color: #008000;">&#91;</span>low<span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> L.<span style="color: #007788;">r</span><span style="color: #008000;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">return</span> low<span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">void</span> QSort<span style="color: #008000;">&#40;</span>SqList <span style="color: #000040;">&amp;</span>L, <span style="color: #0000ff;">int</span> low, <span style="color: #0000ff;">int</span> high<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #666666;">//快速排序</span>
	<span style="color: #0000ff;">int</span> pivotloc<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>low <span style="color: #000080;">&lt;</span> high<span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		pivotloc <span style="color: #000080;">=</span> Partition<span style="color: #008000;">&#40;</span>L, low, high<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		QSort<span style="color: #008000;">&#40;</span>L, low, pivotloc <span style="color: #000040;">-</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		QSort<span style="color: #008000;">&#40;</span>L, pivotloc <span style="color: #000040;">+</span> <span style="color: #0000dd;">1</span>, high<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
<span style="color: #0000ff;">void</span> Merge <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> SR<span style="color: #008000;">&#91;</span><span style="color: #008000;">&#93;</span>, <span style="color: #0000ff;">int</span> TR<span style="color: #008000;">&#91;</span><span style="color: #008000;">&#93;</span>, <span style="color: #0000ff;">int</span> i, <span style="color: #0000ff;">int</span> m, <span style="color: #0000ff;">int</span> n<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">int</span> j, k<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>j <span style="color: #000080;">=</span> m <span style="color: #000040;">+</span> <span style="color: #0000dd;">1</span>, k <span style="color: #000080;">=</span> i<span style="color: #008080;">;</span> i <span style="color: #000080;">&lt;=</span> m <span style="color: #000040;">&amp;&amp;</span> j <span style="color: #000080;">&lt;=</span> n<span style="color: #008080;">;</span> <span style="color: #000040;">++</span>k<span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>SR<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #000080;">&lt;</span> SR<span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span> TR<span style="color: #008000;">&#91;</span>k<span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> SR<span style="color: #008000;">&#91;</span>i<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">else</span> TR<span style="color: #008000;">&#91;</span>k<span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> SR<span style="color: #008000;">&#91;</span>j<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>i <span style="color: #000080;">&lt;=</span> m<span style="color: #008000;">&#41;</span>
		<span style="color: #0000ff;">while</span> <span style="color: #008000;">&#40;</span>k <span style="color: #000080;">&lt;=</span> n <span style="color: #000040;">&amp;&amp;</span> i <span style="color: #000080;">&lt;=</span> m<span style="color: #008000;">&#41;</span> TR<span style="color: #008000;">&#91;</span>k<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> SR<span style="color: #008000;">&#91;</span>i<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>j <span style="color: #000080;">&lt;=</span> n<span style="color: #008000;">&#41;</span>
		<span style="color: #0000ff;">while</span> <span style="color: #008000;">&#40;</span>k <span style="color: #000080;">&lt;=</span> n <span style="color: #000040;">&amp;&amp;</span> j <span style="color: #000080;">&lt;=</span> n<span style="color: #008000;">&#41;</span> TR<span style="color: #008000;">&#91;</span>k<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> SR<span style="color: #008000;">&#91;</span>j<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">void</span> MSort<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> SR<span style="color: #008000;">&#91;</span><span style="color: #008000;">&#93;</span>, <span style="color: #0000ff;">int</span> TR1<span style="color: #008000;">&#91;</span><span style="color: #008000;">&#93;</span>, <span style="color: #0000ff;">int</span> s, <span style="color: #0000ff;">int</span> t<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #666666;">//归并排序</span>
	<span style="color: #0000ff;">int</span> m<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">int</span> TR2<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">20</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>s <span style="color: #000080;">==</span> t<span style="color: #008000;">&#41;</span> TR1<span style="color: #008000;">&#91;</span>t<span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> SR<span style="color: #008000;">&#91;</span>s<span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">else</span>
	<span style="color: #008000;">&#123;</span>
		m <span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span>s <span style="color: #000040;">+</span> t<span style="color: #008000;">&#41;</span> <span style="color: #000040;">/</span> <span style="color: #0000dd;">2</span><span style="color: #008080;">;</span>
		MSort<span style="color: #008000;">&#40;</span>SR, TR2, s, m<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		MSort<span style="color: #008000;">&#40;</span>SR, TR2, m <span style="color: #000040;">+</span> <span style="color: #0000dd;">1</span>, t<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		Merge<span style="color: #008000;">&#40;</span>TR2, TR1, s, m, t<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">void</span> HeapAdjust<span style="color: #008000;">&#40;</span>SqList <span style="color: #000040;">&amp;</span>H, <span style="color: #0000ff;">int</span> s, <span style="color: #0000ff;">int</span> m<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">int</span> rc<span style="color: #008080;">;</span>
	rc <span style="color: #000080;">=</span> H.<span style="color: #007788;">r</span><span style="color: #008000;">&#91;</span>s<span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>j <span style="color: #000080;">=</span> <span style="color: #0000dd;">2</span> <span style="color: #000040;">*</span> s<span style="color: #008080;">;</span> j <span style="color: #000080;">&lt;=</span> m<span style="color: #008080;">;</span> j <span style="color: #000040;">*</span><span style="color: #000080;">=</span> <span style="color: #0000dd;">2</span><span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>j <span style="color: #000080;">&lt;</span> m <span style="color: #000040;">&amp;&amp;</span> H.<span style="color: #007788;">r</span><span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span> <span style="color: #000080;">&lt;</span> H.<span style="color: #007788;">r</span><span style="color: #008000;">&#91;</span>j <span style="color: #000040;">+</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span> <span style="color: #000040;">++</span>j<span style="color: #008080;">;</span>
		<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>rc <span style="color: #000080;">&gt;=</span> H.<span style="color: #007788;">r</span><span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span> <span style="color: #0000ff;">break</span><span style="color: #008080;">;</span>
		H.<span style="color: #007788;">r</span><span style="color: #008000;">&#91;</span>s<span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> H.<span style="color: #007788;">r</span><span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
		s <span style="color: #000080;">=</span> j<span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	H.<span style="color: #007788;">r</span><span style="color: #008000;">&#91;</span>s<span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> rc<span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">void</span> HeapSort<span style="color: #008000;">&#40;</span>SqList <span style="color: #000040;">&amp;</span>H<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #666666;">//堆排序</span>
	<span style="color: #0000ff;">int</span> i<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">int</span> temp<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>i <span style="color: #000080;">=</span> H.<span style="color: #007788;">length</span> <span style="color: #000040;">/</span> <span style="color: #0000dd;">2</span><span style="color: #008080;">;</span> i <span style="color: #000080;">&gt;</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span> <span style="color: #000040;">--</span>i<span style="color: #008000;">&#41;</span>
		HeapAdjust <span style="color: #008000;">&#40;</span> H, i, H.<span style="color: #007788;">length</span> <span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>i <span style="color: #000080;">=</span> H.<span style="color: #007788;">length</span><span style="color: #008080;">;</span> i <span style="color: #000080;">&gt;</span> <span style="color: #0000dd;">1</span><span style="color: #008080;">;</span> <span style="color: #000040;">--</span>i<span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		temp <span style="color: #000080;">=</span> H.<span style="color: #007788;">r</span><span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
		H.<span style="color: #007788;">r</span><span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> H.<span style="color: #007788;">r</span><span style="color: #008000;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
		H.<span style="color: #007788;">r</span><span style="color: #008000;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> temp<span style="color: #008080;">;</span>
		HeapAdjust<span style="color: #008000;">&#40;</span>H, <span style="color: #0000dd;">1</span>, i <span style="color: #000040;">-</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">int</span> main<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	SqList L<span style="color: #008080;">;</span>
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;各种排序算法<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #666666;">//</span>
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>%-20s&quot;</span>, <span style="color: #FF0000;">&quot;直接插入排序：&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	InitialList<span style="color: #008000;">&#40;</span>L<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	InsertSort<span style="color: #008000;">&#40;</span>L<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	PrintList<span style="color: #008000;">&#40;</span>L<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #666666;">//</span>
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>%-20s&quot;</span>, <span style="color: #FF0000;">&quot;冒泡排序：&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	InitialList<span style="color: #008000;">&#40;</span>L<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	BubbleSort<span style="color: #008000;">&#40;</span>L<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	PrintList<span style="color: #008000;">&#40;</span>L<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #666666;">//</span>
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>%-20s&quot;</span>, <span style="color: #FF0000;">&quot;快速排序：&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	InitialList<span style="color: #008000;">&#40;</span>L<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	QSort<span style="color: #008000;">&#40;</span>L, <span style="color: #0000dd;">1</span>, L.<span style="color: #007788;">length</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	PrintList<span style="color: #008000;">&#40;</span>L<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #666666;">//</span>
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>%-20s&quot;</span>, <span style="color: #FF0000;">&quot;归并排序：&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	InitialList<span style="color: #008000;">&#40;</span>L<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	MSort<span style="color: #008000;">&#40;</span>L.<span style="color: #007788;">r</span>, L.<span style="color: #007788;">r</span>, <span style="color: #0000dd;">1</span>, L.<span style="color: #007788;">length</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	PrintList<span style="color: #008000;">&#40;</span>L<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #666666;">//</span>
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>%-20s&quot;</span>, <span style="color: #FF0000;">&quot;堆排序：&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	InitialList<span style="color: #008000;">&#40;</span>L<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	HeapSort<span style="color: #008000;">&#40;</span>L<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	PrintList<span style="color: #008000;">&#40;</span>L<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #0000dd;">getchar</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">return</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=881</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>数据结构：二分查找与Hash查找实验</title>
		<link>http://www.shuax.com/?p=879</link>
		<comments>http://www.shuax.com/?p=879#comments</comments>
		<pubDate>Mon, 30 Nov 2009 23:49:08 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[程序开发]]></category>
		<category><![CDATA[数据结构]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=879</guid>
		<description><![CDATA[1．二分查找又称为折半查找，它要求要查找的顺序表必须是有序表，即表中结点按关键 字有序，并且要用顺序存储结构。 　　基本思想是：首先将给定值key与表中中间位置记录的关键字相比较，若二者相等，则 查找成功，否则根据比较的结果确定下次查找的范围是在中间记录的前半部分还是后半部 分，然后在新的查找范围内进行同样的查找，如此重复下去，直到在表中找到关键字与给定 值相等的记录，或者确定表中没有这样的记录。 　　编写程序构造一个有序表La，从键盘接收一个关键字key，用二分查找法在La 中查找 key，若找到则提示查找成功并输出key所在的位置，否则提示没有找到信息。 2．编写程序实现Hash表的建立、删除、插入以及查找操作。 　　程序应包含的主要功能函数有： Hash()：计算哈希地址 InitialHash()：初始化哈希表 SearchHash()：在哈希表中查找关键字 InsertHash()：向哈希表中插入关键字 DeleteHash()：删除哈希表中某一关键字 PrintHash()：打印输出哈希表 //www.shuax.com //舒俊杰 2009.12.01 //二分查找 #include &#60;stdio.h&#62; #include &#60;stdlib.h&#62; typedef int Status; &#160; typedef int KeyType; typedef int ElemType; typedef struct &#123; ElemType *elem; int length; &#125; SSTable; &#160; int Search_Bin &#40; SSTable ST, KeyType key &#41; &#123; //]]></description>
			<content:encoded><![CDATA[<p>1．二分查找又称为折半查找，它要求要查找的顺序表必须是有序表，即表中结点按关键<br />
字有序，并且要用顺序存储结构。<br />
　　基本思想是：首先将给定值key与表中中间位置记录的关键字相比较，若二者相等，则<br />
查找成功，否则根据比较的结果确定下次查找的范围是在中间记录的前半部分还是后半部<br />
分，然后在新的查找范围内进行同样的查找，如此重复下去，直到在表中找到关键字与给定<br />
值相等的记录，或者确定表中没有这样的记录。<br />
　　编写程序构造一个有序表La，从键盘接收一个关键字key，用二分查找法在La 中查找<br />
key，若找到则提示查找成功并输出key所在的位置，否则提示没有找到信息。</p>
<p>2．编写程序实现Hash表的建立、删除、插入以及查找操作。<br />
　　程序应包含的主要功能函数有：<br />
Hash()：计算哈希地址<br />
InitialHash()：初始化哈希表<br />
SearchHash()：在哈希表中查找关键字<br />
InsertHash()：向哈希表中插入关键字<br />
DeleteHash()：删除哈希表中某一关键字<br />
PrintHash()：打印输出哈希表<br />
<span id="more-879"></span></p>

<div class="wp_codebox"><table><tr id="p879169"><td class="code" id="p879code169"><pre class="cpp" style="font-family:monospace;"><span style="color: #666666;">//www.shuax.com</span>
<span style="color: #666666;">//舒俊杰 2009.12.01</span>
<span style="color: #666666;">//二分查找</span>
<span style="color: #339900;">#include &lt;stdio.h&gt;</span>
<span style="color: #339900;">#include &lt;stdlib.h&gt;</span>
<span style="color: #0000ff;">typedef</span> <span style="color: #0000ff;">int</span> Status<span style="color: #008080;">;</span>
&nbsp;
<span style="color: #0000ff;">typedef</span> <span style="color: #0000ff;">int</span> KeyType<span style="color: #008080;">;</span>
<span style="color: #0000ff;">typedef</span> <span style="color: #0000ff;">int</span> ElemType<span style="color: #008080;">;</span>
<span style="color: #0000ff;">typedef</span> <span style="color: #0000ff;">struct</span>
<span style="color: #008000;">&#123;</span>
	ElemType <span style="color: #000040;">*</span>elem<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">int</span> length<span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
SSTable<span style="color: #008080;">;</span>
&nbsp;
<span style="color: #0000ff;">int</span> Search_Bin <span style="color: #008000;">&#40;</span> SSTable ST, KeyType key <span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #666666;">// 在有序表ST中折半查找其关键字等于key的数据元素。</span>
	<span style="color: #666666;">// 若找到，则函数值为该元素在表中的位置，否则为0。</span>
	<span style="color: #0000ff;">int</span> low, high, mid<span style="color: #008080;">;</span>
	low <span style="color: #000080;">=</span> <span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>
	high <span style="color: #000080;">=</span> ST.<span style="color: #007788;">length</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">while</span> <span style="color: #008000;">&#40;</span>low <span style="color: #000080;">&lt;=</span> high<span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		mid <span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span>low <span style="color: #000040;">+</span> high<span style="color: #008000;">&#41;</span> <span style="color: #000040;">/</span> <span style="color: #0000dd;">2</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>key <span style="color: #000080;">==</span> ST.<span style="color: #007788;">elem</span><span style="color: #008000;">&#91;</span>mid<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span> <span style="color: #0000ff;">return</span> mid<span style="color: #008080;">;</span>    <span style="color: #666666;">// 找到待查元素</span>
		<span style="color: #0000ff;">else</span> <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>key <span style="color: #000080;">&lt;</span> ST.<span style="color: #007788;">elem</span><span style="color: #008000;">&#91;</span>mid<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span> high <span style="color: #000080;">=</span> mid <span style="color: #000040;">-</span> <span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">else</span> low <span style="color: #000080;">=</span> mid <span style="color: #000040;">+</span> <span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000ff;">return</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
<span style="color: #0000ff;">int</span> main<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	SSTable ST<span style="color: #008080;">;</span>
	ST.<span style="color: #007788;">elem</span> <span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span>ElemType <span style="color: #000040;">*</span><span style="color: #008000;">&#41;</span><span style="color: #0000dd;">malloc</span><span style="color: #008000;">&#40;</span><span style="color: #0000dd;">100</span> <span style="color: #000040;">*</span> <span style="color: #0000dd;">sizeof</span><span style="color: #008000;">&#40;</span>ElemType<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">int</span> i <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>i <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>i <span style="color: #000080;">&lt;</span> <span style="color: #0000dd;">100</span><span style="color: #008080;">;</span>i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span> ST.<span style="color: #007788;">elem</span><span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> i <span style="color: #000040;">*</span> <span style="color: #0000dd;">2</span><span style="color: #008080;">;</span>
	ST.<span style="color: #007788;">length</span> <span style="color: #000080;">=</span> <span style="color: #0000dd;">100</span><span style="color: #008080;">;</span>
	KeyType key<span style="color: #008080;">;</span>
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;请输入一个key进行查找：&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">scanf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%d&quot;</span>, <span style="color: #000040;">&amp;</span>key<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">getchar</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	i <span style="color: #000080;">=</span> Search_Bin<span style="color: #008000;">&#40;</span>ST, key<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>i<span style="color: #008000;">&#41;</span> <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;位置：%d&quot;</span>, i<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">else</span> <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;没找到!&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">getchar</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></td></tr></table></div>

<p>哈希表</p>

<div class="wp_codebox"><table><tr id="p879170"><td class="code" id="p879code170"><pre class="cpp" style="font-family:monospace;"><span style="color: #666666;">//www.shuax.com</span>
<span style="color: #666666;">//舒俊杰 2009.12.01</span>
<span style="color: #666666;">//Hash表</span>
<span style="color: #339900;">#include &lt;stdio.h&gt;</span>
<span style="color: #339900;">#include &lt;stdlib.h&gt;</span>
<span style="color: #339900;">#include &lt;string.h&gt;</span>
&nbsp;
<span style="color: #0000ff;">typedef</span> <span style="color: #0000ff;">int</span> Status<span style="color: #008080;">;</span>
<span style="color: #0000ff;">typedef</span> <span style="color: #0000ff;">int</span> HKeyType<span style="color: #008080;">;</span>
<span style="color: #0000ff;">typedef</span> <span style="color: #0000ff;">struct</span>
<span style="color: #008000;">&#123;</span>
	HKeyType key<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">int</span> flag<span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
HElemType<span style="color: #008080;">;</span>
<span style="color: #0000ff;">typedef</span> <span style="color: #0000ff;">struct</span>
<span style="color: #008000;">&#123;</span>
	HElemType <span style="color: #000040;">*</span>elem<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">int</span> count<span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
HashTable<span style="color: #008080;">;</span>
&nbsp;
<span style="color: #339900;">#define HASHCODE 997</span>
&nbsp;
<span style="color: #339900;">#define SUCCESS 1</span>
<span style="color: #339900;">#define UNSUCCESS 0</span>
<span style="color: #339900;">#define DUPLICATE -1</span>
<span style="color: #339900;">#define ERROR -2</span>
&nbsp;
<span style="color: #339900;">#define NONE 0</span>
<span style="color: #339900;">#define EXIST 1</span>
<span style="color: #339900;">#define DELETE -1</span>
&nbsp;
HKeyType Hash<span style="color: #008000;">&#40;</span>HKeyType K<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">return</span> K <span style="color: #000040;">%</span> HASHCODE<span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">void</span> InitialHash<span style="color: #008000;">&#40;</span>HashTable <span style="color: #000040;">&amp;</span>H<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	H.<span style="color: #007788;">elem</span> <span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span>HElemType <span style="color: #000040;">*</span><span style="color: #008000;">&#41;</span><span style="color: #0000dd;">malloc</span><span style="color: #008000;">&#40;</span>HASHCODE <span style="color: #000040;">*</span> <span style="color: #0000dd;">sizeof</span><span style="color: #008000;">&#40;</span>HElemType<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">memset</span><span style="color: #008000;">&#40;</span>H.<span style="color: #007788;">elem</span>, NONE, HASHCODE <span style="color: #000040;">*</span> <span style="color: #0000dd;">sizeof</span><span style="color: #008000;">&#40;</span>HElemType<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	H.<span style="color: #007788;">count</span> <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
Status SearchHash<span style="color: #008000;">&#40;</span>HashTable H, HKeyType K, <span style="color: #0000ff;">int</span> <span style="color: #000040;">&amp;</span>p<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	p <span style="color: #000080;">=</span> Hash<span style="color: #008000;">&#40;</span>K<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">while</span> <span style="color: #008000;">&#40;</span>H.<span style="color: #007788;">elem</span><span style="color: #008000;">&#91;</span>p<span style="color: #008000;">&#93;</span>.<span style="color: #007788;">flag</span> <span style="color: #000040;">!</span><span style="color: #000080;">=</span> NONE <span style="color: #000040;">&amp;&amp;</span> K <span style="color: #000040;">!</span><span style="color: #000080;">=</span> H.<span style="color: #007788;">elem</span><span style="color: #008000;">&#91;</span>p<span style="color: #008000;">&#93;</span>.<span style="color: #007788;">key</span><span style="color: #008000;">&#41;</span> p<span style="color: #000040;">++</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>K <span style="color: #000080;">==</span> H.<span style="color: #007788;">elem</span><span style="color: #008000;">&#91;</span>p<span style="color: #008000;">&#93;</span>.<span style="color: #007788;">key</span><span style="color: #008000;">&#41;</span> <span style="color: #0000ff;">return</span> SUCCESS<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">else</span> <span style="color: #0000ff;">return</span> UNSUCCESS<span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
Status InsertHash<span style="color: #008000;">&#40;</span>HashTable <span style="color: #000040;">&amp;</span>H, HKeyType K<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">int</span> p <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>SearchHash<span style="color: #008000;">&#40;</span>H, K, p<span style="color: #008000;">&#41;</span> <span style="color: #000080;">==</span> SUCCESS <span style="color: #000040;">&amp;&amp;</span> H.<span style="color: #007788;">elem</span><span style="color: #008000;">&#91;</span>p<span style="color: #008000;">&#93;</span>.<span style="color: #007788;">flag</span> <span style="color: #000080;">==</span> EXIST<span style="color: #008000;">&#41;</span> <span style="color: #0000ff;">return</span> DUPLICATE<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>p <span style="color: #000080;">&gt;=</span> HASHCODE<span style="color: #008000;">&#41;</span> <span style="color: #0000ff;">return</span> ERROR<span style="color: #008080;">;</span>
	H.<span style="color: #007788;">elem</span><span style="color: #008000;">&#91;</span>p<span style="color: #008000;">&#93;</span>.<span style="color: #007788;">key</span> <span style="color: #000080;">=</span> K<span style="color: #008080;">;</span>
	H.<span style="color: #007788;">elem</span><span style="color: #008000;">&#91;</span>p<span style="color: #008000;">&#93;</span>.<span style="color: #007788;">flag</span> <span style="color: #000080;">=</span> EXIST<span style="color: #008080;">;</span>
	H.<span style="color: #007788;">count</span><span style="color: #000040;">++</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">return</span> SUCCESS<span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
Status DeleteHash<span style="color: #008000;">&#40;</span>HashTable <span style="color: #000040;">&amp;</span>H, HKeyType K<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">int</span> p <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>SearchHash<span style="color: #008000;">&#40;</span>H, K, p<span style="color: #008000;">&#41;</span> <span style="color: #000040;">!</span><span style="color: #000080;">=</span> SUCCESS <span style="color: #008000;">&#41;</span> <span style="color: #0000ff;">return</span> ERROR<span style="color: #008080;">;</span>
	H.<span style="color: #007788;">elem</span><span style="color: #008000;">&#91;</span>p<span style="color: #008000;">&#93;</span>.<span style="color: #007788;">flag</span> <span style="color: #000080;">=</span> DELETE<span style="color: #008080;">;</span>
	H.<span style="color: #007788;">count</span><span style="color: #000040;">--</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">return</span> SUCCESS<span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
Status PrintHash<span style="color: #008000;">&#40;</span>HashTable H<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> i <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>i <span style="color: #000080;">&lt;</span> HASHCODE<span style="color: #008080;">;</span>i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
		<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>H.<span style="color: #007788;">elem</span><span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span>.<span style="color: #007788;">flag</span> <span style="color: #000080;">==</span> EXIST<span style="color: #008000;">&#41;</span> <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%d:%d<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span>, i, H.<span style="color: #007788;">elem</span><span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span>.<span style="color: #007788;">key</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
<span style="color: #0000ff;">void</span> menu<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>* * * * * * * * * * * * * * * * * * * * * * * * * *<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;  1 ------- 查找关键字<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;  2 ------- 插入关键字<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;  3 ------- 删除关键字<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;  4 ------- 打印哈希表<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;  5 ------- 退出<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;* * * * * * * * * * * * * * * * * * * * * * * * * *<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">void</span> menuselect<span style="color: #008000;">&#40;</span>HashTable H<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">int</span> k, done <span style="color: #000080;">=</span> <span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">int</span> p <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
	HKeyType K<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">while</span> <span style="color: #008000;">&#40;</span>done<span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		menu<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;请选择一个功能: &quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">scanf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%d&quot;</span>, <span style="color: #000040;">&amp;</span>k<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">getchar</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">switch</span> <span style="color: #008000;">&#40;</span>k<span style="color: #008000;">&#41;</span>
		<span style="color: #008000;">&#123;</span>
		<span style="color: #0000ff;">case</span> <span style="color: #0000dd;">1</span><span style="color: #008080;">:</span>
			<span style="color: #008000;">&#123;</span>
				<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>输入查找数据: &quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
				<span style="color: #0000dd;">scanf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%d&quot;</span>, <span style="color: #000040;">&amp;</span>K<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
				<span style="color: #0000dd;">getchar</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
				<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>SearchHash<span style="color: #008000;">&#40;</span>H, K, p<span style="color: #008000;">&#41;</span> <span style="color: #000040;">!</span><span style="color: #000080;">=</span> UNSUCCESS <span style="color: #000040;">&amp;&amp;</span> H.<span style="color: #007788;">elem</span><span style="color: #008000;">&#91;</span>p<span style="color: #008000;">&#93;</span>.<span style="color: #007788;">flag</span> <span style="color: #000080;">==</span> EXIST<span style="color: #008000;">&#41;</span><span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;数据已找到！位于：%d<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span>, p<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
				<span style="color: #0000ff;">else</span> <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;数据没找到！<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
				<span style="color: #0000ff;">break</span><span style="color: #008080;">;</span>
			<span style="color: #008000;">&#125;</span>
		<span style="color: #0000ff;">case</span> <span style="color: #0000dd;">2</span><span style="color: #008080;">:</span>
			<span style="color: #008000;">&#123;</span>
				<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>输入插入数据: &quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
				<span style="color: #0000dd;">scanf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%d&quot;</span>, <span style="color: #000040;">&amp;</span>K<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
				<span style="color: #0000dd;">getchar</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
				p <span style="color: #000080;">=</span> InsertHash<span style="color: #008000;">&#40;</span>H, K<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
				<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>p <span style="color: #000080;">==</span> DUPLICATE<span style="color: #008000;">&#41;</span> <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;此数据已经存在!<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
				<span style="color: #0000ff;">else</span> <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>p <span style="color: #000080;">==</span> ERROR<span style="color: #008000;">&#41;</span> <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;Hash表已满!<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
				<span style="color: #0000ff;">else</span> <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;插入成功<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
				<span style="color: #0000ff;">break</span><span style="color: #008080;">;</span>
			<span style="color: #008000;">&#125;</span>
		<span style="color: #0000ff;">case</span> <span style="color: #0000dd;">3</span><span style="color: #008080;">:</span>
			<span style="color: #008000;">&#123;</span>
				<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>输入删除数据: &quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
				<span style="color: #0000dd;">scanf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%d&quot;</span>, <span style="color: #000040;">&amp;</span>K<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
				<span style="color: #0000dd;">getchar</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
				<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>DeleteHash<span style="color: #008000;">&#40;</span>H, K<span style="color: #008000;">&#41;</span> <span style="color: #000080;">==</span> ERROR<span style="color: #008000;">&#41;</span> <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;删除数据不存在!<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
				<span style="color: #0000ff;">else</span> <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;删除成功&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
				<span style="color: #0000ff;">break</span><span style="color: #008080;">;</span>
			<span style="color: #008000;">&#125;</span>
		<span style="color: #0000ff;">case</span> <span style="color: #0000dd;">4</span><span style="color: #008080;">:</span> PrintHash<span style="color: #008000;">&#40;</span>H<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span><span style="color: #0000ff;">break</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">case</span> <span style="color: #0000dd;">5</span><span style="color: #008080;">:</span> done <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
		<span style="color: #008000;">&#125;</span>
	<span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
<span style="color: #0000ff;">int</span> main<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	HashTable H<span style="color: #008080;">;</span>
	InitialHash<span style="color: #008000;">&#40;</span>H<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	HKeyType K<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">int</span> i<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">int</span> n<span style="color: #008080;">;</span>
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;请输入初始化数据个数：&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">scanf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%d&quot;</span>, <span style="color: #000040;">&amp;</span>n<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">getchar</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;请输入初始化数据：&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>i <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>i <span style="color: #000080;">&lt;</span> n<span style="color: #008080;">;</span>i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000dd;">scanf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%d&quot;</span>, <span style="color: #000040;">&amp;</span>K<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">getchar</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>InsertHash<span style="color: #008000;">&#40;</span>H, K<span style="color: #008000;">&#41;</span> <span style="color: #000080;">==</span> ERROR<span style="color: #008000;">&#41;</span> <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;对不起，Hash表已满!<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	menuselect<span style="color: #008000;">&#40;</span>H<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">return</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=879</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>高速字符串匹配 zzl算法</title>
		<link>http://www.shuax.com/?p=871</link>
		<comments>http://www.shuax.com/?p=871#comments</comments>
		<pubDate>Sun, 29 Nov 2009 04:29:33 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[程序开发]]></category>
		<category><![CDATA[数据结构]]></category>
		<category><![CDATA[算法]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=871</guid>
		<description><![CDATA[这个大概我这段时间稍微有点成就感的东西了。 学了数据结构，但是编写代码的时候还是照着书抄，没有一点意思…… 字符串匹配在补丁的时候是非常有用的。 之前我用的普通方法查找，就是一个一个的往前。搜索一个300kb的文件大概需要4秒时间。 看了ZZL算法原理以后，自己就编写了出来。查找这个相同的文件，需时约0.4秒。 大家能够感觉到差距吧？整整10倍啊！ 算法思想大意是每次能够尽量多的移动匹配位置，因此建立一个开始匹配的索引。 整个程序需要两部 预处理 预处理主要完成查找模式串首字符在主串中的所有出现位置，并将其保存在一个数组中。 查找模式串首字符算法如下： k=0; for&#40;i=start;i&#60;S.length-T.length;i++&#41; &#123; if&#40;S.str&#91;i&#93;==T.str&#91;0&#93;&#41; &#123; x&#91;k&#93;=i; k++; // k为模式串首字母在主串中出现的次数 &#125; &#125; 匹配 在预处理的基础上，字符串匹配算法就可以从查找到的模式串在主串中的位置开始，匹配模式串首字母之后的其余部分。此时，采用BF算法即可，并可设置一个计数器，记录匹配次数。 匹配算法如下： v=0; for&#40;m=0;m&#60;k;m++&#41; &#123; for&#40;j=1;j&#60;T.length;j++&#41; &#123; if&#40;S.str&#91;x&#91;m&#93;+1&#93;==T.str&#91;j&#93;&#41; &#123; v++; x&#91;m&#93;++; &#125; else &#123; v++; break; &#125; &#125; &#125; 算法性能分析 如果不考虑算法的预处理过程，若模式串首字母在主串中出现k次，则ZZL算法最坏情况下比较次数为k*(M-1)]]></description>
			<content:encoded><![CDATA[<p>这个大概我这段时间稍微有点成就感的东西了。<br />
学了数据结构，但是编写代码的时候还是照着书抄，没有一点意思……</p>
<p>字符串匹配在补丁的时候是非常有用的。<br />
之前我用的普通方法查找，就是一个一个的往前。搜索一个300kb的文件大概需要4秒时间。<br />
看了ZZL算法原理以后，自己就编写了出来。查找这个相同的文件，需时约0.4秒。<br />
大家能够感觉到差距吧？整整10倍啊！</p>
<p>算法思想大意是每次能够尽量多的移动匹配位置，因此建立一个开始匹配的索引。<br />
<span id="more-871"></span><br />
整个程序需要两部<br />
<strong>预处理</strong><br />
     预处理主要完成查找模式串首字符在主串中的所有出现位置，并将其保存在一个数组中。<br />
查找模式串首字符算法如下：</p>

<div class="wp_codebox"><table><tr id="p871174"><td class="code" id="p871code174"><pre class="cpp" style="font-family:monospace;">k<span style="color: #000080;">=</span><span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
<span style="color: #0000ff;">for</span><span style="color: #008000;">&#40;</span>i<span style="color: #000080;">=</span>start<span style="color: #008080;">;</span>i<span style="color: #000080;">&lt;</span>S.<span style="color: #007788;">length</span><span style="color: #000040;">-</span>T.<span style="color: #007788;">length</span><span style="color: #008080;">;</span>i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
       <span style="color: #0000ff;">if</span><span style="color: #008000;">&#40;</span>S.<span style="color: #007788;">str</span><span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #000080;">==</span>T.<span style="color: #007788;">str</span><span style="color: #008000;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span>
       <span style="color: #008000;">&#123;</span>
              x<span style="color: #008000;">&#91;</span>k<span style="color: #008000;">&#93;</span><span style="color: #000080;">=</span>i<span style="color: #008080;">;</span>
              k<span style="color: #000040;">++</span><span style="color: #008080;">;</span>          <span style="color: #666666;">// k为模式串首字母在主串中出现的次数</span>
     <span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span></pre></td></tr></table></div>

<p><strong>匹配</strong><br />
     在预处理的基础上，字符串匹配算法就可以从查找到的模式串在主串中的位置开始，匹配模式串首字母之后的其余部分。此时，采用BF算法即可，并可设置一个计数器，记录匹配次数。<br />
       匹配算法如下：</p>

<div class="wp_codebox"><table><tr id="p871175"><td class="code" id="p871code175"><pre class="cpp" style="font-family:monospace;">v<span style="color: #000080;">=</span><span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
<span style="color: #0000ff;">for</span><span style="color: #008000;">&#40;</span>m<span style="color: #000080;">=</span><span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>m<span style="color: #000080;">&lt;</span>k<span style="color: #008080;">;</span>m<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>                            
<span style="color: #008000;">&#123;</span>
       <span style="color: #0000ff;">for</span><span style="color: #008000;">&#40;</span>j<span style="color: #000080;">=</span><span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>j<span style="color: #000080;">&lt;</span>T.<span style="color: #007788;">length</span><span style="color: #008080;">;</span>j<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
       <span style="color: #008000;">&#123;</span>
              <span style="color: #0000ff;">if</span><span style="color: #008000;">&#40;</span>S.<span style="color: #007788;">str</span><span style="color: #008000;">&#91;</span>x<span style="color: #008000;">&#91;</span>m<span style="color: #008000;">&#93;</span><span style="color: #000040;">+</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #000080;">==</span>T.<span style="color: #007788;">str</span><span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span>
              <span style="color: #008000;">&#123;</span>
                     v<span style="color: #000040;">++</span><span style="color: #008080;">;</span>
                     x<span style="color: #008000;">&#91;</span>m<span style="color: #008000;">&#93;</span><span style="color: #000040;">++</span><span style="color: #008080;">;</span>
              <span style="color: #008000;">&#125;</span>
              <span style="color: #0000ff;">else</span>
              <span style="color: #008000;">&#123;</span>            
                     v<span style="color: #000040;">++</span><span style="color: #008080;">;</span>
                     <span style="color: #0000ff;">break</span><span style="color: #008080;">;</span>
              <span style="color: #008000;">&#125;</span>
       <span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span></pre></td></tr></table></div>

<p><strong>算法性能分析</strong><br />
     如果不考虑算法的预处理过程，若模式串首字母在主串中出现k次，则ZZL算法最坏情况下比较次数为k*(M-1)<k*M。<br />
如果考虑算法的预处理过程，则总的比较次数需再加上N次，即为k*M+N。</p>
<p>最后，我把我实现的算法写出来吧，可不是伪代码哦，保证能够编译通过的。</p>

<div class="wp_codebox"><table><tr id="p871176"><td class="code" id="p871code176"><pre class="cpp" style="font-family:monospace;"><span style="color: #666666;">//www.shuax.com</span>
<span style="color: #666666;">//舒俊杰 2009.11.29</span>
<span style="color: #339900;">#include &lt;stdio.h&gt;</span>
<span style="color: #339900;">#include &lt;stdlib.h&gt;</span>
&nbsp;
<span style="color: #0000ff;">int</span> main<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">int</span> key<span style="color: #008000;">&#91;</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #008000;">&#123;</span><span style="color: #208080;">0x74</span>, <span style="color: #208080;">0x07</span>, <span style="color: #208080;">0xB8</span>, <span style="color: #208080;">0x04</span>, <span style="color: #208080;">0x40</span>, <span style="color: #208080;">0x00</span>, <span style="color: #208080;">0x80</span>, <span style="color: #208080;">0xEB</span>, <span style="color: #208080;">0x0F</span><span style="color: #008000;">&#125;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">FILE</span> <span style="color: #000040;">*</span>fp<span style="color: #008080;">;</span>
	fp <span style="color: #000080;">=</span> <span style="color: #0000dd;">fopen</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;XLUser.dll&quot;</span>, <span style="color: #FF0000;">&quot;rb&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #0000dd;">fseek</span><span style="color: #008000;">&#40;</span>fp, <span style="color: #0000dd;">0L</span>, <span style="color: #0000dd;">2</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">long</span> filelen <span style="color: #000080;">=</span> <span style="color: #0000dd;">ftell</span><span style="color: #008000;">&#40;</span>fp<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span><span style="color: #666666;">//为了加快速度，可自定义文件长度</span>
&nbsp;
	<span style="color: #0000ff;">long</span> feature <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">long</span> point<span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #666666;">//索引顺序表</span>
	<span style="color: #0000ff;">int</span> length <span style="color: #000080;">=</span> <span style="color: #0000dd;">200</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">long</span> <span style="color: #000040;">*</span>seek <span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">long</span> <span style="color: #000040;">*</span><span style="color: #008000;">&#41;</span><span style="color: #0000dd;">malloc</span><span style="color: #008000;">&#40;</span>length <span style="color: #000040;">*</span> <span style="color: #0000dd;">sizeof</span><span style="color: #008000;">&#40;</span><span style="color: #0000ff;">long</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #0000ff;">int</span> i <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">int</span> j <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #666666;">//建立索引，我自己改进了一下ZZL</span>
	<span style="color: #666666;">//既然可以查询首字符，那么一次查询两个也行吧？</span>
	<span style="color: #0000dd;">fseek</span><span style="color: #008000;">&#40;</span>fp, <span style="color: #0000dd;">0L</span>, <span style="color: #0000dd;">0</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">while</span> <span style="color: #008000;">&#40;</span><span style="color: #0000dd;">ftell</span><span style="color: #008000;">&#40;</span>fp<span style="color: #008000;">&#41;</span> <span style="color: #000080;">&lt;</span> filelen <span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span><span style="color: #0000dd;">fgetc</span><span style="color: #008000;">&#40;</span>fp<span style="color: #008000;">&#41;</span> <span style="color: #000080;">==</span> key<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#93;</span> <span style="color: #000040;">&amp;&amp;</span> <span style="color: #0000dd;">fgetc</span><span style="color: #008000;">&#40;</span>fp<span style="color: #008000;">&#41;</span> <span style="color: #000080;">==</span> key<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span>
		<span style="color: #008000;">&#123;</span>
			feature<span style="color: #000040;">++</span><span style="color: #008080;">;</span>
			<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>feature <span style="color: #000080;">==</span> length<span style="color: #008000;">&#41;</span>
			<span style="color: #008000;">&#123;</span>
				seek <span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">long</span> <span style="color: #000040;">*</span><span style="color: #008000;">&#41;</span><span style="color: #0000dd;">realloc</span><span style="color: #008000;">&#40;</span>seek, <span style="color: #008000;">&#40;</span>length <span style="color: #000040;">+</span> <span style="color: #0000dd;">40</span><span style="color: #008000;">&#41;</span> <span style="color: #000040;">*</span> <span style="color: #0000dd;">sizeof</span><span style="color: #008000;">&#40;</span><span style="color: #0000ff;">long</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
				length <span style="color: #000040;">+</span><span style="color: #000080;">=</span> <span style="color: #0000dd;">40</span><span style="color: #008080;">;</span>
			<span style="color: #008000;">&#125;</span>
			seek<span style="color: #008000;">&#91;</span>feature<span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #0000dd;">ftell</span><span style="color: #008000;">&#40;</span>fp<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #008000;">&#125;</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #666666;">//根据索引查找</span>
	<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>i <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>i <span style="color: #000080;">&lt;</span> feature<span style="color: #008080;">;</span>i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000dd;">fseek</span><span style="color: #008000;">&#40;</span>fp, seek<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span>, <span style="color: #0000dd;">0</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>j <span style="color: #000080;">=</span> <span style="color: #0000dd;">2</span><span style="color: #008080;">;</span> j <span style="color: #000080;">&lt;</span> <span style="color: #0000dd;">9</span><span style="color: #008080;">;</span>j<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
		<span style="color: #008000;">&#123;</span>
			<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span><span style="color: #0000dd;">fgetc</span><span style="color: #008000;">&#40;</span>fp<span style="color: #008000;">&#41;</span> <span style="color: #000040;">!</span><span style="color: #000080;">=</span> key<span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span> <span style="color: #0000ff;">break</span><span style="color: #008080;">;</span>
		<span style="color: #008000;">&#125;</span>
		<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>j <span style="color: #000080;">&gt;</span> <span style="color: #0000dd;">8</span><span style="color: #008000;">&#41;</span> point <span style="color: #000080;">=</span> <span style="color: #0000dd;">ftell</span><span style="color: #008000;">&#40;</span>fp<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000dd;">fclose</span><span style="color: #008000;">&#40;</span>fp<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%x&quot;</span>, point<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">return</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></td></tr></table></div>

<p>这个就是我的迅雷补丁的核心算法啦…自我感觉良好…哈哈<br />
<strong>实验结果</strong><br />
     为了评测该算法的性能，随机的抽取一段文本和模式串，并在同一台计算机上用不同的算法进行匹配。测试文本主串S=&#8221;From automated teller machines and atomic clocks to mammograms and semiconductors,innumerable products and services rely in some way on technology,measurement,and standards provided by the National Institute of Standards and Technology&#8221;，模式串T=&#8221;products and services&#8221;。分别用BF算法、KMP算法、BM算法、Sunday算法和ZZL算法在同一台计算机上进行匹配计算，并统计每种算法匹配时总的字符匹配次数。测试结果:</p>
<pre>
算法		BF	KMP	BM	Sunday	ZZL
一次匹配的总的字
符匹配次数		116	95	108	110	23 
</pre>
<p>PS:zzl应该就是那篇论文的作者吧，朱战立？</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=871</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>暂停进程以及列出进程</title>
		<link>http://www.shuax.com/?p=852</link>
		<comments>http://www.shuax.com/?p=852#comments</comments>
		<pubDate>Fri, 27 Nov 2009 02:48:43 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[C/C++]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[代码]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=852</guid>
		<description><![CDATA[近日在小众软件上看见了一款软件Free Process Freezer。可以暂停任意进程，命令提示符除外。 Free Process Freezer 的用法很简单，找到要暂停的进程，对同名的进程注意看 ID（对于任务管理器里面进程的 PID），然后点击 Suspend process 就行了，想恢复就点击 Resume process。 到网上搜索了一下，原来原理很简单…… 一个API而已，我把代码写好了，因为我没有高级的SDK，所以直接从DLL里面读取函数咯。 当然咯，直接用肯定不方便。 那我就写一个获得当前所有正在运行的程序的名称和PID。 //暂停恢复进程 //www.shuax.com //舒俊杰 2009.11.27 #include &#60;windows.h&#62; &#160; typedef DWORD &#40;WINAPI *NtProcess&#41;&#40;HANDLE hProcess&#41;; &#160; int main&#40;&#41; &#123; DWORD processID = 312; HANDLE hProcess = OpenProcess&#40;PROCESS_ALL_ACCESS, FALSE, processID &#41;; if &#40;hProcess&#41; &#123; HINSTANCE h_module = LoadLibrary&#40;&#34;ntdll.dll&#34;&#41;; NtProcess mProcess =]]></description>
			<content:encoded><![CDATA[<p>近日在小众软件上看见了一款软件Free Process Freezer。可以暂停任意进程，命令提示符除外。</p>
<p>Free Process Freezer 的用法很简单，找到要暂停的进程，对同名的进程注意看 ID（对于任务管理器里面进程的 PID），然后点击 Suspend process 就行了，想恢复就点击 Resume process。</p>
<p>到网上搜索了一下，原来原理很简单……</p>
<p>一个API而已，我把代码写好了，因为我没有高级的SDK，所以直接从DLL里面读取函数咯。</p>
<p>当然咯，直接用肯定不方便。<br />
那我就写一个获得当前所有正在运行的程序的名称和PID。<br />
<span id="more-852"></span></p>

<div class="wp_codebox"><table><tr id="p852179"><td class="code" id="p852code179"><pre class="cpp" style="font-family:monospace;"><span style="color: #666666;">//暂停恢复进程</span>
<span style="color: #666666;">//www.shuax.com</span>
<span style="color: #666666;">//舒俊杰 2009.11.27</span>
<span style="color: #339900;">#include &lt;windows.h&gt;</span>
&nbsp;
<span style="color: #0000ff;">typedef</span> DWORD <span style="color: #008000;">&#40;</span>WINAPI <span style="color: #000040;">*</span>NtProcess<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#40;</span>HANDLE hProcess<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
&nbsp;
<span style="color: #0000ff;">int</span> main<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	DWORD processID <span style="color: #000080;">=</span> <span style="color: #0000dd;">312</span><span style="color: #008080;">;</span>
	HANDLE hProcess <span style="color: #000080;">=</span> OpenProcess<span style="color: #008000;">&#40;</span>PROCESS_ALL_ACCESS, FALSE, processID <span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>hProcess<span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		HINSTANCE h_module <span style="color: #000080;">=</span> LoadLibrary<span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;ntdll.dll&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		NtProcess mProcess <span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span>NtProcess<span style="color: #008000;">&#41;</span>GetProcAddress<span style="color: #008000;">&#40;</span>h_module, <span style="color: #FF0000;">&quot;NtResumeProcess&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span> <span style="color: #666666;">//NtResumeProcess NtSuspendProcess</span>
		mProcess<span style="color: #008000;">&#40;</span>hProcess<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span></pre></td></tr></table></div>

<p>其中processID为PID，自己随便取就可以了。</p>
<p>NtSuspendProcess是暂停进程<br />
NtResumeProcess是恢复被暂停的进程</p>

<div class="wp_codebox"><table><tr id="p852180"><td class="code" id="p852code180"><pre class="cpp" style="font-family:monospace;"><span style="color: #666666;">//列举所有进程</span>
<span style="color: #666666;">//www.shuax.com</span>
<span style="color: #666666;">//舒俊杰 2009.11.27</span>
<span style="color: #339900;">#include &lt;windows.h&gt;</span>
<span style="color: #339900;">#include &lt;stdio.h&gt;</span>
<span style="color: #339900;">#include &lt;tlhelp32.h&gt;</span>
&nbsp;
<span style="color: #0000ff;">int</span> main<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	HANDLE hProcessSnap <span style="color: #000080;">=</span> <span style="color: #0000ff;">NULL</span><span style="color: #008080;">;</span>
	PROCESSENTRY32 pe32<span style="color: #008080;">;</span>
	hProcessSnap <span style="color: #000080;">=</span> CreateToolhelp32Snapshot <span style="color: #008000;">&#40;</span>TH32CS_SNAPPROCESS, <span style="color: #0000dd;">0</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	pe32.<span style="color: #007788;">dwSize</span> <span style="color: #000080;">=</span> <span style="color: #0000dd;">sizeof</span><span style="color: #008000;">&#40;</span>PROCESSENTRY32<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>Process32First <span style="color: #008000;">&#40;</span>hProcessSnap, <span style="color: #000040;">&amp;</span>pe32<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>Process32Next <span style="color: #008000;">&#40;</span>hProcessSnap, <span style="color: #000040;">&amp;</span>pe32<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span><span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%-30s%8d<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span>, pe32.<span style="color: #007788;">szExeFile</span>, pe32.<span style="color: #007788;">th32ProcessID</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	CloseHandle<span style="color: #008000;">&#40;</span>hProcessSnap<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">getchar</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></td></tr></table></div>

<p>怎么样，现在用起来就简单多了吧。<br />
哦，顺便说一下，结束进程的API是：</p>
<blockquote><p>TerminateProcess(TargetProcess, 0);</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=852</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>[原创]迅雷增强工具 v1.0</title>
		<link>http://www.shuax.com/?p=815</link>
		<comments>http://www.shuax.com/?p=815#comments</comments>
		<pubDate>Sun, 15 Nov 2009 01:50:02 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[原创软件]]></category>
		<category><![CDATA[原创]]></category>
		<category><![CDATA[破解]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=815</guid>
		<description><![CDATA[运行环境：xp/vista/win7 更新时间：2009年11月30日 支持迅雷至：5.9.15.1274 (2010.01.18更新） 本程序采用aero界面，简单界面，一目了然。 同时可兼容xp，欢迎大家试用。 程序功能： 破解会员　　　登录后，可以使用本地会员的功能，能够去除大部分广告。 专用链支持　　使迅雷可以下载快车和旋风的资源。直接在浏览器中点左键即可。第一次需要允许插件运行。 取消增强　　　如果你的版本不正确导致迅雷出错，你可以恢复。并且移除专用链补丁。 版权说明： 会员破解方法来自于网上，我只是方便大家使用而已。专用链补丁来自ddrmsdos。 更新信息： v1.0　开始支持xp，所以也正式一点，推出一个版本号。30修复xp兼容性问题 迅雷增强工具 v1.0 文件大小：86.4 KB&#12288;文件名称：ThunderEnhanceTool.rar MD5: BD631CD9426FCD565464C0BF831CDCCC SHA1: 7EC70B2AD176B03F53387F38297328A407E9DEA6 CRC32: 0F60D906 绝对绿色软件，100%无病毒，请查看：http://www.virscan.org/ 欢迎反馈建议。 附上dll破解方法，手动打造迅雷VIP会员补丁 1.用16进制编辑器打开迅雷目录下Program文件夹中的XLUser.dll； 2.查找 74 07 B8 04 40 00 80 EB 0F，一直点查找到最后一个； 3.将 74 07 B8 04 40 00 80 EB 0F后面的字节改为B8 01 00 00 00 90 90，保存。]]></description>
			<content:encoded><![CDATA[<p><strong>运行环境：xp/vista/win7</strong><br />
<strong>更新时间：2009年11月30日</strong><br />
支持迅雷至：5.9.15.1274 (2010.01.18更新）<br />
本程序采用aero界面，简单界面，一目了然。<br />
同时可兼容xp，欢迎大家试用。</p>
<p><strong>程序功能：</strong><br />
破解会员　　　登录后，可以使用本地会员的功能，能够去除大部分广告。<br />
专用链支持　　使迅雷可以下载快车和旋风的资源。直接在浏览器中点左键即可。第一次需要允许插件运行。<br />
取消增强　　　如果你的版本不正确导致迅雷出错，你可以恢复。并且移除专用链补丁。<br />
<span id="more-815"></span></p>
<p style="text-align: center;">
<a href="http://www.shuax.com/wp-content/uploads/2009/11/ThunderTools.jpg" class="lightbox"><img class="size-full wp-image-816 aligncenter" title="ThunderTools" src="http://www.shuax.com/wp-content/uploads/2009/11/ThunderTools.jpg" alt="ThunderTools" width="580" height="264" /></a>
</p>
<p><strong>版权说明：</strong><br />
会员破解方法来自于网上，我只是方便大家使用而已。专用链补丁来自ddrmsdos。<br />
<strong>更新信息：</strong><br />
v1.0　开始支持xp，所以也正式一点，推出一个版本号。30修复xp兼容性问题<br />
<div class='download-link'>
							<a href='http://www.shuax.com/download.php?file=http://www.shuax.com/download/ThunderEnhanceTool.rar'><img alt='Download' class='leftalign' src='http://www.shuax.com/wp-content/plugins/dBeautifier/icons/downloads.png' /></a>
							<h4>
								<a href='http://www.shuax.com/download.php?file=http://www.shuax.com/download/ThunderEnhanceTool.rar'>迅雷增强工具 v1.0</a>
							</h4><p>文件大小：86.4 KB&#12288;文件名称：ThunderEnhanceTool.rar</p>
						</div><br />
<strong>MD5: </strong>BD631CD9426FCD565464C0BF831CDCCC<br />
<strong>SHA1: </strong>7EC70B2AD176B03F53387F38297328A407E9DEA6<br />
<strong>CRC32: </strong>0F60D906</p>
<p>绝对绿色软件，100%无病毒，请查看：<a href="http://www.virscan.org/report/836da62f7c5e9b2253020297e11654ef.html">http://www.virscan.org/</a><br />
欢迎反馈建议。</p>
<p>附上dll破解方法，手动打造迅雷VIP会员补丁</p>
<p>1.用16进制编辑器打开迅雷目录下Program文件夹中的XLUser.dll；<br />
2.查找 74 07 B8 04 40 00 80 EB 0F，一直点查找到最后一个；<br />
3.将 74 07 B8 04 40 00 80 EB 0F后面的字节改为B8 01 00 00 00 90 90，保存。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=815</wfw:commentRss>
		<slash:comments>28</slash:comments>
		</item>
		<item>
		<title>文件分割ztsSplit</title>
		<link>http://www.shuax.com/?p=808</link>
		<comments>http://www.shuax.com/?p=808#comments</comments>
		<pubDate>Sat, 14 Nov 2009 02:12:51 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[实用软件]]></category>
		<category><![CDATA[代码]]></category>
		<category><![CDATA[实用]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=808</guid>
		<description><![CDATA[一个简单的文件分割工具…… 当年不会用WinRAR的时候就用的这种东西，也许没啥用。 哦，另外说一句，这个还是开源的。 ztsSplit 文件大小：5.0 KB&#12288;文件名称：ztsSplit.rar ztsSplit 源代码 文件大小：14.0 KB&#12288;文件名称：ztsSplit_src.rar]]></description>
			<content:encoded><![CDATA[<p>一个简单的文件分割工具……</p>
<p>当年不会用WinRAR的时候就用的这种东西，也许没啥用。</p>
<p>哦，另外说一句，这个还是开源的。</p>
<p><span id="more-808"></span></p>
<p><img src="http://www.shuax.com/wp-content/uploads/2009/11/zts.gif" alt="zts" title="zts" width="394" height="227" class="alignnone size-full wp-image-809" /><br />
<div class='download-link'>
							<a href='http://www.shuax.com/download.php?file=http://www.shuax.com/download/ztsSplit.rar'><img alt='Download' class='leftalign' src='http://www.shuax.com/wp-content/plugins/dBeautifier/icons/downloads.png' /></a>
							<h4>
								<a href='http://www.shuax.com/download.php?file=http://www.shuax.com/download/ztsSplit.rar'>ztsSplit</a>
							</h4><p>文件大小：5.0 KB&#12288;文件名称：ztsSplit.rar</p>
						</div><br />
<!--more--><br />
<div class='download-link'>
							<a href='http://www.shuax.com/download.php?file=http://www.shuax.com/download/ztsSplit_src.rar'><img alt='Download' class='leftalign' src='http://www.shuax.com/wp-content/plugins/dBeautifier/icons/downloads.png' /></a>
							<h4>
								<a href='http://www.shuax.com/download.php?file=http://www.shuax.com/download/ztsSplit_src.rar'>ztsSplit 源代码</a>
							</h4><p>文件大小：14.0 KB&#12288;文件名称：ztsSplit_src.rar</p>
						</div></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=808</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[原创]MyEclipse 8 注册机</title>
		<link>http://www.shuax.com/?p=805</link>
		<comments>http://www.shuax.com/?p=805#comments</comments>
		<pubDate>Fri, 13 Nov 2009 00:45:19 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[原创软件]]></category>
		<category><![CDATA[原创]]></category>
		<category><![CDATA[破解]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=805</guid>
		<description><![CDATA[MyEclipse企业级工作平台（MyEclipse Enterprise Workbench ，简称MyEclipse）是对Eclipse IDE的扩展，利用它我们可以在数据库和J2EE的开发、发布，以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的J2EE集成开发环境，包括了完备的编码、调试、测试和发布功能，完整支持HTML, Struts, JSF, CSS, Javascript, SQL, Hibernate。 注册机的代码我是在网上找的，本来是JAVA的，我把它改成C的了。 亲测能够完成MyEclipse8.0的注册。 界面： MyEclipse 8 注册机 文件大小：4.2 KB&#12288;文件名称：MyEclipseKeyGen.rar 我默认的参数如下 Subscriber: shuax Product ID: E3MP (MyEclipse Professional Subscription) License version: 3.0 Full Maintenance Included Subscription expiration date (YYYYMMDD): 20121111(最多3年，超过无效) Number of licenses: 20 网上的JAVA源代码 import java.io.*; public class MyEclipseKeyGen &#123; private static final String LL]]></description>
			<content:encoded><![CDATA[<p>MyEclipse企业级工作平台（MyEclipse Enterprise Workbench ，简称MyEclipse）是对Eclipse IDE的扩展，利用它我们可以在数据库和J2EE的开发、发布，以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的J2EE集成开发环境，包括了完备的编码、调试、测试和发布功能，完整支持HTML, Struts, JSF, CSS, Javascript, SQL, Hibernate。</p>
<p>注册机的代码我是在网上找的，本来是JAVA的，我把它改成C的了。</p>
<p>亲测能够完成MyEclipse8.0的注册。</p>
<p>界面：<br />
<img src="http://www.shuax.com/wp-content/uploads/2009/11/keygen.jpg" alt="keygen" title="keygen" width="371" height="108" class="alignnone size-full wp-image-806" /></p>
<p><span id="more-805"></span><br />
<div class='download-link'>
							<a href='http://www.shuax.com/download.php?file=http://www.shuax.com/download/MyEclipseKeyGen.rar'><img alt='Download' class='leftalign' src='http://www.shuax.com/wp-content/plugins/dBeautifier/icons/downloads.png' /></a>
							<h4>
								<a href='http://www.shuax.com/download.php?file=http://www.shuax.com/download/MyEclipseKeyGen.rar'>MyEclipse 8 注册机</a>
							</h4><p>文件大小：4.2 KB&#12288;文件名称：MyEclipseKeyGen.rar</p>
						</div></p>
<p>我默认的参数如下<br />
Subscriber: shuax<br />
Product ID: E3MP (MyEclipse Professional Subscription)<br />
License version: 3.0<br />
Full Maintenance Included<br />
Subscription expiration date (YYYYMMDD): 20121111(最多3年，超过无效)<br />
Number of licenses: 20</p>
<p>网上的JAVA源代码</p>

<div class="wp_codebox"><table><tr id="p805182"><td class="code" id="p805code182"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.io.*</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> MyEclipseKeyGen <span style="color: #009900;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">private</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000000; font-weight: bold;">final</span> <span style="color: #003399;">String</span> LL <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;Decompiling this copyrighted software is a violation of both your license agreement and the Digital Millenium Copyright Act of 1998 (http://www.loc.gov/copyright/legislation/dmca.pdf). Under section 1204 of the DMCA, penalties range up to a $500,000 fine or up to five years imprisonment for a first offense. Think about it; pay for a license, avoid prosecution, and feel better about yourself.&quot;</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #003399;">String</span> getSerial<span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span> userId, <span style="color: #003399;">String</span> licenseNum<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        java.<span style="color: #006633;">util</span>.<span style="color: #003399;">Calendar</span> cal <span style="color: #339933;">=</span> java.<span style="color: #006633;">util</span>.<span style="color: #003399;">Calendar</span>.<span style="color: #006633;">getInstance</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        cal.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span>, <span style="color: #cc66cc;">3</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        cal.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">6</span>, <span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        java.<span style="color: #006633;">text</span>.<span style="color: #003399;">NumberFormat</span> nf <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> java.<span style="color: #006633;">text</span>.<span style="color: #003399;">DecimalFormat</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;000&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        licenseNum <span style="color: #339933;">=</span> nf.<span style="color: #006633;">format</span><span style="color: #009900;">&#40;</span><span style="color: #003399;">Integer</span>.<span style="color: #006633;">valueOf</span><span style="color: #009900;">&#40;</span>licenseNum<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #003399;">String</span> verTime <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> StringBuilder<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;-&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">append</span><span style="color: #009900;">&#40;</span>
                <span style="color: #000000; font-weight: bold;">new</span> java.<span style="color: #006633;">text</span>.<span style="color: #003399;">SimpleDateFormat</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;yyMMdd&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">format</span><span style="color: #009900;">&#40;</span>cal.<span style="color: #006633;">getTime</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
                .<span style="color: #006633;">append</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;0&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">toString</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #003399;">String</span> type <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;YE3MP-&quot;</span><span style="color: #339933;">;</span>
        <span style="color: #003399;">String</span> need <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> StringBuilder<span style="color: #009900;">&#40;</span>userId.<span style="color: #006633;">substring</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">append</span><span style="color: #009900;">&#40;</span>type<span style="color: #009900;">&#41;</span>
                .<span style="color: #006633;">append</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;300&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">append</span><span style="color: #009900;">&#40;</span>licenseNum<span style="color: #009900;">&#41;</span>.<span style="color: #006633;">append</span><span style="color: #009900;">&#40;</span>verTime<span style="color: #009900;">&#41;</span>.<span style="color: #006633;">toString</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #003399;">String</span> dx <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> StringBuilder<span style="color: #009900;">&#40;</span>need<span style="color: #009900;">&#41;</span>.<span style="color: #006633;">append</span><span style="color: #009900;">&#40;</span>LL<span style="color: #009900;">&#41;</span>.<span style="color: #006633;">append</span><span style="color: #009900;">&#40;</span>userId<span style="color: #009900;">&#41;</span>
                .<span style="color: #006633;">toString</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #000066; font-weight: bold;">int</span> suf <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">decode</span><span style="color: #009900;">&#40;</span>dx<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #003399;">String</span> code <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> StringBuilder<span style="color: #009900;">&#40;</span>need<span style="color: #009900;">&#41;</span>.<span style="color: #006633;">append</span><span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span>.<span style="color: #006633;">valueOf</span><span style="color: #009900;">&#40;</span>suf<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
                .<span style="color: #006633;">toString</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #000000; font-weight: bold;">return</span> <span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">change</span><span style="color: #009900;">&#40;</span>code<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">private</span> <span style="color: #000066; font-weight: bold;">int</span> decode<span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span> s<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000066; font-weight: bold;">int</span> i<span style="color: #339933;">;</span>
        <span style="color: #000066; font-weight: bold;">char</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> ac<span style="color: #339933;">;</span>
        <span style="color: #000066; font-weight: bold;">int</span> j<span style="color: #339933;">;</span>
        <span style="color: #000066; font-weight: bold;">int</span> k<span style="color: #339933;">;</span>
        i <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
        ac <span style="color: #339933;">=</span> s.<span style="color: #006633;">toCharArray</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        j <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
        k <span style="color: #339933;">=</span> ac.<span style="color: #006633;">length</span><span style="color: #339933;">;</span>
        <span style="color: #000000; font-weight: bold;">while</span> <span style="color: #009900;">&#40;</span>j <span style="color: #339933;">&lt;</span> k<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            i <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">31</span> <span style="color: #339933;">*</span> i<span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> ac<span style="color: #009900;">&#91;</span>j<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
            j<span style="color: #339933;">++;</span>
        <span style="color: #009900;">&#125;</span>
        <span style="color: #000000; font-weight: bold;">return</span> <span style="color: #003399;">Math</span>.<span style="color: #006633;">abs</span><span style="color: #009900;">&#40;</span>i<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">private</span> <span style="color: #003399;">String</span> change<span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span> s<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000066; font-weight: bold;">byte</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> abyte0<span style="color: #339933;">;</span>
        <span style="color: #000066; font-weight: bold;">char</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> ac<span style="color: #339933;">;</span>
        <span style="color: #000066; font-weight: bold;">int</span> i<span style="color: #339933;">;</span>
        <span style="color: #000066; font-weight: bold;">int</span> k<span style="color: #339933;">;</span>
        <span style="color: #000066; font-weight: bold;">int</span> j<span style="color: #339933;">;</span>
        abyte0 <span style="color: #339933;">=</span> s.<span style="color: #006633;">getBytes</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        ac <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #000066; font-weight: bold;">char</span><span style="color: #009900;">&#91;</span>s.<span style="color: #006633;">length</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
        i <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
        k <span style="color: #339933;">=</span> abyte0.<span style="color: #006633;">length</span><span style="color: #339933;">;</span>
        <span style="color: #000000; font-weight: bold;">while</span> <span style="color: #009900;">&#40;</span>i <span style="color: #339933;">&lt;</span> k<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            j <span style="color: #339933;">=</span> abyte0<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
            <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>j <span style="color: #339933;">&gt;=</span> <span style="color: #cc66cc;">48</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #009900;">&#40;</span>j <span style="color: #339933;">&lt;=</span> <span style="color: #cc66cc;">57</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                j <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>j <span style="color: #339933;">-</span> <span style="color: #cc66cc;">48</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #cc66cc;">5</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">%</span> <span style="color: #cc66cc;">10</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #cc66cc;">48</span><span style="color: #339933;">;</span>
            <span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">else</span> <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>j <span style="color: #339933;">&gt;=</span> <span style="color: #cc66cc;">65</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #009900;">&#40;</span>j <span style="color: #339933;">&lt;=</span> <span style="color: #cc66cc;">90</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                j <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>j <span style="color: #339933;">-</span> <span style="color: #cc66cc;">65</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #cc66cc;">13</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">%</span> <span style="color: #cc66cc;">26</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #cc66cc;">65</span><span style="color: #339933;">;</span>
            <span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">else</span> <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>j <span style="color: #339933;">&gt;=</span> <span style="color: #cc66cc;">97</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #009900;">&#40;</span>j <span style="color: #339933;">&lt;=</span> <span style="color: #cc66cc;">122</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                j <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>j <span style="color: #339933;">-</span> <span style="color: #cc66cc;">97</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #cc66cc;">13</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">%</span> <span style="color: #cc66cc;">26</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #cc66cc;">97</span><span style="color: #339933;">;</span>
            <span style="color: #009900;">&#125;</span>
            ac<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">char</span><span style="color: #009900;">&#41;</span> j<span style="color: #339933;">;</span>
            i<span style="color: #339933;">++;</span>
        <span style="color: #009900;">&#125;</span>
        <span style="color: #000000; font-weight: bold;">return</span> <span style="color: #003399;">String</span>.<span style="color: #006633;">valueOf</span><span style="color: #009900;">&#40;</span>ac<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">public</span> MyEclipseKeyGen<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000000; font-weight: bold;">super</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">void</span> main<span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> args<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000000; font-weight: bold;">try</span> <span style="color: #009900;">&#123;</span>
            <span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>[***** MyEclipse 7.1 KeyGen *****]&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">print</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Register-Name:&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <span style="color: #003399;">BufferedReader</span> reader <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">BufferedReader</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">InputStreamReader</span><span style="color: #009900;">&#40;</span>
                    <span style="color: #003399;">System</span>.<span style="color: #006633;">in</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <span style="color: #003399;">String</span> userId <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #339933;">;</span>
            userId <span style="color: #339933;">=</span> reader.<span style="color: #006633;">readLine</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            MyEclipseKeyGen myeclipsegen <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> MyEclipseKeyGen<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <span style="color: #003399;">String</span> res <span style="color: #339933;">=</span> myeclipsegen.<span style="color: #006633;">getSerial</span><span style="color: #009900;">&#40;</span>userId, <span style="color: #0000ff;">&quot;20&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Serial-Number:&quot;</span> <span style="color: #339933;">+</span> res<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">print</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>Press Any Key to Exit....&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <span style="color: #003399;">System</span>.<span style="color: #006633;">in</span>.<span style="color: #006633;">read</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">catch</span> <span style="color: #009900;">&#40;</span><span style="color: #003399;">IOException</span> ex<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            <span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span>ex.<span style="color: #006633;">getMessage</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
    <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=805</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>cnBetaNewsReader</title>
		<link>http://www.shuax.com/?p=796</link>
		<comments>http://www.shuax.com/?p=796#comments</comments>
		<pubDate>Thu, 12 Nov 2009 04:07:53 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[实用软件]]></category>
		<category><![CDATA[小巧]]></category>
		<category><![CDATA[软件]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=796</guid>
		<description><![CDATA[来自：http://vistaswx.blogbus.com/logs/38055606.html vIstaswx cnBeta News Reader是一个专门获取cnBeta新闻的工具。 （1）它能够置顶于窗口，可以缩小到托盘（代码没写，因为过于简单所以最后再写）。 （2）它采用GDI+绘制窗口，风格是流行的类vista的半透明玻璃窗口，但是比Vista风格更加漂亮，风格胜过所有同类软件。 （3）它可以每隔30秒读取一次新闻，并且下载新闻时候几乎不占用任何CPU（异步下载）。 （4）它能够自动标出较新的新闻，并且能够进行新闻描述的滚动（新版包含，本版没有）。 技术上的东西： （1）采用GDI+绘制，UpdateLayeredWindow技术。 （2）程序中包含多重渐显代码（渐渐消失），算法比较优。 （3）程序采用GDI+的剪辑技术，滚动描述（在二期里面） （4）VB中的首创的GDI+文本框？（存在一些BUG） （5）GDI+绘制文字等等……（二期修复BUG &#8211; 技术支持：reker(www.imtab.cn)。） （6）强大的更换皮肤功能。 软件截图：]]></description>
			<content:encoded><![CDATA[<p>来自：<a href="http://vistaswx.blogbus.com/logs/38055606.html">http://vistaswx.blogbus.com/logs/38055606.html</a></p>
<p>vIstaswx cnBeta News Reader是一个专门获取cnBeta新闻的工具。</p>
<p>（1）它能够置顶于窗口，可以缩小到托盘（代码没写，因为过于简单所以最后再写）。</p>
<p>（2）它采用GDI+绘制窗口，风格是流行的类vista的半透明玻璃窗口，但是比Vista风格更加漂亮，风格胜过所有同类软件。</p>
<p>（3）它可以每隔30秒读取一次新闻，并且下载新闻时候几乎不占用任何CPU（异步下载）。</p>
<p>（4）它能够自动标出较新的新闻，并且能够进行新闻描述的滚动（新版包含，本版没有）。</p>
<p>技术上的东西：</p>
<p>（1）采用GDI+绘制，UpdateLayeredWindow技术。</p>
<p>（2）程序中包含多重渐显代码（渐渐消失），算法比较优。<br />
<span id="more-796"></span><br />
（3）程序采用GDI+的剪辑技术，滚动描述（在二期里面）</p>
<p>（4）VB中的首创的GDI+文本框？（存在一些BUG）</p>
<p>（5）GDI+绘制文字等等……（二期修复BUG &#8211; 技术支持：reker(www.imtab.cn)。）</p>
<p>（6）强大的更换皮肤功能。</p>
<p>软件截图：</p>
<p><img src="http://www.shuax.com/wp-content/uploads/2009/11/cnbeta.jpg" alt="cnbeta" title="cnbeta" width="291" height="484" class="alignnone size-full wp-image-798" /></p>
<p><img src="http://www.shuax.com/wp-content/uploads/2009/11/viewer.jpg" alt="viewer" title="viewer" width="543" height="295" class="alignnone size-full wp-image-800" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=796</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>H3C 802.1X 客户端 密码算法</title>
		<link>http://www.shuax.com/?p=793</link>
		<comments>http://www.shuax.com/?p=793#comments</comments>
		<pubDate>Wed, 11 Nov 2009 04:08:08 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[C/C++]]></category>
		<category><![CDATA[学校]]></category>
		<category><![CDATA[算法]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=793</guid>
		<description><![CDATA[记得上次我同学把学校的密码给忘记了……汗一个 然后我就是通过的h3c的密码给他找回来的，不过那次用的是星号密码查看器。 这次可以不那样了，正宗的读取密码哦，算法来自我们学校的plainray，他还有感谢renewjoy，感谢zhzhxtrrk。 密码还有账号都存放在&#8221;UserCfg.dat&#8221;中。 具体算法如下： (我从那个linux GUI-H3C-Client里面提取出来的……) #include &#60;stdio.h&#62; int unkey&#91;128&#93; = &#123; 85, 84, 87, 86, 81, 80, 83, 82, 0, 0, 0, 0, 89, 88, 91, 90, /*0-15*/ 69, 68, 71, 70, 65, 64, 67, 66, 77, 76, 79, 78, 73, 72, 75, 74, /*16-31*/ 117,116,119,118,113,112,115,114, 0, 0, 0, 0, 121,120,123,122, /*32-47*/ 101,100,103,102,97,]]></description>
			<content:encoded><![CDATA[<p>记得上次我同学把学校的密码给忘记了……汗一个</p>
<p>然后我就是通过的h3c的密码给他找回来的，不过那次用的是星号密码查看器。</p>
<p>这次可以不那样了，正宗的读取密码哦，算法来自我们学校的plainray，他还有感谢renewjoy，感谢zhzhxtrrk。</p>
<p>密码还有账号都存放在&#8221;UserCfg.dat&#8221;中。</p>
<p>具体算法如下：<br />
(我从那个linux GUI-H3C-Client里面提取出来的……)<br />
<span id="more-793"></span></p>

<div class="wp_codebox"><table><tr id="p793184"><td class="code" id="p793code184"><pre class="cpp" style="font-family:monospace;"><span style="color: #339900;">#include &lt;stdio.h&gt;	</span>
<span style="color: #0000ff;">int</span> unkey<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">128</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #008000;">&#123;</span>
	<span style="color: #0000dd;">85</span>, <span style="color: #0000dd;">84</span>, <span style="color: #0000dd;">87</span>, <span style="color: #0000dd;">86</span>, <span style="color: #0000dd;">81</span>, <span style="color: #0000dd;">80</span>, <span style="color: #0000dd;">83</span>, <span style="color: #0000dd;">82</span>, <span style="color: #0000dd;">0</span>,  <span style="color: #0000dd;">0</span>,  <span style="color: #0000dd;">0</span>,  <span style="color: #0000dd;">0</span>,  <span style="color: #0000dd;">89</span>, <span style="color: #0000dd;">88</span>, <span style="color: #0000dd;">91</span>, <span style="color: #0000dd;">90</span>,	 <span style="color: #ff0000; font-style: italic;">/*0-15*/</span>
	<span style="color: #0000dd;">69</span>, <span style="color: #0000dd;">68</span>, <span style="color: #0000dd;">71</span>, <span style="color: #0000dd;">70</span>, <span style="color: #0000dd;">65</span>, <span style="color: #0000dd;">64</span>, <span style="color: #0000dd;">67</span>, <span style="color: #0000dd;">66</span>, <span style="color: #0000dd;">77</span>, <span style="color: #0000dd;">76</span>, <span style="color: #0000dd;">79</span>, <span style="color: #0000dd;">78</span>, <span style="color: #0000dd;">73</span>, <span style="color: #0000dd;">72</span>, <span style="color: #0000dd;">75</span>, <span style="color: #0000dd;">74</span>,	 <span style="color: #ff0000; font-style: italic;">/*16-31*/</span>
	<span style="color: #0000dd;">117</span>,<span style="color: #0000dd;">116</span>,<span style="color: #0000dd;">119</span>,<span style="color: #0000dd;">118</span>,<span style="color: #0000dd;">113</span>,<span style="color: #0000dd;">112</span>,<span style="color: #0000dd;">115</span>,<span style="color: #0000dd;">114</span>, <span style="color: #0000dd;">0</span>, <span style="color: #0000dd;">0</span>,  <span style="color: #0000dd;">0</span>,  <span style="color: #0000dd;">0</span>,  <span style="color: #0000dd;">121</span>,<span style="color: #0000dd;">120</span>,<span style="color: #0000dd;">123</span>,<span style="color: #0000dd;">122</span>, <span style="color: #ff0000; font-style: italic;">/*32-47*/</span>
	<span style="color: #0000dd;">101</span>,<span style="color: #0000dd;">100</span>,<span style="color: #0000dd;">103</span>,<span style="color: #0000dd;">102</span>,<span style="color: #0000dd;">97</span>, <span style="color: #0000dd;">96</span>, <span style="color: #0000dd;">99</span>, <span style="color: #0000dd;">98</span>, <span style="color: #0000dd;">109</span>,<span style="color: #0000dd;">108</span>,<span style="color: #0000dd;">111</span>,<span style="color: #0000dd;">110</span>,<span style="color: #0000dd;">105</span>,<span style="color: #0000dd;">104</span>,<span style="color: #0000dd;">107</span>,<span style="color: #0000dd;">106</span>, <span style="color: #ff0000; font-style: italic;">/*48-63*/</span>
	<span style="color: #0000dd;">0</span>,  <span style="color: #0000dd;">0</span>,  <span style="color: #0000dd;">0</span>,  <span style="color: #0000dd;">0</span>,  <span style="color: #0000dd;">0</span>,  <span style="color: #0000dd;">0</span>,  <span style="color: #0000dd;">0</span>,  <span style="color: #0000dd;">0</span>,  <span style="color: #0000dd;">0</span>,  <span style="color: #0000dd;">0</span>,  <span style="color: #0000dd;">0</span>,  <span style="color: #0000dd;">0</span>,  <span style="color: #0000dd;">0</span>,  <span style="color: #0000dd;">0</span>,  <span style="color: #0000dd;">0</span>,  <span style="color: #0000dd;">0</span>,	 <span style="color: #ff0000; font-style: italic;">/*64-79*/</span>
	<span style="color: #0000dd;">0</span>,  <span style="color: #0000dd;">0</span>,  <span style="color: #0000dd;">0</span>,  <span style="color: #0000dd;">0</span>,  <span style="color: #0000dd;">0</span>,  <span style="color: #0000dd;">0</span>,  <span style="color: #0000dd;">0</span>,  <span style="color: #0000dd;">0</span>,  <span style="color: #0000dd;">0</span>,  <span style="color: #0000dd;">0</span>,  <span style="color: #0000dd;">0</span>,  <span style="color: #0000dd;">0</span>,  <span style="color: #0000dd;">0</span>,  <span style="color: #0000dd;">0</span>,  <span style="color: #0000dd;">0</span>,  <span style="color: #0000dd;">0</span>,	 <span style="color: #ff0000; font-style: italic;">/*80-95*/</span>
	<span style="color: #0000dd;">53</span>, <span style="color: #0000dd;">52</span>, <span style="color: #0000dd;">55</span>, <span style="color: #0000dd;">54</span>, <span style="color: #0000dd;">49</span>, <span style="color: #0000dd;">48</span>, <span style="color: #0000dd;">51</span>, <span style="color: #0000dd;">50</span>, <span style="color: #0000dd;">0</span>,  <span style="color: #0000dd;">0</span>,  <span style="color: #0000dd;">0</span>,  <span style="color: #0000dd;">0</span>,  <span style="color: #0000dd;">57</span>, <span style="color: #0000dd;">56</span>, <span style="color: #0000dd;">59</span>, <span style="color: #0000dd;">58</span>,	 <span style="color: #ff0000; font-style: italic;">/*96-111*/</span>
	<span style="color: #0000dd;">0</span>,  <span style="color: #0000dd;">0</span>,  <span style="color: #0000dd;">0</span>,  <span style="color: #0000dd;">0</span>,  <span style="color: #0000dd;">0</span>,  <span style="color: #0000dd;">0</span>,  <span style="color: #0000dd;">0</span>,  <span style="color: #0000dd;">0</span>,  <span style="color: #0000dd;">0</span>,  <span style="color: #0000dd;">0</span>,  <span style="color: #0000dd;">0</span>,  <span style="color: #0000dd;">0</span>,  <span style="color: #0000dd;">0</span>,  <span style="color: #0000dd;">0</span>,  <span style="color: #0000dd;">0</span>,  <span style="color: #0000dd;">0</span>	 <span style="color: #ff0000; font-style: italic;">/*112-127*/</span>
<span style="color: #008000;">&#125;</span><span style="color: #008080;">;</span>
&nbsp;
<span style="color: #0000ff;">int</span> main<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
    <span style="color: #0000ff;">FILE</span> <span style="color: #000040;">*</span>fp<span style="color: #008080;">;</span>
    fp<span style="color: #000080;">=</span><span style="color: #0000dd;">fopen</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;UserCfg.dat&quot;</span>,<span style="color: #FF0000;">&quot;rb&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
&nbsp;
    <span style="color: #0000ff;">char</span> username<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">512</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
    <span style="color: #0000ff;">char</span> transedPassword<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">512</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
    <span style="color: #0000ff;">char</span> netcard<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">512</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
    <span style="color: #0000ff;">char</span> password<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">512</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
    <span style="color: #0000ff;">int</span> i<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">for</span><span style="color: #008000;">&#40;</span>i <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span> i <span style="color: #000080;">&lt;</span> <span style="color: #0000dd;">129</span><span style="color: #008080;">;</span> i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span> username<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #0000dd;">fgetc</span><span style="color: #008000;">&#40;</span>fp<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">for</span><span style="color: #008000;">&#40;</span>i <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span> i <span style="color: #000080;">&lt;</span> <span style="color: #0000dd;">65</span><span style="color: #008080;">;</span> i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span> transedPassword<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #0000dd;">fgetc</span><span style="color: #008000;">&#40;</span>fp<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">for</span><span style="color: #008000;">&#40;</span>i <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span> i <span style="color: #000080;">&lt;</span> <span style="color: #0000dd;">65</span><span style="color: #008080;">;</span> i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span> netcard<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #0000dd;">fgetc</span><span style="color: #008000;">&#40;</span>fp<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #0000ff;">for</span><span style="color: #008000;">&#40;</span>i <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span> i <span style="color: #000080;">&lt;</span> <span style="color: #0000dd;">64</span><span style="color: #008080;">;</span> i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span>
		password<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> unkey<span style="color: #008000;">&#91;</span><span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span><span style="color: #008000;">&#41;</span>transedPassword<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	password<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">64</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #FF0000;">'<span style="color: #006699; font-weight: bold;">\0</span>'</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">fclose</span><span style="color: #008000;">&#40;</span>fp<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;账号：%s<span style="color: #000099; font-weight: bold;">\n</span>密码：%s<span style="color: #000099; font-weight: bold;">\n</span>网卡：%s&quot;</span>,username,password,netcard<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">getchar</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></td></tr></table></div>

<p>这个是我写的读取密码……<br />
我承认，我写的没他们的好。<br />
怎么把密码加密似乎就不用了吧，需要的同学自己去搜索吧。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=793</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>自定义windows7评分指数</title>
		<link>http://www.shuax.com/?p=780</link>
		<comments>http://www.shuax.com/?p=780#comments</comments>
		<pubDate>Tue, 10 Nov 2009 12:22:44 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[DIY]]></category>
		<category><![CDATA[WIN7]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=780</guid>
		<description><![CDATA[这个么…… 没啥意思，纯粹的自欺欺人。 不过你也许能看见更多的详细信息？ 首先打开文件夹路径如下： C:\Windows\Performance\WinSAT\DataStore 其中的C盘么……就视自己而定啦。 里面有很多个类似于这样的xml文件，前面是日期，你可以不考虑 2009-11-10 19.44.19.725 Formal.Assessment (Initial).WinSAT.xml 不过只有这个文件是最大的，147kb左右？ 其中有一段 &#60;SystemScore&#62;7.9&#60;/SystemScore&#62;&#60;MemoryScore&#62;7.9&#60;/MemoryScore&#62;&#60;CpuScore&#62;7.9&#60;/CpuScore&#62;&#60;CPUSubAggScore&#62;7.9&#60;/CPUSubAggScore&#62;&#60;VideoEncodeScore&#62;7.9&#60;/VideoEncodeScore&#62;&#60;GraphicsScore&#62;7.9&#60;/GraphicsScore&#62;&#60;Dx9SubScore&#62;7.9&#60;/Dx9SubScore&#62;&#60;Dx10SubScore&#62;7.9&#60;/Dx10SubScore&#62;&#60;GamingScore&#62;7.9&#60;/GamingScore&#62;&#60;StdDefPlaybackScore&#62;TRUE&#60;/StdDefPlaybackScore&#62;&#60;HighDefPlaybackScore&#62;TRUE&#60;/HighDefPlaybackScore&#62;&#60;DiskScore&#62;7.9&#60;/DiskScore&#62; Score标签里的分数就随便你改啦，不过最多只有7.9，再多，你查看评分的时候就会显示不可用了。]]></description>
			<content:encoded><![CDATA[<p>这个么……<br />
没啥意思，纯粹的自欺欺人。<br />
不过你也许能看见更多的详细信息？</p>
<p>首先打开文件夹路径如下：</p>
<blockquote><p>C:\Windows\Performance\WinSAT\DataStore</p></blockquote>
<p>其中的C盘么……就视自己而定啦。</p>
<p>里面有很多个类似于这样的xml文件，前面是日期，你可以不考虑</p>
<blockquote><p>2009-11-10 19.44.19.725 Formal.Assessment (Initial).WinSAT.xml</p></blockquote>
<p>不过只有这个文件是最大的，147kb左右？</p>
<p>其中有一段</p>

<div class="wp_codebox"><table><tr id="p780186"><td class="code" id="p780code186"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;SystemScore<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>7.9<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/SystemScore<span style="color: #000000; font-weight: bold;">&gt;</span></span><span style="color: #000000; font-weight: bold;">&lt;MemoryScore<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>7.9<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/MemoryScore<span style="color: #000000; font-weight: bold;">&gt;</span></span><span style="color: #000000; font-weight: bold;">&lt;CpuScore<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>7.9<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/CpuScore<span style="color: #000000; font-weight: bold;">&gt;</span></span><span style="color: #000000; font-weight: bold;">&lt;CPUSubAggScore<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>7.9<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/CPUSubAggScore<span style="color: #000000; font-weight: bold;">&gt;</span></span><span style="color: #000000; font-weight: bold;">&lt;VideoEncodeScore<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>7.9<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/VideoEncodeScore<span style="color: #000000; font-weight: bold;">&gt;</span></span><span style="color: #000000; font-weight: bold;">&lt;GraphicsScore<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>7.9<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/GraphicsScore<span style="color: #000000; font-weight: bold;">&gt;</span></span><span style="color: #000000; font-weight: bold;">&lt;Dx9SubScore<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>7.9<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Dx9SubScore<span style="color: #000000; font-weight: bold;">&gt;</span></span><span style="color: #000000; font-weight: bold;">&lt;Dx10SubScore<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>7.9<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Dx10SubScore<span style="color: #000000; font-weight: bold;">&gt;</span></span><span style="color: #000000; font-weight: bold;">&lt;GamingScore<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>7.9<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/GamingScore<span style="color: #000000; font-weight: bold;">&gt;</span></span><span style="color: #000000; font-weight: bold;">&lt;StdDefPlaybackScore<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>TRUE<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/StdDefPlaybackScore<span style="color: #000000; font-weight: bold;">&gt;</span></span><span style="color: #000000; font-weight: bold;">&lt;HighDefPlaybackScore<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>TRUE<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/HighDefPlaybackScore<span style="color: #000000; font-weight: bold;">&gt;</span></span><span style="color: #000000; font-weight: bold;">&lt;DiskScore<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>7.9<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/DiskScore<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></td></tr></table></div>

<p>Score标签里的分数就随便你改啦，不过最多只有7.9，再多，你查看评分的时候就会显示不可用了。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=780</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>破解QQ中转站限制</title>
		<link>http://www.shuax.com/?p=771</link>
		<comments>http://www.shuax.com/?p=771#comments</comments>
		<pubDate>Tue, 10 Nov 2009 00:04:14 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[DIY]]></category>
		<category><![CDATA[QQ]]></category>
		<category><![CDATA[破解]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=771</guid>
		<description><![CDATA[QQ邮箱中转站还是挺好用的，可惜限制有点大，当我们在点击QQ中转站转发过来的超大附件文件时，出现“公开传播下载已满7次，不能进行下载。此文件并不是您通过QQ邮箱接收到的，在此不享有“超大附件”的下载保护”。 你郁闷嘛吗？其实不用的，很简单就能破解。 首先，在页面点右键，“查看源文件” 搜索“?uin”然后紧挨着的一串数字就是上传者的号码啦。 然后我们就模拟上传者的cookies，刷新后就能随意下载了。 代码如下： javascript:var url=/mail.qq.com/;if(!url.exec(location.host)){top.window.location='http://mail.qq.com';Break;}function crack(){document.cookie='username=369339353;domain=.qq.com;path=/;expires='+(new Date((new Date()).getTime()+10000)).toUTCString();window.location.reload();}crack(); 将&#8221;username=&#8221;后面的数字替换为你搜索到的号码，然后把这整个一串代码复制到地址栏，回车。 如果页面没有自动刷新，你自己刷新一下就好了。稍等几秒，你就能下载了，快去试试吧。 上面的代码能够使用在我上传的资源上。 放心的是，此代码生效时间只有10秒，不会太影响你其它东西的使用。]]></description>
			<content:encoded><![CDATA[<p>QQ邮箱中转站还是挺好用的，可惜限制有点大，当我们在点击QQ中转站转发过来的超大附件文件时，出现“公开传播下载已满7次，不能进行下载。此文件并不是您通过QQ邮箱接收到的，在此不享有“超大附件”的下载保护”。</p>
<p>你郁闷嘛吗？其实不用的，很简单就能破解。</p>
<p>首先，在页面点右键，“查看源文件”</p>
<p>搜索“?uin”然后紧挨着的一串数字就是上传者的号码啦。</p>
<p>然后我们就模拟上传者的cookies，刷新后就能随意下载了。</p>
<p>代码如下：</p>
<pre>
javascript:var url=/mail.qq.com/;if(!url.exec(location.host)){top.window.location='http://mail.qq.com';Break;}function crack(){document.cookie='username=369339353;domain=.qq.com;path=/;expires='+(new Date((new Date()).getTime()+10000)).toUTCString();window.location.reload();}crack();
</pre>
<p>将&#8221;username=&#8221;后面的数字替换为你搜索到的号码，然后把这整个一串代码复制到地址栏，回车。<br />
如果页面没有自动刷新，你自己刷新一下就好了。稍等几秒，你就能下载了，快去试试吧。</p>
<p>上面的代码能够使用在我上传的资源上。</p>
<p>放心的是，此代码生效时间只有10秒，不会太影响你其它东西的使用。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=771</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>[原创]Windows7分辨率破解</title>
		<link>http://www.shuax.com/?p=767</link>
		<comments>http://www.shuax.com/?p=767#comments</comments>
		<pubDate>Mon, 09 Nov 2009 12:57:58 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[原创软件]]></category>
		<category><![CDATA[WIN7]]></category>
		<category><![CDATA[原创]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=767</guid>
		<description><![CDATA[大家安装了windows7之后，打开游戏，相信很多人都会发现屏幕有黑边了吧？比如CF穿越火线？ 估计这是微软为了我们的视力健康呢…… 其实我倒是比较喜欢这种设计，不会再费力的看拉伸后的屏幕了。 不过肯定也有人不喜欢这种设计的，所以我就做了这个小软件。 点击破解以后，运行游戏的时候屏幕就会被拉伸啦，不再有难看的黑边…… 哎呀，原来显卡驱动自带设置的啊，我错了，我回去面壁思过，大家无视这个就是了。 windows7分辨率破解 文件大小：9.0 KB&#12288;文件名称：win7Resolution.rar]]></description>
			<content:encoded><![CDATA[<p>大家安装了windows7之后，打开游戏，相信很多人都会发现屏幕有黑边了吧？比如CF穿越火线？<br />
估计这是微软为了我们的视力健康呢……<br />
其实我倒是比较喜欢这种设计，不会再费力的看拉伸后的屏幕了。<br />
不过肯定也有人不喜欢这种设计的，所以我就做了这个小软件。<br />
点击破解以后，运行游戏的时候屏幕就会被拉伸啦，不再有难看的黑边……<br />
<span id="more-767"></span><br />
<img src="http://www.shuax.com/wp-content/uploads/2009/11/win7.jpg" alt="win7" title="win7" width="559" height="239" class="alignnone size-full wp-image-768" /></p>
<p>哎呀，原来显卡驱动自带设置的啊，我错了，我回去面壁思过，大家无视这个就是了。</p>
<p><div class='download-link'>
							<a href='http://www.shuax.com/download.php?file=http://www.shuax.com/download/win7Resolution.rar'><img alt='Download' class='leftalign' src='http://www.shuax.com/wp-content/plugins/dBeautifier/icons/downloads.png' /></a>
							<h4>
								<a href='http://www.shuax.com/download.php?file=http://www.shuax.com/download/win7Resolution.rar'>windows7分辨率破解</a>
							</h4><p>文件大小：9.0 KB&#12288;文件名称：win7Resolution.rar</p>
						</div></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=767</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>感优喷剂</title>
		<link>http://www.shuax.com/?p=763</link>
		<comments>http://www.shuax.com/?p=763#comments</comments>
		<pubDate>Mon, 09 Nov 2009 11:27:41 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[我的生活]]></category>
		<category><![CDATA[学校]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=763</guid>
		<description><![CDATA[哇咔咔，学生会的来发药品啦。 功效看起来很强大。 感优喷剂，一种高科技产品，“防治感冒的喷剂”，已获中国医药生物发明审查部审批。 证书号：第191576号，专利号：ZL 01 128875.2， 国际专利分类号：A61K 35/78。 作用：A.杀灭流感病毒 B 维护口腔卫生 C 防控皮肤感染 [成 分] 氯已定0.3%及中草药萃取物。 [用 途] 内喷口腔：防控上呼吸道感染及维护口腔卫生。 外喷皮肤：防控皮肤感染及蚊虫叮咬。 [适 用] 1> 流感流行期，感冒初期，季节变换时，与户外通风换气较差的人群； 2> 不愿或不能用感冒药的孕妇、儿童、老人及某些原因需慎用感冒药的人群； 3> 当受凉、疲劳、呼吸道局部病变会使人的抗病能力减退而易感冒的人群； 4> 口腔溃疡、口腔异味 或 需口腔卫生的人群； 5> 防蚊虫叮咬，皮肤发痒，与病人接触、皮肤感染等均可喷用。 [用 法] 内喷口腔： 喷于口腔，每3-4小时喷一次，每次喷2-5下，也可用棉球粘药液涂抹鼻腔。 外喷皮肤：直接喷于患处，使患处湿润即可。 [原 理] 急性上呼吸道感染多数由病毒引起，约占70%&#8211;80%。病毒路经鼻腔或口腔着床于人的扁桃体粘膜上，一般潜伏期1—3天，有时数小时。在扁桃体粘膜上寄生、繁殖、增生，从而引起扁桃体发炎，出现感冒初期症状，并继发细菌感染。如不及时杀灭病毒，其病毒会向下呼吸道漫延累及全身其他脏器。若在“潜伏期”，或在“有潜在病毒威胁时” 应即时喷用感优（喷用时间越早越好），就能快速将病毒杀灭在萌芽期，防止感冒杀灭病毒是关键。 [效 果] 感优经华西医大公卫检测：“对甲1型流感病毒（A1／京防95-262）在10分钟内可完全杀灭。”对常见致病菌：如金黄色葡萄菌、大肠杆菌、白色念珠菌在2分钟内杀灭率大于99%。感优经成都市第一人民医院对30例病例 按《中药新药临床研究指导原则》作了长期临床观查：“防治感冒的显效率和有效率分别为63.33%和86.67%” 结论：“防治感冒，疗效确切，为防治感冒提供了一种新的选择”。在外用时，感优对常见致病菌均有较强杀灭作用。 [毒 理] 感优经四川省疾控中心和四川大学华西公卫等权威部门检测：对小鼠急性经口LD50>10.0g/kg；对家兔眼睛、皮肤的刺激性试验：积分指数为0。用氯已定对大白鼠、猴子进行毒理试验：用0.5%溶液代替饮用水，连续喂养两年（大白鼠连续数代）无异常发现。氯已定难为人体吸收，人每天服2克，连续一周无中毒现象。结果表明：感优喷剂属“实际无毒级”，使用安全可靠。 [规 格] 19ml/瓶，每瓶可喷250余下。 [性]]></description>
			<content:encoded><![CDATA[<p>哇咔咔，学生会的来发药品啦。</p>
<p>功效看起来很强大。</p>
<p>感优喷剂，一种高科技产品，“防治感冒的喷剂”，已获中国医药生物发明审查部审批。<br />
证书号：第191576号，专利号：ZL 01 128875.2， 国际专利分类号：A61K 35/78。</p>
<p>作用：A.杀灭流感病毒 B 维护口腔卫生 C 防控皮肤感染</p>
<p>[成 分] 氯已定0.3%及中草药萃取物。</p>
<p>[用 途]</p>
<p>内喷口腔：防控上呼吸道感染及维护口腔卫生。<br />
外喷皮肤：防控皮肤感染及蚊虫叮咬。 </p>
<p><span id="more-763"></span><br />
[适 用]</p>
<p>1> 流感流行期，感冒初期，季节变换时，与户外通风换气较差的人群；<br />
2> 不愿或不能用感冒药的孕妇、儿童、老人及某些原因需慎用感冒药的人群；<br />
3> 当受凉、疲劳、呼吸道局部病变会使人的抗病能力减退而易感冒的人群；<br />
4> 口腔溃疡、口腔异味 或 需口腔卫生的人群；<br />
5> 防蚊虫叮咬，皮肤发痒，与病人接触、皮肤感染等均可喷用。 </p>
<p>[用 法] </p>
<p>内喷口腔： 喷于口腔，每3-4小时喷一次，每次喷2-5下，也可用棉球粘药液涂抹鼻腔。<br />
外喷皮肤：直接喷于患处，使患处湿润即可。 </p>
<p>[原 理] </p>
<p>    急性上呼吸道感染多数由病毒引起，约占70%&#8211;80%。病毒路经鼻腔或口腔着床于人的扁桃体粘膜上，一般潜伏期1—3天，有时数小时。在扁桃体粘膜上寄生、繁殖、增生，从而引起扁桃体发炎，出现感冒初期症状，并继发细菌感染。如不及时杀灭病毒，其病毒会向下呼吸道漫延累及全身其他脏器。若在“潜伏期”，或在“有潜在病毒威胁时” 应即时喷用感优（喷用时间越早越好），就能快速将病毒杀灭在萌芽期，防止感冒杀灭病毒是关键。</p>
<p>[效 果] </p>
<p>    感优经华西医大公卫检测：“对甲1型流感病毒（A1／京防95-262）在10分钟内可完全杀灭。”对常见致病菌：如金黄色葡萄菌、大肠杆菌、白色念珠菌在2分钟内杀灭率大于99%。感优经成都市第一人民医院对30例病例 按《中药新药临床研究指导原则》作了长期临床观查：“防治感冒的显效率和有效率分别为63.33%和86.67%” 结论：“防治感冒，疗效确切，为防治感冒提供了一种新的选择”。在外用时，感优对常见致病菌均有较强杀灭作用。</p>
<p>[毒 理] </p>
<p>    感优经四川省疾控中心和四川大学华西公卫等权威部门检测：对小鼠急性经口LD50>10.0g/kg；对家兔眼睛、皮肤的刺激性试验：积分指数为0。用氯已定对大白鼠、猴子进行毒理试验：用0.5%溶液代替饮用水，连续喂养两年（大白鼠连续数代）无异常发现。氯已定难为人体吸收，人每天服2克，连续一周无中毒现象。结果表明：感优喷剂属“实际无毒级”，使用安全可靠。</p>
<p>[规 格] 19ml/瓶，每瓶可喷250余下。</p>
<p>[性 状] 透明液体，微苦带甜，口感清凉。 </p>
<p>[注 意] 两岁以下儿童在医生指导下使用。勿与其它药物混喷。对本品过敏者勿用。请勿沾于眼中。常温保存，有效期二年。</p>
<p>● 中国医药生物发明审查部审批 证书号：第191576号<br />
● 卫生部卫监发 (华西医科大学公卫检验报告)(90)第26号<br />
● 四川大学华西公卫分析测试中心：XD200702302号<br />
● 川疾（消）检字（2007）0252号<br />
● 卫生许可证号：川卫消证字[2007] 第038 号<br />
● 执行标准号: Q/20201402-1.3-2001<br />
● 成都通安生化保健有限责任公司 电话：028-86664884</p>
<p>另外后面还有行字：感优喷剂可似碘酒一样外用。还可用于蚊虫叮咬后的止痛止痒。</p>
<p>我艹，真是太强大啦，实在是居家旅行,杀人灭口,必备良药!  </p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=763</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>数据结构：二叉树</title>
		<link>http://www.shuax.com/?p=752</link>
		<comments>http://www.shuax.com/?p=752#comments</comments>
		<pubDate>Sun, 08 Nov 2009 12:53:31 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[程序开发]]></category>
		<category><![CDATA[数据结构]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=752</guid>
		<description><![CDATA[1．编写程序任意输入二叉树的结点个数和结点值，构造一棵二叉树，采用三种递归遍 历算法(前序、中序、后序)对这棵二叉树进行遍历并计算出二叉树的高度。 2．编写程序生成下面所示的二叉树，并采用中序遍历的非递归算法对此二叉树进行遍 历 注意输入方式，比如这个应该输入：12##346###5## /*二叉树的基本操作*/ /*舒俊杰 2009年11月8日*/ //www.shuax.com &#160; #include &#60;stdio.h&#62; #include &#60;stdlib.h&#62; #include &#60;conio.h&#62; &#160; #define FALSE -1 #define OK 1 #define ERROR -1 #define OVERFLOW -2 &#160; typedef int Status; typedef char TElemType; &#160; typedef struct BiTNode &#123; TElemType data; struct BiTNode *lchild, *rchild; &#125; BiTNode, *BiTree; &#160; Status PrintElement&#40; TElemType e]]></description>
			<content:encoded><![CDATA[<p>1．编写程序任意输入二叉树的结点个数和结点值，构造一棵二叉树，采用三种递归遍<br />
历算法(前序、中序、后序)对这棵二叉树进行遍历并计算出二叉树的高度。<br />
2．编写程序生成下面所示的二叉树，并采用中序遍历的非递归算法对此二叉树进行遍<br />
历<br />
<img src="http://www.shuax.com/wp-content/uploads/2009/11/tree.jpg" alt="tree" title="tree" width="164" height="213" class="alignnone size-full wp-image-753" /><br />
注意输入方式，比如这个应该输入：12##346###5##<br />
<span id="more-752"></span></p>

<div class="wp_codebox"><table><tr id="p752189"><td class="code" id="p752code189"><pre class="cpp" style="font-family:monospace;"><span style="color: #ff0000; font-style: italic;">/*二叉树的基本操作*/</span>
<span style="color: #ff0000; font-style: italic;">/*舒俊杰 2009年11月8日*/</span>
<span style="color: #666666;">//www.shuax.com</span>
&nbsp;
<span style="color: #339900;">#include &lt;stdio.h&gt;</span>
<span style="color: #339900;">#include &lt;stdlib.h&gt;</span>
<span style="color: #339900;">#include &lt;conio.h&gt;</span>
&nbsp;
<span style="color: #339900;">#define FALSE -1</span>
<span style="color: #339900;">#define OK 1</span>
<span style="color: #339900;">#define ERROR -1</span>
<span style="color: #339900;">#define OVERFLOW -2</span>
&nbsp;
<span style="color: #0000ff;">typedef</span> <span style="color: #0000ff;">int</span> Status<span style="color: #008080;">;</span>
<span style="color: #0000ff;">typedef</span> <span style="color: #0000ff;">char</span> TElemType<span style="color: #008080;">;</span>
&nbsp;
<span style="color: #0000ff;">typedef</span> <span style="color: #0000ff;">struct</span> BiTNode
<span style="color: #008000;">&#123;</span>
	TElemType data<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">struct</span> BiTNode <span style="color: #000040;">*</span>lchild, <span style="color: #000040;">*</span>rchild<span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
BiTNode, <span style="color: #000040;">*</span>BiTree<span style="color: #008080;">;</span>
&nbsp;
Status PrintElement<span style="color: #008000;">&#40;</span> TElemType e <span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #666666;">// 输出元素e的值</span>
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%c&quot;</span>, e <span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">return</span> OK<span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
<span style="color: #0000ff;">int</span> max<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> m, <span style="color: #0000ff;">int</span> n<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>m <span style="color: #000080;">&gt;</span> n<span style="color: #008000;">&#41;</span>
		<span style="color: #0000ff;">return</span> m<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">else</span>
		<span style="color: #0000ff;">return</span> n<span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
<span style="color: #0000ff;">int</span> TreeHeight<span style="color: #008000;">&#40;</span>BiTree T<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #666666;">// 获取二叉树的高度</span>
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>T <span style="color: #000080;">==</span> <span style="color: #0000ff;">NULL</span><span style="color: #008000;">&#41;</span>
		<span style="color: #0000ff;">return</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">else</span>
		<span style="color: #0000ff;">return</span> <span style="color: #0000dd;">1</span> <span style="color: #000040;">+</span> max<span style="color: #008000;">&#40;</span>TreeHeight<span style="color: #008000;">&#40;</span>T<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>lchild<span style="color: #008000;">&#41;</span>, TreeHeight<span style="color: #008000;">&#40;</span>T<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>rchild<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
Status PreOrderTraverse<span style="color: #008000;">&#40;</span> BiTree T, Status<span style="color: #008000;">&#40;</span><span style="color: #000040;">*</span>Visit<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#40;</span>TElemType<span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #666666;">// 前序遍历二叉树T</span>
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>T<span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>Visit<span style="color: #008000;">&#40;</span>T<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>data<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span>
			<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>PreOrderTraverse<span style="color: #008000;">&#40;</span>T<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>lchild, Visit<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span>
				<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>PreOrderTraverse<span style="color: #008000;">&#40;</span>T<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>rchild, Visit<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span> <span style="color: #0000ff;">return</span> OK<span style="color: #008080;">;</span>
		<span style="color: #0000ff;">return</span> ERROR<span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000ff;">else</span> <span style="color: #0000ff;">return</span> OK<span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
Status InOrderTraverse<span style="color: #008000;">&#40;</span> BiTree T, Status<span style="color: #008000;">&#40;</span><span style="color: #000040;">*</span>Visit<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#40;</span>TElemType<span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #666666;">// 中序遍历二叉树T</span>
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>T<span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>InOrderTraverse<span style="color: #008000;">&#40;</span>T<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>lchild, Visit<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span>
			<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>Visit<span style="color: #008000;">&#40;</span>T<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>data<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span>
				<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>InOrderTraverse<span style="color: #008000;">&#40;</span>T<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>rchild, Visit<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span> <span style="color: #0000ff;">return</span> OK<span style="color: #008080;">;</span>
		<span style="color: #0000ff;">return</span> ERROR<span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000ff;">else</span> <span style="color: #0000ff;">return</span> OK<span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
Status PostOrderTraverse<span style="color: #008000;">&#40;</span>BiTree T, Status <span style="color: #008000;">&#40;</span><span style="color: #000040;">*</span>Visit<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#40;</span>TElemType<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #666666;">// 后序遍历二叉树T</span>
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>T<span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>PostOrderTraverse<span style="color: #008000;">&#40;</span>T<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>lchild, Visit<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span>
			<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>PostOrderTraverse<span style="color: #008000;">&#40;</span>T<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>rchild, Visit<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span>
				<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>Visit<span style="color: #008000;">&#40;</span>T<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>data<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span> <span style="color: #0000ff;">return</span> OK<span style="color: #008080;">;</span>
		<span style="color: #0000ff;">return</span> ERROR<span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000ff;">else</span> <span style="color: #0000ff;">return</span> OK<span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
BiTree CreateBiTree<span style="color: #008000;">&#40;</span>BiTree <span style="color: #000040;">&amp;</span>T<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #666666;">// 按先序次序输入二叉树中结点的值（一个字符），空格字符表示空树，</span>
	<span style="color: #666666;">// 构造二叉链表表示的二叉树T。</span>
	TElemType ch<span style="color: #008080;">;</span>
	<span style="color: #0000dd;">scanf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%c&quot;</span>, <span style="color: #000040;">&amp;</span>ch<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>ch <span style="color: #000080;">==</span> <span style="color: #FF0000;">'#'</span><span style="color: #008000;">&#41;</span> T <span style="color: #000080;">=</span> <span style="color: #0000ff;">NULL</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">else</span>
	<span style="color: #008000;">&#123;</span>
		T <span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span>BiTNode <span style="color: #000040;">*</span><span style="color: #008000;">&#41;</span><span style="color: #0000dd;">malloc</span><span style="color: #008000;">&#40;</span><span style="color: #0000dd;">sizeof</span><span style="color: #008000;">&#40;</span>BiTNode<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		T<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>data <span style="color: #000080;">=</span> ch<span style="color: #008080;">;</span>              <span style="color: #666666;">// 生成根结点</span>
		CreateBiTree<span style="color: #008000;">&#40;</span>T<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>lchild<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>   <span style="color: #666666;">// 构造左子树</span>
		CreateBiTree<span style="color: #008000;">&#40;</span>T<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>rchild<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>   <span style="color: #666666;">// 构造右子树</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000ff;">return</span> T<span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
<span style="color: #0000ff;">void</span> menu<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>* * * * * * * * * * * * * * * * * * * * * * * * * *<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;  1 ------- 前序遍历<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;  2 ------- 中序遍历<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;  3 ------- 后序遍历<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;  4 ------- 求树的高度<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;  5 ------- 退出<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;* * * * * * * * * * * * * * * * * * * * * * * * * *<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">void</span> menuselect<span style="color: #008000;">&#40;</span>BiTree T<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">int</span> k, done <span style="color: #000080;">=</span> <span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">while</span> <span style="color: #008000;">&#40;</span>done<span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		menu<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;请选择一个功能: &quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">scanf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%d&quot;</span>, <span style="color: #000040;">&amp;</span>k<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">getchar</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">switch</span> <span style="color: #008000;">&#40;</span>k<span style="color: #008000;">&#41;</span>
		<span style="color: #008000;">&#123;</span>
		<span style="color: #0000ff;">case</span> <span style="color: #0000dd;">1</span><span style="color: #008080;">:</span> PreOrderTraverse<span style="color: #008000;">&#40;</span>T, PrintElement<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span> <span style="color: #0000ff;">break</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">case</span> <span style="color: #0000dd;">2</span><span style="color: #008080;">:</span> InOrderTraverse<span style="color: #008000;">&#40;</span>T, PrintElement<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span> <span style="color: #0000ff;">break</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">case</span> <span style="color: #0000dd;">3</span><span style="color: #008080;">:</span> PostOrderTraverse<span style="color: #008000;">&#40;</span>T, PrintElement<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span> <span style="color: #0000ff;">break</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">case</span> <span style="color: #0000dd;">4</span><span style="color: #008080;">:</span> <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;树的高度为：%d<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span>, TreeHeight<span style="color: #008000;">&#40;</span>T<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span> <span style="color: #0000ff;">break</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">case</span> <span style="color: #0000dd;">5</span><span style="color: #008080;">:</span> done <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
		<span style="color: #008000;">&#125;</span>
	<span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
<span style="color: #0000ff;">int</span> main<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	BiTree T<span style="color: #008080;">;</span>
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;请输入一个前序的二叉树：<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	CreateBiTree<span style="color: #008000;">&#40;</span>T<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	menuselect<span style="color: #008000;">&#40;</span>T<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">return</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></td></tr></table></div>

<p>非递归中序遍历，需要栈的操作。</p>

<div class="wp_codebox"><table><tr id="p752190"><td class="code" id="p752code190"><pre class="cpp" style="font-family:monospace;"><span style="color: #ff0000; font-style: italic;">/*二叉树的非递归遍历作*/</span>
<span style="color: #ff0000; font-style: italic;">/*舒俊杰 2009年11月8日*/</span>
<span style="color: #666666;">//www.shuax.com</span>
&nbsp;
<span style="color: #339900;">#include &lt;stdio.h&gt;</span>
<span style="color: #339900;">#include &lt;stdlib.h&gt;</span>
<span style="color: #339900;">#include &lt;conio.h&gt;</span>
&nbsp;
<span style="color: #339900;">#define FALSE -1</span>
<span style="color: #339900;">#define OK 1</span>
<span style="color: #339900;">#define ERROR -1</span>
<span style="color: #339900;">#define OVERFLOW -2</span>
&nbsp;
<span style="color: #339900;">#define STACK_INIT_SIZE 100</span>
<span style="color: #339900;">#define STACKINCREMENT 10</span>
<span style="color: #0000ff;">typedef</span> <span style="color: #0000ff;">int</span> Status<span style="color: #008080;">;</span>
<span style="color: #0000ff;">typedef</span> <span style="color: #0000ff;">char</span> TElemType<span style="color: #008080;">;</span>
&nbsp;
<span style="color: #0000ff;">typedef</span> <span style="color: #0000ff;">struct</span> BiTNode
<span style="color: #008000;">&#123;</span>
	TElemType data<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">struct</span> BiTNode <span style="color: #000040;">*</span>lchild, <span style="color: #000040;">*</span>rchild<span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
BiTNode, <span style="color: #000040;">*</span>BiTree<span style="color: #008080;">;</span>
&nbsp;
<span style="color: #0000ff;">typedef</span> BiTree SElemType<span style="color: #008080;">;</span>
&nbsp;
<span style="color: #0000ff;">typedef</span> <span style="color: #0000ff;">struct</span> <span style="color: #008000;">&#123;</span>
    SElemType <span style="color: #000040;">*</span>base<span style="color: #008080;">;</span>
    SElemType <span style="color: #000040;">*</span>top<span style="color: #008080;">;</span>
    <span style="color: #0000ff;">int</span> stacksize<span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
SqStack<span style="color: #008080;">;</span>
&nbsp;
Status InitStack<span style="color: #008000;">&#40;</span>SqStack <span style="color: #000040;">&amp;</span>S<span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span>
    <span style="color: #666666;">//构造一个空栈S</span>
    S.<span style="color: #007788;">base</span><span style="color: #000080;">=</span><span style="color: #008000;">&#40;</span>SElemType <span style="color: #000040;">*</span><span style="color: #008000;">&#41;</span><span style="color: #0000dd;">malloc</span><span style="color: #008000;">&#40;</span>STACK_INIT_SIZE<span style="color: #000040;">*</span><span style="color: #0000dd;">sizeof</span><span style="color: #008000;">&#40;</span>SElemType<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span><span style="color: #000040;">!</span>S.<span style="color: #007788;">base</span><span style="color: #008000;">&#41;</span> <span style="color: #0000dd;">exit</span><span style="color: #008000;">&#40;</span>OVERFLOW<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>	<span style="color: #666666;">//存储分配失败</span>
    S.<span style="color: #007788;">top</span><span style="color: #000080;">=</span>S.<span style="color: #007788;">base</span><span style="color: #008080;">;</span>
    S.<span style="color: #007788;">stacksize</span><span style="color: #000080;">=</span>STACK_INIT_SIZE<span style="color: #008080;">;</span>
    <span style="color: #0000ff;">return</span> OK<span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
Status GetTop<span style="color: #008000;">&#40;</span>SqStack S,SElemType <span style="color: #000040;">&amp;</span>e<span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span>
    <span style="color: #666666;">//若栈不为空，用e返回栈顶元素</span>
    <span style="color: #0000ff;">if</span><span style="color: #008000;">&#40;</span>S.<span style="color: #007788;">top</span><span style="color: #000080;">==</span>S.<span style="color: #007788;">base</span><span style="color: #008000;">&#41;</span> <span style="color: #0000ff;">return</span> ERROR<span style="color: #008080;">;</span>
    e<span style="color: #000080;">=</span><span style="color: #000040;">*</span><span style="color: #008000;">&#40;</span>S.<span style="color: #007788;">top</span><span style="color: #000040;">-</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #0000ff;">return</span> OK<span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
Status Push<span style="color: #008000;">&#40;</span>SqStack <span style="color: #000040;">&amp;</span>S,SElemType e<span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span>
    <span style="color: #666666;">//插入原始e为新的栈顶元素</span>
    <span style="color: #0000ff;">if</span><span style="color: #008000;">&#40;</span>S.<span style="color: #007788;">top</span><span style="color: #000040;">-</span>S.<span style="color: #007788;">base</span><span style="color: #000080;">&gt;=</span>S.<span style="color: #007788;">stacksize</span><span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span>
        <span style="color: #666666;">//栈满，追加空间</span>
        S.<span style="color: #007788;">base</span><span style="color: #000080;">=</span><span style="color: #008000;">&#40;</span>SElemType <span style="color: #000040;">*</span><span style="color: #008000;">&#41;</span><span style="color: #0000dd;">realloc</span><span style="color: #008000;">&#40;</span>S.<span style="color: #007788;">base</span>,<span style="color: #008000;">&#40;</span>S.<span style="color: #007788;">stacksize</span><span style="color: #000040;">+</span>STACKINCREMENT<span style="color: #008000;">&#41;</span><span style="color: #000040;">*</span><span style="color: #0000dd;">sizeof</span><span style="color: #008000;">&#40;</span>SElemType<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
        <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span><span style="color: #000040;">!</span>S.<span style="color: #007788;">base</span><span style="color: #008000;">&#41;</span> <span style="color: #0000dd;">exit</span><span style="color: #008000;">&#40;</span>OVERFLOW<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>	<span style="color: #666666;">//存储分配失败</span>
        S.<span style="color: #007788;">top</span><span style="color: #000080;">=</span>S.<span style="color: #007788;">base</span><span style="color: #000040;">+</span>S.<span style="color: #007788;">stacksize</span><span style="color: #008080;">;</span>
        S.<span style="color: #007788;">stacksize</span><span style="color: #000040;">+</span><span style="color: #000080;">=</span>STACKINCREMENT<span style="color: #008080;">;</span>
    <span style="color: #008000;">&#125;</span>
    <span style="color: #000040;">*</span>S.<span style="color: #007788;">top</span><span style="color: #000040;">++</span><span style="color: #000080;">=</span>e<span style="color: #008080;">;</span>
    <span style="color: #0000ff;">return</span> OK<span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
Status Pop<span style="color: #008000;">&#40;</span>SqStack <span style="color: #000040;">&amp;</span>S,SElemType <span style="color: #000040;">&amp;</span>e<span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span>
    <span style="color: #666666;">//若栈不为空，用e返回栈顶元素</span>
    <span style="color: #0000ff;">if</span><span style="color: #008000;">&#40;</span>S.<span style="color: #007788;">top</span><span style="color: #000080;">==</span>S.<span style="color: #007788;">base</span><span style="color: #008000;">&#41;</span> <span style="color: #0000ff;">return</span> ERROR<span style="color: #008080;">;</span>
    e<span style="color: #000080;">=</span><span style="color: #000040;">*--</span>S.<span style="color: #007788;">top</span><span style="color: #008080;">;</span>
    <span style="color: #0000ff;">return</span> OK<span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
Status PrintElement<span style="color: #008000;">&#40;</span> TElemType e <span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #666666;">// 输出元素e的值</span>
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%c&quot;</span>, e <span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">return</span> OK<span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
Status InOrderTraverse<span style="color: #008000;">&#40;</span>BiTree T, Status <span style="color: #008000;">&#40;</span><span style="color: #000040;">*</span>Visit<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#40;</span>TElemType<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span>  
  <span style="color: #666666;">// 采用二叉链表存储结构，Visit是对数据元素操作的应用函数。</span>
  <span style="color: #666666;">// 中序遍历二叉树T的非递归算法，对每个数据元素调用函数Visit。</span>
  SqStack S<span style="color: #008080;">;</span>
  BiTree p<span style="color: #008080;">;</span>
  InitStack<span style="color: #008000;">&#40;</span>S<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
  Push<span style="color: #008000;">&#40;</span>S, T<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>  <span style="color: #666666;">// 根指针进栈</span>
  <span style="color: #0000ff;">while</span> <span style="color: #008000;">&#40;</span>S.<span style="color: #007788;">top</span><span style="color: #000040;">!</span><span style="color: #000080;">=</span>S.<span style="color: #007788;">base</span><span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span>
    <span style="color: #0000ff;">while</span> <span style="color: #008000;">&#40;</span>GetTop<span style="color: #008000;">&#40;</span>S, p<span style="color: #008000;">&#41;</span> <span style="color: #000040;">&amp;&amp;</span> p<span style="color: #008000;">&#41;</span> Push<span style="color: #008000;">&#40;</span>S, p<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>lchild<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>  <span style="color: #666666;">// 向左走到尽头</span>
    Pop<span style="color: #008000;">&#40;</span>S, p<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>                <span style="color: #666666;">// 空指针退栈</span>
    <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>S.<span style="color: #007788;">top</span><span style="color: #000040;">!</span><span style="color: #000080;">=</span>S.<span style="color: #007788;">base</span><span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span>     <span style="color: #666666;">// 访问结点，向右一步</span>
      Pop<span style="color: #008000;">&#40;</span>S, p<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>  
      <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span><span style="color: #000040;">!</span>Visit<span style="color: #008000;">&#40;</span>p<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>data<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span> <span style="color: #0000ff;">return</span> ERROR<span style="color: #008080;">;</span>
      Push<span style="color: #008000;">&#40;</span>S, p<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>rchild<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #008000;">&#125;</span>
  <span style="color: #008000;">&#125;</span>
  <span style="color: #0000ff;">return</span> OK<span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
BiTree CreateBiTree<span style="color: #008000;">&#40;</span>BiTree <span style="color: #000040;">&amp;</span>T<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #666666;">// 按先序次序输入二叉树中结点的值（一个字符），空格字符表示空树，</span>
	<span style="color: #666666;">// 构造二叉链表表示的二叉树T。</span>
	TElemType ch<span style="color: #008080;">;</span>
	<span style="color: #0000dd;">scanf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%c&quot;</span>,<span style="color: #000040;">&amp;</span>ch<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>ch <span style="color: #000080;">==</span> <span style="color: #FF0000;">'#'</span><span style="color: #008000;">&#41;</span> T <span style="color: #000080;">=</span> <span style="color: #0000ff;">NULL</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">else</span>
	<span style="color: #008000;">&#123;</span>
		T <span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span>BiTNode <span style="color: #000040;">*</span><span style="color: #008000;">&#41;</span><span style="color: #0000dd;">malloc</span><span style="color: #008000;">&#40;</span><span style="color: #0000dd;">sizeof</span><span style="color: #008000;">&#40;</span>BiTNode<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		T<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>data <span style="color: #000080;">=</span> ch<span style="color: #008080;">;</span>              <span style="color: #666666;">// 生成根结点</span>
		CreateBiTree<span style="color: #008000;">&#40;</span>T<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>lchild<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>   <span style="color: #666666;">// 构造左子树</span>
		CreateBiTree<span style="color: #008000;">&#40;</span>T<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>rchild<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>   <span style="color: #666666;">// 构造右子树</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000ff;">return</span> T<span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
<span style="color: #0000ff;">int</span> main<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	BiTree T<span style="color: #008080;">;</span>
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;请输入一个前序的二叉树：<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	CreateBiTree<span style="color: #008000;">&#40;</span>T<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	InOrderTraverse<span style="color: #008000;">&#40;</span>T,PrintElement<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">getchar</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span><span style="color: #0000dd;">getchar</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">return</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=752</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[原创]QQ2009本地会员 v1.2 (不再更新)</title>
		<link>http://www.shuax.com/?p=749</link>
		<comments>http://www.shuax.com/?p=749#comments</comments>
		<pubDate>Sun, 08 Nov 2009 05:03:09 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[原创软件]]></category>
		<category><![CDATA[QQ]]></category>
		<category><![CDATA[原创]]></category>
		<category><![CDATA[破解]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=749</guid>
		<description><![CDATA[运行环境：xp/vista/win7 更新时间：2009年12月11日 支持版本：QQ2009 全系列 SP1至SP6 程序功能是本地会员，因此可以去广告。 使用本补丁后通过QQ的“系统设置”可以屏蔽广告和显示登陆信息（会员功能）！ 今天把QQ官网上的版本全部下载了一遍，然后全部破解了。 希望大家能喜欢这个版本。我好累啊…… 已经更新SP6本地会员补丁。会员方法来自于寒星随意录 http://www.hxlive.cn 失误了一点，已经改正。麻烦大家重新下载。 我尚未长期测试，欢迎大家反馈意见。 QQ2009本地会员 v1.2 文件大小：64.5 KB&#12288;文件名称：QQ2009VIP.rar]]></description>
			<content:encoded><![CDATA[<p><strong>运行环境：</strong>xp/vista/win7<br />
<strong>更新时间：</strong>2009年12月11日<br />
<strong>支持版本：</strong>QQ2009 全系列 SP1至SP6</p>
<p>程序功能是本地会员，因此可以去广告。</p>
<p>使用本补丁后通过QQ的“系统设置”可以屏蔽广告和显示登陆信息（会员功能）！</p>
<p>今天把QQ官网上的版本全部下载了一遍，然后全部破解了。</p>
<p>希望大家能喜欢这个版本。我好累啊……<br />
<span id="more-749"></span></p>
<p style="text-align: center;">
<a href="http://www.shuax.com/wp-content/uploads/2009/11/vip.jpg" class="lightbox"><img class="size-full wp-image-750 aligncenter" title="vip" src="http://www.shuax.com/wp-content/uploads/2009/11/vip.jpg" alt="vip" width="608" height="295" /></a></p>
<p>已经更新SP6本地会员补丁。会员方法来自于寒星随意录 http://www.hxlive.cn<br />
失误了一点，已经改正。麻烦大家重新下载。<br />
我尚未长期测试，欢迎大家反馈意见。<br />
<div class='download-link'>
							<a href='http://www.shuax.com/download.php?file=http://www.shuax.com/download/QQ2009VIP.rar'><img alt='Download' class='leftalign' src='http://www.shuax.com/wp-content/plugins/dBeautifier/icons/downloads.png' /></a>
							<h4>
								<a href='http://www.shuax.com/download.php?file=http://www.shuax.com/download/QQ2009VIP.rar'>QQ2009本地会员 v1.2</a>
							</h4><p>文件大小：64.5 KB&#12288;文件名称：QQ2009VIP.rar</p>
						</div></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=749</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>Windows 7 Logon Background Changer 汉化版</title>
		<link>http://www.shuax.com/?p=746</link>
		<comments>http://www.shuax.com/?p=746#comments</comments>
		<pubDate>Sat, 07 Nov 2009 10:02:42 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[汉化软件]]></category>
		<category><![CDATA[WIN7]]></category>
		<category><![CDATA[汉化]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=746</guid>
		<description><![CDATA[好久好久都没有汉化过软件了，今天手痒，呵呵。 貌似.net的程序汉化特别麻烦，还好这个是开源的，哇咔咔。 它是专门用来替换Windows 7登录界面背景的小程序。 软件作者在Windows 7 RC 7100版本上测试通过，但它也适用于未来的版本。 这个小软件不会改变任何系统文件，程序本身不需要管理员权限运行。 windows7登录背景更改器 文件大小：162.5 KB&#12288;文件名称：H_Win7LogonBackgroundChanger.rar]]></description>
			<content:encoded><![CDATA[<p>好久好久都没有汉化过软件了，今天手痒，呵呵。</p>
<p>貌似.net的程序汉化特别麻烦，还好这个是开源的，哇咔咔。</p>
<p>它是专门用来替换Windows 7登录界面背景的小程序。</p>
<p>软件作者在Windows 7 RC 7100版本上测试通过，但它也适用于未来的版本。</p>
<p>这个小软件不会改变任何系统文件，程序本身不需要管理员权限运行。<br />
<span id="more-746"></span><br />
<img src="http://www.shuax.com/wp-content/uploads/2009/11/logon.jpg" alt="logon" title="logon" width="640" height="480" class="alignnone size-full wp-image-747" /></p>
<p><div class='download-link'>
							<a href='http://www.shuax.com/download.php?file=http://www.shuax.com/download/H_Win7LogonBackgroundChanger.rar'><img alt='Download' class='leftalign' src='http://www.shuax.com/wp-content/plugins/dBeautifier/icons/downloads.png' /></a>
							<h4>
								<a href='http://www.shuax.com/download.php?file=http://www.shuax.com/download/H_Win7LogonBackgroundChanger.rar'>windows7登录背景更改器</a>
							</h4><p>文件大小：162.5 KB&#12288;文件名称：H_Win7LogonBackgroundChanger.rar</p>
						</div></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=746</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>一个记事本GlassNotes</title>
		<link>http://www.shuax.com/?p=735</link>
		<comments>http://www.shuax.com/?p=735#comments</comments>
		<pubDate>Fri, 06 Nov 2009 13:52:03 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[实用软件]]></category>
		<category><![CDATA[WIN7]]></category>
		<category><![CDATA[推荐]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=735</guid>
		<description><![CDATA[看名字就知道啦，这是一个透明记事本，呵呵，效果不错。 看看而已，要是用的话，还是有点难受啦。 我加油学习，尽快写一个自己做的全透明窗口的程序。 GlassNotes v0.5 文件大小：27.3 KB&#12288;文件名称：GlassNotes.rar]]></description>
			<content:encoded><![CDATA[<p>看名字就知道啦，这是一个透明记事本，呵呵，效果不错。</p>
<p>看看而已，要是用的话，还是有点难受啦。</p>
<p>我加油学习，尽快写一个自己做的全透明窗口的程序。</p>
<p><span id="more-735"></span></p>
<p><img class="alignnone size-full wp-image-736" title="GlassNotes" src="http://www.shuax.com/wp-content/uploads/2009/11/GlassNotes.jpg" alt="GlassNotes" width="648" height="417" /></p>
<p><div class='download-link'>
							<a href='http://www.shuax.com/download.php?file=http://www.shuax.com/download/GlassNotes.rar'><img alt='Download' class='leftalign' src='http://www.shuax.com/wp-content/plugins/dBeautifier/icons/downloads.png' /></a>
							<h4>
								<a href='http://www.shuax.com/download.php?file=http://www.shuax.com/download/GlassNotes.rar'>GlassNotes v0.5</a>
							</h4><p>文件大小：27.3 KB&#12288;文件名称：GlassNotes.rar</p>
						</div></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=735</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>绝望的Linux</title>
		<link>http://www.shuax.com/?p=718</link>
		<comments>http://www.shuax.com/?p=718#comments</comments>
		<pubDate>Tue, 03 Nov 2009 15:10:08 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[我的生活]]></category>
		<category><![CDATA[WIN7]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=718</guid>
		<description><![CDATA[我的Ubuntu9.10死掉了，连开机都不行了。 唉，算了，不想多说了。如果没有什么意外，我想我是不大可能用Linux系列的东西了。 何必呢，折腾过去，折腾过来…… 下面发表和谐言论，一般人请不要阅读全文。 转载标题：《魔兽世界》与中国互联网的“官家主义” 转载内容： 　　吴思对当下中国社会的性质曾有论述：既非社会主义，亦非资本主义，流行的“权贵资本主义”或“官僚资本主义”也似是而非。看来要想准确反映现实，厘清迷雾，唯有概念创新。他找到了一个词——“官家主义”。 　　吴思如此定义“官家”：“官家”，在古汉语里面有三重意思。第一重意思是皇帝，宋朝说赵官家如何如何，就是指皇上。第二重意思是官府，包括条条块块的各级衙门。第三重意思是官僚个人。“官家”这个词有多重涵义，因而特别准确贴切。这些涵义可以把“官本位”的内部结构拆解开来，让我们看到官家集团的整体利益，看到最高决策者的利益，看到部门利益，还能看到官僚个人作为代理人的私利。 　　由此，“官家主义”的核心可以理解为：官家主义是一个基座，上边可以接不同的前缀——地主、农民、工人、资本家等等。官家总要充分利用权力，用权力榨取尽可能多的利益，或者把权力卖一个最高价。如果在小农那里卖得最高，就是“小农官家主义”。如果卖给地主最高，就是“地主官家主义”。之所以会有多样化的买卖，是因为官家集团中不同主体当家作主的范围正是博弈的结果。“官家主义”就是对这种立法定规的动态结构的描述。例如，1949年之后，一度消灭了地主和资本家，官家直接指挥生产，计划经济，直接管理工人农民，这种形态可以称为“工农官家主义”。而现如今权力可以在资本那里获得最高出价，因此又有转向“资本官家主义”的结果。 　　《魔兽世界》易手与审批、运营的一波三折，在我看来恰是对“官家主义”深入浅出的演绎。 　　张朝阳曾经表达过一个观点，大意是中国的互联网行业是自由竞争程度最高的一块市场。从一定程度上来说，确实如此。比如，这里很少行政管辖的朝令夕改，也不存在国有企业的垄断。但仔细推敲，你会发现，这块市场的自由竞争程度是在以下降而非上升的方式进化的。它并未充当模范生，对其他行业的自由竞争产生积极影响，它实际上是个跟屁虫，正在为工商业的普遍现实所同化，同化的加速度还很可观。 　　同化的原因，一方面是“小女初长成”，身形发育得好了，官家尤擅“闻香而动”，自然纷至沓来，对互联网行业愈来愈多的管辖和治理即是缘于此;另一方面，在貌似资本主义而实为官家主义(我们暂且征用吴思的概念)的社会中，资本也有与官家结成稳定的利益共同体的冲动，双方情投意合——举个简单的例子，在三十年前和十六年前，与官家(领导们)搭档在意识形态工具中出镜，为社会示范发展的，分别是流通行业和制造行业的企业家，而近几年来，与各级领导关系密切并乐于搭档做模特的，已经换成互联网行业的风云人物。 　　《魔兽世界》在中国的活报剧，前戏阶段被概括为“运营权易手”，看上去是很“资本主义”的事件：再赚钱的生意也要遵从市场法则、资本逐利的天性无视用户体验……等等感慨是主流;缠绵阶段则被概括为“审批门”，版署对网易运营的持久严苛让人们逐渐意识到资本在这里只不过是配角，官家才是主角;而高潮阶段则是文化部和版署两个部门对“审批权”争夺的激烈交火，什么暴雪、九城、网易的董事会，什么盛大、巨人背后的小动作，都不再吸引眼球。文化部和版署在大众媒体甚至CCAV和新华社这样的官方媒体上互相打脸的举动足以告诉大家，谁才是真正的话事人，谁才是真正决定这块市场走向和前途的决定性力量。 　　“官僚资本主义”和“资本官家主义”的区别就在于，哪个词汇是重点。前者承认已经身处资本主义，后者则表示资本无非是官家的工具。我想《魔兽世界》事件已经很清楚地演示了，到底哪个词能真正反映中国社会的现实。 　　有个朋友跟我说，《魔兽世界》一事，让他最惊讶的，既不是权力的粗暴，也不是资本的愚蠢，而是文化部和新闻出版总署两个部级单位竟然能因为“审批权”这样一个明显意味着寻租的权力，在光天化日之下，当着全国百姓特别是青少年群体，肆无忌惮地撕破脸皮互殴。 　　也许他才发现，有寻租冲动的组织，原来可以跟精虫上脑的男人一样让人目瞪口呆。但放在更大的环境中看，这一点也不奇怪。看看其他行业吧，无论是“世间再无煤老板”，还是中钢协打谈判牌重洗钢铁进口市场，哪个不是明刀明枪，片刻间樯橹灰飞烟灭?相形之下，文化部和版署的口舌之辩反而有点像书生打架的小儿科了。 　　当然，小孩子总会长大，而秀才打得多了也会长出肌肉。对中国互联网行业的“官家主义”而言，这场演出绝不是结束，甚至连结束的开始都算不上，充其量只是开始的结束。]]></description>
			<content:encoded><![CDATA[<p>我的Ubuntu9.10死掉了，连开机都不行了。</p>
<p>唉，算了，不想多说了。如果没有什么意外，我想我是不大可能用Linux系列的东西了。</p>
<p>何必呢，折腾过去，折腾过来……</p>
<p>下面发表和谐言论，一般人请不要阅读全文。<br />
<span id="more-718"></span><br />
<img src="http://www.shuax.com/wp-content/uploads/2009/11/hexie.jpg" alt="hexie" title="hexie" width="500" height="332" class="alignnone size-full wp-image-720" /></p>
<p>转载标题：《魔兽世界》与中国互联网的“官家主义”<br />
转载内容：<br />
　　吴思对当下中国社会的性质曾有论述：既非社会主义，亦非资本主义，流行的“权贵资本主义”或“官僚资本主义”也似是而非。看来要想准确反映现实，厘清迷雾，唯有概念创新。他找到了一个词——“官家主义”。</p>
<p>　　吴思如此定义“官家”：“官家”，在古汉语里面有三重意思。第一重意思是皇帝，宋朝说赵官家如何如何，就是指皇上。第二重意思是官府，包括条条块块的各级衙门。第三重意思是官僚个人。“官家”这个词有多重涵义，因而特别准确贴切。这些涵义可以把“官本位”的内部结构拆解开来，让我们看到官家集团的整体利益，看到最高决策者的利益，看到部门利益，还能看到官僚个人作为代理人的私利。</p>
<p>　　由此，“官家主义”的核心可以理解为：官家主义是一个基座，上边可以接不同的前缀——地主、农民、工人、资本家等等。官家总要充分利用权力，用权力榨取尽可能多的利益，或者把权力卖一个最高价。如果在小农那里卖得最高，就是“小农官家主义”。如果卖给地主最高，就是“地主官家主义”。之所以会有多样化的买卖，是因为官家集团中不同主体当家作主的范围正是博弈的结果。“官家主义”就是对这种立法定规的动态结构的描述。例如，1949年之后，一度消灭了地主和资本家，官家直接指挥生产，计划经济，直接管理工人农民，这种形态可以称为“工农官家主义”。而现如今权力可以在资本那里获得最高出价，因此又有转向“资本官家主义”的结果。</p>
<p>　　《魔兽世界》易手与审批、运营的一波三折，在我看来恰是对“官家主义”深入浅出的演绎。</p>
<p>　　张朝阳曾经表达过一个观点，大意是中国的互联网行业是自由竞争程度最高的一块市场。从一定程度上来说，确实如此。比如，这里很少行政管辖的朝令夕改，也不存在国有企业的垄断。但仔细推敲，你会发现，这块市场的自由竞争程度是在以下降而非上升的方式进化的。它并未充当模范生，对其他行业的自由竞争产生积极影响，它实际上是个跟屁虫，正在为工商业的普遍现实所同化，同化的加速度还很可观。</p>
<p>　　同化的原因，一方面是“小女初长成”，身形发育得好了，官家尤擅“闻香而动”，自然纷至沓来，对互联网行业愈来愈多的管辖和治理即是缘于此;另一方面，在貌似资本主义而实为官家主义(我们暂且征用吴思的概念)的社会中，资本也有与官家结成稳定的利益共同体的冲动，双方情投意合——举个简单的例子，在三十年前和十六年前，与官家(领导们)搭档在意识形态工具中出镜，为社会示范发展的，分别是流通行业和制造行业的企业家，而近几年来，与各级领导关系密切并乐于搭档做模特的，已经换成互联网行业的风云人物。</p>
<p>　　《魔兽世界》在中国的活报剧，前戏阶段被概括为“运营权易手”，看上去是很“资本主义”的事件：再赚钱的生意也要遵从市场法则、资本逐利的天性无视用户体验……等等感慨是主流;缠绵阶段则被概括为“审批门”，版署对网易运营的持久严苛让人们逐渐意识到资本在这里只不过是配角，官家才是主角;而高潮阶段则是文化部和版署两个部门对“审批权”争夺的激烈交火，什么暴雪、九城、网易的董事会，什么盛大、巨人背后的小动作，都不再吸引眼球。文化部和版署在大众媒体甚至CCAV和新华社这样的官方媒体上互相打脸的举动足以告诉大家，谁才是真正的话事人，谁才是真正决定这块市场走向和前途的决定性力量。</p>
<p>　　“官僚资本主义”和“资本官家主义”的区别就在于，哪个词汇是重点。前者承认已经身处资本主义，后者则表示资本无非是官家的工具。我想《魔兽世界》事件已经很清楚地演示了，到底哪个词能真正反映中国社会的现实。</p>
<p>　　有个朋友跟我说，《魔兽世界》一事，让他最惊讶的，既不是权力的粗暴，也不是资本的愚蠢，而是文化部和新闻出版总署两个部级单位竟然能因为“审批权”这样一个明显意味着寻租的权力，在光天化日之下，当着全国百姓特别是青少年群体，肆无忌惮地撕破脸皮互殴。</p>
<p>　　也许他才发现，有寻租冲动的组织，原来可以跟精虫上脑的男人一样让人目瞪口呆。但放在更大的环境中看，这一点也不奇怪。看看其他行业吧，无论是“世间再无煤老板”，还是中钢协打谈判牌重洗钢铁进口市场，哪个不是明刀明枪，片刻间樯橹灰飞烟灭?相形之下，文化部和版署的口舌之辩反而有点像书生打架的小儿科了。</p>
<p>　　当然，小孩子总会长大，而秀才打得多了也会长出肌肉。对中国互联网行业的“官家主义”而言，这场演出绝不是结束，甚至连结束的开始都算不上，充其量只是开始的结束。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=718</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>QQ2009SP5去广告</title>
		<link>http://www.shuax.com/?p=687</link>
		<comments>http://www.shuax.com/?p=687#comments</comments>
		<pubDate>Tue, 27 Oct 2009 01:14:29 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[原创软件]]></category>
		<category><![CDATA[QQ]]></category>
		<category><![CDATA[原创]]></category>
		<category><![CDATA[破解]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=687</guid>
		<description><![CDATA[最新版的QQ2009SP5已经出来了，给我的感觉就是QQ2010的修改bug版，用着还可以。 这个去广告补丁我也只在这个版本上测试了，如果你愿意帮我测试一下其它版本，我也非常欢迎，但是你自己先备份KernelUtil.dll文件。 这个补丁采用dll破解，破解后可以使用会员的所有功能…… 所以就没有广告了。 现在又增加了还原功能，避免因为您的版本不同而造成无法打开QQ，以至于重装QQ。 你第二次运行程序的时候，会自动检测到备份，并询问是否还原。 再次改正bug，避免在遇到文件被占用时，第二次运行提示已经备份。感谢fonlan的提醒。 现在QQ2009SP5已经正式出来了，事实证明，和之前的会员版是同一个文件，大家放心的使用吧。 今天应一个网友的要求，在读取默认安装目录失败后，有自己的选择。 这种现象出现在非官方安装包上面。 SP6已经出来了。 http://im.qq.com/qq/2009/standard_sp6/ 我的工具地址：http://www.shuax.com/?p=749 目前只支持QQ2009]]></description>
			<content:encoded><![CDATA[<p>最新版的QQ2009SP5已经出来了，给我的感觉就是QQ2010的修改bug版，用着还可以。</p>
<p>这个去广告补丁我也只在这个版本上测试了，如果你愿意帮我测试一下其它版本，我也非常欢迎，但是你自己先备份KernelUtil.dll文件。</p>
<p>这个补丁采用dll破解，破解后可以使用会员的所有功能……</p>
<p>所以就没有广告了。</p>
<p>现在又增加了还原功能，避免因为您的版本不同而造成无法打开QQ，以至于重装QQ。</p>
<p>你第二次运行程序的时候，会自动检测到备份，并询问是否还原。</p>
<p>再次改正bug，避免在遇到文件被占用时，第二次运行提示已经备份。感谢fonlan的提醒。</p>
<p>现在QQ2009SP5已经正式出来了，事实证明，和之前的会员版是同一个文件，大家放心的使用吧。</p>
<p>今天应一个网友的要求，在读取默认安装目录失败后，有自己的选择。</p>
<p>这种现象出现在非官方安装包上面。</p>
<p>SP6已经出来了。</p>
<p><a href="http://im.qq.com/qq/2009/standard_sp6/">http://im.qq.com/qq/2009/standard_sp6/</a></p>
<p>我的工具地址：<a href="http://www.shuax.com/?p=749">http://www.shuax.com/?p=749</a> 目前只支持QQ2009</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=687</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>数据结构：队列-约瑟夫环</title>
		<link>http://www.shuax.com/?p=676</link>
		<comments>http://www.shuax.com/?p=676#comments</comments>
		<pubDate>Sun, 25 Oct 2009 08:44:40 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[程序开发]]></category>
		<category><![CDATA[代码]]></category>
		<category><![CDATA[数据结构]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=676</guid>
		<description><![CDATA[约瑟夫环的实现：设有n个人围坐在圆桌周围，现从某个位置 i 上的人开始报数， 数到 m 的人就站出来。下一个人，即原来的第m+1个位置上的人，又从1开始报数，再 是数到m的人站出来。依次重复下去，直到全部的人都站出来，按出列的先后又可得到一个 新的序列。由于该问题是由古罗马著名的史学家Josephus提出的问题演变而来，所以通常 称为Josephus 问题。 例如：当n=8,m=4,i=1时，得到的新序列为： 4，8，5，2，1，3，7，6 编写程序选择循环队列作为存储结构模拟整个过程，并依次输出出列的各人的编号。 /*队列操作 约瑟夫环*/ /*舒俊杰 2009年10月25日*/ //www.shuax.com &#160; #include &#60;stdio.h&#62; #include &#60;stdlib.h&#62; #include &#60;string.h&#62; &#160; #define FALSE -1 #define OK 1 #define ERROR -1 #define OVERFLOW -2 &#160; #define MAXSIZE 100 &#160; //约瑟夫环参数 int Josephus_n,Josephus_m,Josephus_i; &#160; typedef int Status; typedef int QElemType; &#160; typedef]]></description>
			<content:encoded><![CDATA[<p>约瑟夫环的实现：设有n个人围坐在圆桌周围，现从某个位置 i 上的人开始报数，<br />
数到 m 的人就站出来。下一个人，即原来的第m+1个位置上的人，又从1开始报数，再<br />
是数到m的人站出来。依次重复下去，直到全部的人都站出来，按出列的先后又可得到一个<br />
新的序列。由于该问题是由古罗马著名的史学家Josephus提出的问题演变而来，所以通常<br />
称为Josephus 问题。<br />
        例如：当n=8,m=4,i=1时，得到的新序列为：<br />
                4，8，5，2，1，3，7，6<br />
编写程序选择循环队列作为存储结构模拟整个过程，并依次输出出列的各人的编号。</p>
<p><span id="more-676"></span></p>

<div class="wp_codebox"><table><tr id="p676192"><td class="code" id="p676code192"><pre class="cpp" style="font-family:monospace;"><span style="color: #ff0000; font-style: italic;">/*队列操作 约瑟夫环*/</span>
<span style="color: #ff0000; font-style: italic;">/*舒俊杰 2009年10月25日*/</span>
<span style="color: #666666;">//www.shuax.com</span>
&nbsp;
<span style="color: #339900;">#include &lt;stdio.h&gt;</span>
<span style="color: #339900;">#include &lt;stdlib.h&gt;</span>
<span style="color: #339900;">#include &lt;string.h&gt;</span>
&nbsp;
<span style="color: #339900;">#define FALSE -1</span>
<span style="color: #339900;">#define OK 1</span>
<span style="color: #339900;">#define ERROR -1</span>
<span style="color: #339900;">#define OVERFLOW -2</span>
&nbsp;
<span style="color: #339900;">#define MAXSIZE 100</span>
&nbsp;
<span style="color: #666666;">//约瑟夫环参数</span>
<span style="color: #0000ff;">int</span> Josephus_n,Josephus_m,Josephus_i<span style="color: #008080;">;</span>
&nbsp;
<span style="color: #0000ff;">typedef</span> <span style="color: #0000ff;">int</span> Status<span style="color: #008080;">;</span>
<span style="color: #0000ff;">typedef</span> <span style="color: #0000ff;">int</span> QElemType<span style="color: #008080;">;</span>
&nbsp;
<span style="color: #0000ff;">typedef</span> <span style="color: #0000ff;">struct</span> <span style="color: #008000;">&#123;</span>
	QElemType <span style="color: #000040;">*</span>base<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">int</span> front<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">int</span> rear<span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
SqQueue<span style="color: #008080;">;</span>
&nbsp;
Status InitQueue<span style="color: #008000;">&#40;</span>SqQueue <span style="color: #000040;">&amp;</span>Q<span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span>
	Q.<span style="color: #007788;">base</span><span style="color: #000080;">=</span><span style="color: #008000;">&#40;</span>QElemType <span style="color: #000040;">*</span><span style="color: #008000;">&#41;</span><span style="color: #0000dd;">malloc</span><span style="color: #008000;">&#40;</span>MAXSIZE <span style="color: #000040;">*</span> <span style="color: #0000dd;">sizeof</span><span style="color: #008000;">&#40;</span>QElemType<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	Q.<span style="color: #007788;">front</span> <span style="color: #000080;">=</span> Q.<span style="color: #007788;">rear</span> <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">return</span> OK<span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
Status EnQueue<span style="color: #008000;">&#40;</span>SqQueue <span style="color: #000040;">&amp;</span>Q,QElemType e<span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span>
	Q.<span style="color: #007788;">base</span><span style="color: #008000;">&#91;</span>Q.<span style="color: #007788;">rear</span><span style="color: #008000;">&#93;</span><span style="color: #000080;">=</span>e<span style="color: #008080;">;</span>
	Q.<span style="color: #007788;">rear</span> <span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span>Q.<span style="color: #007788;">rear</span> <span style="color: #000040;">+</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span> <span style="color: #000040;">%</span> MAXSIZE<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">return</span> OK<span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
Status DeQueue<span style="color: #008000;">&#40;</span>SqQueue <span style="color: #000040;">&amp;</span>Q,QElemType <span style="color: #000040;">&amp;</span>e<span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span>
	e <span style="color: #000080;">=</span> Q.<span style="color: #007788;">base</span><span style="color: #008000;">&#91;</span>Q.<span style="color: #007788;">front</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
	Q.<span style="color: #007788;">front</span> <span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span>Q.<span style="color: #007788;">front</span> <span style="color: #000040;">+</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span> <span style="color: #000040;">%</span> MAXSIZE<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">return</span> OK<span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
<span style="color: #0000ff;">void</span> JosephusRing<span style="color: #008000;">&#40;</span>SqQueue <span style="color: #000040;">&amp;</span>Q<span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span>
	QElemType e<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">int</span> i<span style="color: #000080;">=</span>Josephus_i<span style="color: #000040;">-</span><span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">while</span><span style="color: #008000;">&#40;</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span>
		<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>Q.<span style="color: #007788;">rear</span> <span style="color: #000080;">==</span> Q.<span style="color: #007788;">front</span><span style="color: #008000;">&#41;</span> <span style="color: #0000ff;">break</span><span style="color: #008080;">;</span>
		i<span style="color: #000040;">++</span><span style="color: #008080;">;</span>
		DeQueue<span style="color: #008000;">&#40;</span>Q,e<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span><span style="color: #008000;">&#40;</span>i <span style="color: #000040;">+</span> Josephus_m<span style="color: #008000;">&#41;</span> <span style="color: #000040;">%</span> Josephus_m <span style="color: #000080;">==</span> <span style="color: #0000dd;">0</span><span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span>
			<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%d<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span>,e<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
			<span style="color: #0000ff;">continue</span><span style="color: #008080;">;</span>
		<span style="color: #008000;">&#125;</span> <span style="color: #0000ff;">else</span> EnQueue<span style="color: #008000;">&#40;</span>Q,e<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">int</span> main<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span>
	SqQueue Q<span style="color: #008080;">;</span>
	InitQueue<span style="color: #008000;">&#40;</span>Q<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #666666;">//输入参数</span>
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;请输入约瑟夫环参数n,m,i:<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">scanf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%d%d%d&quot;</span>,<span style="color: #000040;">&amp;</span>Josephus_n,<span style="color: #000040;">&amp;</span>Josephus_m,<span style="color: #000040;">&amp;</span>Josephus_i<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #666666;">//初始化</span>
	<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> i<span style="color: #000080;">=</span><span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>i<span style="color: #000080;">&lt;</span>Josephus_n<span style="color: #008080;">;</span>i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
		EnQueue<span style="color: #008000;">&#40;</span>Q,i<span style="color: #000040;">+</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #666666;">//约瑟夫环处理</span>
	JosephusRing<span style="color: #008000;">&#40;</span>Q<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">getchar</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">getchar</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">return</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=676</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>数据结构：队列</title>
		<link>http://www.shuax.com/?p=674</link>
		<comments>http://www.shuax.com/?p=674#comments</comments>
		<pubDate>Sun, 25 Oct 2009 08:42:17 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[程序开发]]></category>
		<category><![CDATA[数据结构]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=674</guid>
		<description><![CDATA[任意输入队列长度和队列中的元素值，构造一个顺序循环队列，对其进行清空、插 入新元素、返回队头元素以及删除队头元素操作。 查看代码，查看全文。 /*队列的基本操作*/ /*舒俊杰 2009年10月25日*/ //www.shuax.com &#160; #include &#60;stdio.h&#62; #include &#60;stdlib.h&#62; #include &#60;string.h&#62; &#160; #define FALSE -1 #define OK 1 #define ERROR -1 #define OVERFLOW -2 &#160; #define MAXSIZE 100 &#160; typedef int Status; typedef int QElemType; &#160; typedef struct &#123; QElemType *base; int front; int rear; &#125; SqQueue; &#160; Status InitQueue&#40;SqQueue &#38;Q&#41; &#123;]]></description>
			<content:encoded><![CDATA[<p>任意输入队列长度和队列中的元素值，构造一个顺序循环队列，对其进行清空、插 入新元素、返回队头元素以及删除队头元素操作。</p>
<p>查看代码，查看全文。<br />
<span id="more-674"></span></p>

<div class="wp_codebox"><table><tr id="p674194"><td class="code" id="p674code194"><pre class="cpp" style="font-family:monospace;"><span style="color: #ff0000; font-style: italic;">/*队列的基本操作*/</span>
<span style="color: #ff0000; font-style: italic;">/*舒俊杰 2009年10月25日*/</span>
<span style="color: #666666;">//www.shuax.com</span>
&nbsp;
<span style="color: #339900;">#include &lt;stdio.h&gt;</span>
<span style="color: #339900;">#include &lt;stdlib.h&gt;</span>
<span style="color: #339900;">#include &lt;string.h&gt;</span>
&nbsp;
<span style="color: #339900;">#define FALSE -1</span>
<span style="color: #339900;">#define OK 1</span>
<span style="color: #339900;">#define ERROR -1</span>
<span style="color: #339900;">#define OVERFLOW -2</span>
&nbsp;
<span style="color: #339900;">#define MAXSIZE 100</span>
&nbsp;
<span style="color: #0000ff;">typedef</span> <span style="color: #0000ff;">int</span> Status<span style="color: #008080;">;</span>
<span style="color: #0000ff;">typedef</span> <span style="color: #0000ff;">int</span> QElemType<span style="color: #008080;">;</span>
&nbsp;
<span style="color: #0000ff;">typedef</span> <span style="color: #0000ff;">struct</span> <span style="color: #008000;">&#123;</span>
    QElemType <span style="color: #000040;">*</span>base<span style="color: #008080;">;</span>
    <span style="color: #0000ff;">int</span> front<span style="color: #008080;">;</span>
    <span style="color: #0000ff;">int</span> rear<span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
SqQueue<span style="color: #008080;">;</span>
&nbsp;
Status InitQueue<span style="color: #008000;">&#40;</span>SqQueue <span style="color: #000040;">&amp;</span>Q<span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span>
    <span style="color: #666666;">//构造一个空队列Q</span>
    Q.<span style="color: #007788;">base</span><span style="color: #000080;">=</span><span style="color: #008000;">&#40;</span>QElemType <span style="color: #000040;">*</span><span style="color: #008000;">&#41;</span><span style="color: #0000dd;">malloc</span><span style="color: #008000;">&#40;</span>MAXSIZE <span style="color: #000040;">*</span> <span style="color: #0000dd;">sizeof</span><span style="color: #008000;">&#40;</span>QElemType<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span><span style="color: #000040;">!</span>Q.<span style="color: #007788;">base</span><span style="color: #008000;">&#41;</span> <span style="color: #0000dd;">exit</span><span style="color: #008000;">&#40;</span>OVERFLOW<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>	<span style="color: #666666;">//存储分配失败</span>
    Q.<span style="color: #007788;">front</span> <span style="color: #000080;">=</span> Q.<span style="color: #007788;">rear</span> <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
    <span style="color: #0000ff;">return</span> OK<span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
Status ClearQueue<span style="color: #008000;">&#40;</span>SqQueue <span style="color: #000040;">&amp;</span>Q<span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span>
    Q.<span style="color: #007788;">front</span> <span style="color: #000080;">=</span> Q.<span style="color: #007788;">rear</span> <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
    <span style="color: #0000ff;">return</span> OK<span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">int</span> Queue<span style="color: #008000;">&#40;</span>SqQueue Q<span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span>
    <span style="color: #666666;">//返回Q元素个数，即队列的长度</span>
    <span style="color: #0000ff;">return</span> <span style="color: #008000;">&#40;</span>Q.<span style="color: #007788;">rear</span> <span style="color: #000040;">-</span> Q.<span style="color: #007788;">front</span> <span style="color: #000040;">+</span> MAXSIZE<span style="color: #008000;">&#41;</span> <span style="color: #000040;">%</span> MAXSIZE<span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
Status EnQueue<span style="color: #008000;">&#40;</span>SqQueue <span style="color: #000040;">&amp;</span>Q,QElemType e<span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span>
    <span style="color: #666666;">//插入元素e为Q的新的队尾元素</span>
    <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span><span style="color: #008000;">&#40;</span>Q.<span style="color: #007788;">rear</span><span style="color: #000040;">+</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span><span style="color: #000040;">%</span>MAXSIZE<span style="color: #000080;">==</span>Q.<span style="color: #007788;">front</span><span style="color: #008000;">&#41;</span> <span style="color: #0000ff;">return</span> ERROR<span style="color: #008080;">;</span>
    Q.<span style="color: #007788;">base</span><span style="color: #008000;">&#91;</span>Q.<span style="color: #007788;">rear</span><span style="color: #008000;">&#93;</span><span style="color: #000080;">=</span>e<span style="color: #008080;">;</span>
    Q.<span style="color: #007788;">rear</span> <span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span>Q.<span style="color: #007788;">rear</span> <span style="color: #000040;">+</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span> <span style="color: #000040;">%</span> MAXSIZE<span style="color: #008080;">;</span>
    <span style="color: #0000ff;">return</span> OK<span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
Status GetQueue<span style="color: #008000;">&#40;</span>SqQueue <span style="color: #000040;">&amp;</span>Q,QElemType <span style="color: #000040;">&amp;</span>e<span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span>
    <span style="color: #666666;">//若队列不为空，则用e返回Q的队头元素，并返回OK</span>
    <span style="color: #666666;">//否则返回ERROR</span>
    <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>Q.<span style="color: #007788;">rear</span> <span style="color: #000080;">==</span> Q.<span style="color: #007788;">front</span><span style="color: #008000;">&#41;</span> <span style="color: #0000ff;">return</span> ERROR<span style="color: #008080;">;</span>
    e <span style="color: #000080;">=</span> Q.<span style="color: #007788;">base</span><span style="color: #008000;">&#91;</span>Q.<span style="color: #007788;">front</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
    <span style="color: #0000ff;">return</span> OK<span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
Status DeQueue<span style="color: #008000;">&#40;</span>SqQueue <span style="color: #000040;">&amp;</span>Q,QElemType <span style="color: #000040;">&amp;</span>e<span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span>
    <span style="color: #666666;">//若队列不为空，则删除Q的队头元素，用e返回值，并返回OK</span>
    <span style="color: #666666;">//否则返回ERROR</span>
    <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>Q.<span style="color: #007788;">rear</span> <span style="color: #000080;">==</span> Q.<span style="color: #007788;">front</span><span style="color: #008000;">&#41;</span> <span style="color: #0000ff;">return</span> ERROR<span style="color: #008080;">;</span>
    e <span style="color: #000080;">=</span> Q.<span style="color: #007788;">base</span><span style="color: #008000;">&#91;</span>Q.<span style="color: #007788;">front</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
    Q.<span style="color: #007788;">front</span> <span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span>Q.<span style="color: #007788;">front</span> <span style="color: #000040;">+</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span> <span style="color: #000040;">%</span> MAXSIZE<span style="color: #008080;">;</span>
    <span style="color: #0000ff;">return</span> OK<span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
<span style="color: #0000ff;">void</span> menu<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span>
    <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>* * * * * * * * * * * * * * * * * * * * * * * * * *<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;  1 ------- 清空<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;  2 ------- 插入<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;  3 ------- 返回队头元素<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;  4 ------- 删除队头元素<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;  5 ------- 退出<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;* * * * * * * * * * * * * * * * * * * * * * * * * *<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
<span style="color: #0000ff;">void</span> menuselect<span style="color: #008000;">&#40;</span>SqQueue Q<span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span>
    <span style="color: #0000ff;">int</span> k,done <span style="color: #000080;">=</span> <span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>
    QElemType e<span style="color: #008080;">;</span>
    <span style="color: #0000ff;">while</span> <span style="color: #008000;">&#40;</span>done<span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span>
        menu<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
        <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;请选择一个功能: &quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
        <span style="color: #0000dd;">scanf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%d&quot;</span>, <span style="color: #000040;">&amp;</span>k<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
        <span style="color: #0000dd;">getchar</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
        <span style="color: #0000ff;">switch</span> <span style="color: #008000;">&#40;</span>k<span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span>
        <span style="color: #0000ff;">case</span> <span style="color: #0000dd;">1</span><span style="color: #008080;">:</span> ClearQueue<span style="color: #008000;">&#40;</span>Q<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span> <span style="color: #0000ff;">break</span><span style="color: #008080;">;</span>
        <span style="color: #0000ff;">case</span> <span style="color: #0000dd;">2</span><span style="color: #008080;">:</span> <span style="color: #008000;">&#123;</span>
                <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>请输入插入数据: &quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
                <span style="color: #0000dd;">scanf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%d&quot;</span>, <span style="color: #000040;">&amp;</span>e<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
                EnQueue<span style="color: #008000;">&#40;</span>Q,e<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
                <span style="color: #0000ff;">break</span><span style="color: #008080;">;</span>
            <span style="color: #008000;">&#125;</span>
        <span style="color: #0000ff;">case</span> <span style="color: #0000dd;">3</span><span style="color: #008080;">:</span> <span style="color: #008000;">&#123;</span>
                <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>GetQueue<span style="color: #008000;">&#40;</span>Q, e<span style="color: #008000;">&#41;</span> <span style="color: #000080;">==</span> ERROR<span style="color: #008000;">&#41;</span>
                    <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;队列为空&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
                <span style="color: #0000ff;">else</span>
                    <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%d<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span>, e<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
                <span style="color: #0000ff;">break</span><span style="color: #008080;">;</span>
            <span style="color: #008000;">&#125;</span>
        <span style="color: #0000ff;">case</span> <span style="color: #0000dd;">4</span><span style="color: #008080;">:</span> <span style="color: #008000;">&#123;</span>
                <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>DeQueue<span style="color: #008000;">&#40;</span>Q, e<span style="color: #008000;">&#41;</span> <span style="color: #000080;">==</span> ERROR<span style="color: #008000;">&#41;</span>
                    <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;队列为空&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
                <span style="color: #0000ff;">else</span>
                    <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%d<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span>, e<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
                <span style="color: #0000ff;">break</span><span style="color: #008080;">;</span>
            <span style="color: #008000;">&#125;</span>
        <span style="color: #0000ff;">case</span> <span style="color: #0000dd;">5</span><span style="color: #008080;">:</span> done <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
        <span style="color: #008000;">&#125;</span>
    <span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
<span style="color: #0000ff;">int</span> main<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
    SqQueue Q<span style="color: #008080;">;</span>
    InitQueue<span style="color: #008000;">&#40;</span>Q<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #0000ff;">int</span> n<span style="color: #008080;">;</span>
    QElemType e<span style="color: #008080;">;</span>
    <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;请输入队列的元素个数（&lt;=%d）:&quot;</span>, MAXSIZE<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #0000dd;">scanf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%d&quot;</span>, <span style="color: #000040;">&amp;</span>n<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;输入这些元素:&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> i <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>i <span style="color: #000080;">&lt;</span> n<span style="color: #008080;">;</span>i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
    <span style="color: #008000;">&#123;</span>
        <span style="color: #0000dd;">scanf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%d&quot;</span>, <span style="color: #000040;">&amp;</span>e<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
        EnQueue<span style="color: #008000;">&#40;</span>Q,e<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #008000;">&#125;</span>
    menuselect<span style="color: #008000;">&#40;</span>Q<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #0000ff;">return</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=674</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>李开复《云中漫步》演讲</title>
		<link>http://www.shuax.com/?p=672</link>
		<comments>http://www.shuax.com/?p=672#comments</comments>
		<pubDate>Sun, 25 Oct 2009 03:41:05 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[我的生活]]></category>
		<category><![CDATA[学校]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=672</guid>
		<description><![CDATA[呵呵，李开复到我们学校来的演讲。 没有视频，只有录音，还不错啦。 我给打包了，放到了QQ邮箱上。 下载地址： http://mail.qq.com/cgi-bin/ftnExs_download?k=7a32373158f6a6c9e999342742380a1a5507065057595e051d51060650150c5752061a535009081805015153500e005752045650642e38f5de8d9d89d0998ee1f6e4e7f39a8a8594871c45501638&#38;t=exs_ftn_download&#38;code=0271d885 (54M)]]></description>
			<content:encoded><![CDATA[<p>呵呵，李开复到我们学校来的演讲。</p>
<p>没有视频，只有录音，还不错啦。</p>
<p>我给打包了，放到了QQ邮箱上。</p>
<p>下载地址：</p>
<p><a href="http://mail.qq.com/cgi-bin/ftnExs_download?k=7a32373158f6a6c9e999342742380a1a5507065057595e051d51060650150c5752061a535009081805015153500e005752045650642e38f5de8d9d89d0998ee1f6e4e7f39a8a8594871c45501638&amp;t=exs_ftn_download&amp;code=0271d885">http://mail.qq.com/cgi-bin/ftnExs_download?k=7a32373158f6a6c9e999342742380a1a5507065057595e051d51060650150c5752061a535009081805015153500e005752045650642e38f5de8d9d89d0998ee1f6e4e7f39a8a8594871c45501638&amp;t=exs_ftn_download&amp;code=0271d885</a></p>
<p>(54M)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=672</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Zuma&#8217;s Revenge(祖玛的复仇)</title>
		<link>http://www.shuax.com/?p=658</link>
		<comments>http://www.shuax.com/?p=658#comments</comments>
		<pubDate>Sat, 24 Oct 2009 04:06:32 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[DIY]]></category>
		<category><![CDATA[游戏]]></category>
		<category><![CDATA[破解]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=658</guid>
		<description><![CDATA[呵呵，上次发的祖玛有人说都玩腻了，这次来个更新一点的版本。 可是文件大小就有100M了。 游戏介绍： 如果你喜欢消除类休闲小游戏，那么你一定会接触到风靡世界的祖玛系列游戏和以祖玛游戏为创意的同类游戏，祖玛的灵感来自于1998年的Puzz Loop，玩家控制一只石青蛙进行360度的旋转射击，消除同类彩珠。游戏从开始的PC版到后来的Xbox Live，iPod和Facebook等多个不同平台推出。 最近POPCAP宣布即将推出祖玛的续作“Zuma&#8217;s Revenge”，游戏背景被设定在玻里尼西亚的岛屿上，包括6个不同的场景和60个风格各异的关卡。1920 x 1200的图形设定和支持宽屏显示器的画面效果，更多新的要素和能力，玩起来更有挑战性和战略性 官网称，该游戏将于9月15日正式发布，该游戏将拥有四个模式，以及各种技能和敌人。 作为祖玛游戏的鼻祖，这次祖玛新作较上作拥有更好更精美的画面，并且支持宽屏显示器分辨率；新增多种新能力武器和特性，新增多种游戏模式，另外还新增了Boss关卡。 游戏截图： 下载地址： http://mail.qq.com/cgi-bin/ftnExs_download?k=76666631b75fde9aedcd65271761514c505155020203560519515507574c575156524b085458024e050204075307055302555500316f63b4d2a48c84f5d9d7d0c44814504361&#38;t=exs_ftn_download&#38;code=4ff11acc]]></description>
			<content:encoded><![CDATA[<p>呵呵，上次发的祖玛有人说都玩腻了，这次来个更新一点的版本。<br />
可是文件大小就有100M了。</p>
<p><strong>游戏介绍：</strong><br />
如果你喜欢消除类休闲小游戏，那么你一定会接触到风靡世界的祖玛系列游戏和以祖玛游戏为创意的同类游戏，祖玛的灵感来自于1998年的Puzz Loop，玩家控制一只石青蛙进行360度的旋转射击，消除同类彩珠。游戏从开始的PC版到后来的Xbox Live，iPod和Facebook等多个不同平台推出。</p>
<p>最近POPCAP宣布即将推出祖玛的续作“Zuma&#8217;s Revenge”，游戏背景被设定在玻里尼西亚的岛屿上，包括6个不同的场景和60个风格各异的关卡。1920 x 1200的图形设定和支持宽屏显示器的画面效果，更多新的要素和能力，玩起来更有挑战性和战略性</p>
<p>官网称，该游戏将于9月15日正式发布，该游戏将拥有四个模式，以及各种技能和敌人。<br />
作为祖玛游戏的鼻祖，这次祖玛新作较上作拥有更好更精美的画面，并且支持宽屏显示器分辨率；新增多种新能力武器和特性，新增多种游戏模式，另外还新增了Boss关卡。</p>
<p><span id="more-658"></span></p>
<p><strong>游戏截图：</strong></p>
<p><img class="alignnone size-full wp-image-659" title="Revenge" src="http://www.shuax.com/wp-content/uploads/2009/10/Revenge.jpg" alt="Revenge" width="706" height="553" /></p>
<p><strong>下载地址：</strong></p>
<p><a href="http://mail.qq.com/cgi-bin/ftnExs_download?k=76666631b75fde9aedcd65271761514c505155020203560519515507574c575156524b085458024e050204075307055302555500316f63b4d2a48c84f5d9d7d0c44814504361&amp;t=exs_ftn_download&amp;code=4ff11acc">http://mail.qq.com/cgi-bin/ftnExs_download?k=76666631b75fde9aedcd65271761514c505155020203560519515507574c575156524b085458024e050204075307055302555500316f63b4d2a48c84f5d9d7d0c44814504361&amp;t=exs_ftn_download&amp;code=4ff11acc</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=658</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>[原创]CloseMonitor关闭显示器</title>
		<link>http://www.shuax.com/?p=653</link>
		<comments>http://www.shuax.com/?p=653#comments</comments>
		<pubDate>Fri, 23 Oct 2009 10:23:32 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[原创软件]]></category>
		<category><![CDATA[原创]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=653</guid>
		<description><![CDATA[　　有时，在离开电脑一小段时间，又不想关闭电脑时（如出门去吃饭等），继续开着它除了觉得费电外，也怕影响灯管的寿命，容易老化。所以，我就做了一个方便关闭显示器的小工具。 　　可能你想问了，为何要使用软件关闭显示器而不按显示器的电源开关？因为笔记本没有显示器的电源开关，而合住笔记本屏幕还要打开很麻烦。对于台式机，相信没有多少人会能在台式机中找到关闭显示器的按钮吧。而且台式机的话，有些人是直接关闭显示器的电源，但也不见得这样就能延长显示器的寿命，毕竟开开关关的，电源还是容易出问题。 　　咳咳，上面去复制一点介绍哈……我难得描述了，反正就是这个原理。 　　上面文章原本提到的软件是1.5kb，呵呵，还是比较小了，可是我就是不信邪…… 　　Oh，Year。我的CloseMonitor执行文件大小为620字节，压缩后为167字节。  　　使用方法很简单，双击执行就可以关闭显示器了，随便按一下键盘或移动一下鼠标就能恢复，当然也可以在桌面上建立一个快捷方式，然后设定一个热键，用热键来执行。 　　嘿嘿，大家以后出去时都能将显示器转到节能状态了（软关闭状态）～ v1.1 exe文件大小没变，但是压缩后的文件更小，仅仅167字节。 CloseMonitor v1.1 文件大小：0.3 KB&#12288;文件名称：CloseMonitor.rar 附带两个增强的关闭显示器。 windows7下漂亮的关闭显示器。5秒倒计时。 5close 文件大小：8.8 KB&#12288;文件名称：5close.rar 一个可以屏蔽鼠标的关闭显示器。只有按下键盘才能退出。 HookClose 文件大小：2.9 KB&#12288;文件名称：HookClose.rar]]></description>
			<content:encoded><![CDATA[<p>　　有时，在离开电脑一小段时间，又不想关闭电脑时（如出门去吃饭等），继续开着它除了觉得费电外，也怕影响灯管的寿命，容易老化。所以，我就做了一个方便关闭显示器的小工具。</p>
<p>　　可能你想问了，为何要使用软件关闭显示器而不按显示器的电源开关？因为笔记本没有显示器的电源开关，而合住笔记本屏幕还要打开很麻烦。对于台式机，相信没有多少人会能在台式机中找到关闭显示器的按钮吧。而且台式机的话，有些人是直接关闭显示器的电源，但也不见得这样就能延长显示器的寿命，毕竟开开关关的，电源还是容易出问题。</p>
<p>　　咳咳，上面去复制一点介绍哈……我难得描述了，反正就是这个原理。<br />
　　上面文章原本提到的软件是1.5kb，呵呵，还是比较小了，可是我就是不信邪……</p>
<p>　　Oh，Year。我的CloseMonitor执行文件大小为620字节，压缩后为167字节。<br />
<span id="more-653"></span><br />
 　　使用方法很简单，双击执行就可以关闭显示器了，随便按一下键盘或移动一下鼠标就能恢复，当然也可以在桌面上建立一个快捷方式，然后设定一个热键，用热键来执行。</p>
<p>　　嘿嘿，大家以后出去时都能将显示器转到节能状态了（软关闭状态）～</p>
<p>v1.1 exe文件大小没变，但是压缩后的文件更小，仅仅167字节。</p>
<p><div class='download-link'>
							<a href='http://www.shuax.com/download.php?file=http://www.shuax.com/download/CloseMonitor.rar'><img alt='Download' class='leftalign' src='http://www.shuax.com/wp-content/plugins/dBeautifier/icons/downloads.png' /></a>
							<h4>
								<a href='http://www.shuax.com/download.php?file=http://www.shuax.com/download/CloseMonitor.rar'>CloseMonitor v1.1</a>
							</h4><p>文件大小：0.3 KB&#12288;文件名称：CloseMonitor.rar</p>
						</div></p>
<p>附带两个增强的关闭显示器。<br />
windows7下漂亮的关闭显示器。5秒倒计时。<br />
<div class='download-link'>
							<a href='http://www.shuax.com/download.php?file=http://www.shuax.com/download/5close.rar'><img alt='Download' class='leftalign' src='http://www.shuax.com/wp-content/plugins/dBeautifier/icons/downloads.png' /></a>
							<h4>
								<a href='http://www.shuax.com/download.php?file=http://www.shuax.com/download/5close.rar'>5close</a>
							</h4><p>文件大小：8.8 KB&#12288;文件名称：5close.rar</p>
						</div><br />
一个可以屏蔽鼠标的关闭显示器。只有按下键盘才能退出。<br />
<div class='download-link'>
							<a href='http://www.shuax.com/download.php?file=http://www.shuax.com/download/HookClose.rar'><img alt='Download' class='leftalign' src='http://www.shuax.com/wp-content/plugins/dBeautifier/icons/downloads.png' /></a>
							<h4>
								<a href='http://www.shuax.com/download.php?file=http://www.shuax.com/download/HookClose.rar'>HookClose</a>
							</h4><p>文件大小：2.9 KB&#12288;文件名称：HookClose.rar</p>
						</div></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=653</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Plants Vs Zombies(植物大战僵尸)破解版</title>
		<link>http://www.shuax.com/?p=649</link>
		<comments>http://www.shuax.com/?p=649#comments</comments>
		<pubDate>Thu, 22 Oct 2009 08:17:25 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[DIY]]></category>
		<category><![CDATA[游戏]]></category>
		<category><![CDATA[破解]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=649</guid>
		<description><![CDATA[游戏介绍 　　游戏菜单一个看似简单实则极富策略性的小游戏.可怕的僵尸即将入侵你的家庭，你唯一的防御方式就是您栽种的植物。一款新奇的游戏即将登陆PC平台，名称为《植物大战僵尸(&#8216;Plants vs. Zombies&#8217; )》。武装您的49种植物，切换他们不同的功能，诸如樱桃炸弹或强悍的食人花，更加快速有效的将僵尸阻挡在入侵的道路上。不同的敌人，不同的玩法构成五种不同的游戏模式，加之夕阳、屋顶、浓雾以及泳池之类的障碍增加了其挑战性 奇特的游戏乐趣永无止境。 游戏截图 下载地址：http://www.uushare.com/user/shuax/file/2405474 (25.4M)]]></description>
			<content:encoded><![CDATA[<p><strong>游戏介绍</strong><br />
　　游戏菜单一个看似简单实则极富策略性的小游戏.可怕的僵尸即将入侵你的家庭，你唯一的防御方式就是您栽种的植物。一款新奇的游戏即将登陆PC平台，名称为《植物大战僵尸(&#8216;Plants vs. Zombies&#8217; )》。武装您的49种植物，切换他们不同的功能，诸如樱桃炸弹或强悍的食人花，更加快速有效的将僵尸阻挡在入侵的道路上。不同的敌人，不同的玩法构成五种不同的游戏模式，加之夕阳、屋顶、浓雾以及泳池之类的障碍增加了其挑战性 奇特的游戏乐趣永无止境。</p>
<p><strong>游戏截图</strong><br />
<span id="more-649"></span><br />
<img class="alignnone size-full wp-image-650" title="plants" src="http://www.shuax.com/wp-content/uploads/2009/10/plants.jpg" alt="plants" width="653" height="511" /></p>
<p><strong>下载地址：</strong><a href="http://www.uushare.com/user/shuax/file/2405474">http://www.uushare.com/user/shuax/file/2405474</a> (25.4M)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=649</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>网站统计</title>
		<link>http://www.shuax.com/?p=635</link>
		<comments>http://www.shuax.com/?p=635#comments</comments>
		<pubDate>Wed, 21 Oct 2009 07:16:19 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[我的生活]]></category>
		<category><![CDATA[分析]]></category>
		<category><![CDATA[网站]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=635</guid>
		<description><![CDATA[建站时间：2009-6-26   至今117天 51.la统计报告 基本流量状况   访问量 浏览量 总量: 2992 IP 12174 PV 今日流量: 26 IP 197 PV 昨日流量: 76 IP 265 PV 本月合计: 1297 IP 4689 PV 今年合计: 2992 IP 12174 PV 平均每日: 26 IP 104 PV 预计今日: 64 IP 359 PV     最高访问量: 342 IP 发生在: 2009-8-29   最高浏览量: 902 PV 发生在: 2009-8-29]]></description>
			<content:encoded><![CDATA[<p>建站时间：2009-6-26   至今117天</p>
<p><strong>51.la统计报告</strong></p>
<pre>基本流量状况</pre>
<div>
<table style="width: 522px; height: 249px;" border="0">
<tbody>
<tr>
<td style="width: 270px;">
<table id="SiteMain_2" style="width: 296px; height: 257px;" border="0">
<tbody>
<tr>
<td> </td>
<td>访问量</td>
<td>浏览量</td>
</tr>
<tr>
<td>总量:</td>
<td>2992 IP</td>
<td>12174 PV</td>
</tr>
<tr>
<td>今日流量:</td>
<td>26 IP</td>
<td>197 PV</td>
</tr>
<tr>
<td>昨日流量:</td>
<td>76 IP</td>
<td>265 PV</td>
</tr>
<tr>
<td>本月合计:</td>
<td>1297 IP</td>
<td>4689 PV</td>
</tr>
<tr>
<td>今年合计:</td>
<td>2992 IP</td>
<td>12174 PV</td>
</tr>
<tr>
<td>平均每日:</td>
<td>26 IP</td>
<td>104 PV</td>
</tr>
<tr style="height: 30px;">
<td>预计今日:</td>
<td>64 IP</td>
<td>359 PV</td>
</tr>
</tbody>
</table>
</td>
<td style="width: 10px;"> </td>
<td style="width: 220px;">
<table style="width: 147px; height: 181px;" border="0">
<tbody>
<tr>
<td> </td>
</tr>
<tr>
<td style="TEXT-ALIGN: right">最高访问量:</td>
<td style="TEXT-ALIGN: left">342 IP</td>
</tr>
<tr>
<td style="TEXT-ALIGN: right">发生在:</td>
<td style="TEXT-ALIGN: left">2009-8-29</td>
</tr>
<tr>
<td colspan="2"> </td>
</tr>
<tr>
<td style="TEXT-ALIGN: right">最高浏览量:</td>
<td style="TEXT-ALIGN: left">902 PV</td>
</tr>
<tr>
<td style="TEXT-ALIGN: right">发生在:</td>
<td style="TEXT-ALIGN: left">2009-8-29</td>
</tr>
</tbody>
</table>
<p> </p>
<p> </p>
<p> </td>
</tr>
</tbody>
</table>
</div>
<div><span id="more-635"></span></div>
<p><strong>关键词排名</strong></p>
<p><img class="alignnone size-full wp-image-636" title="1" src="http://www.shuax.com/wp-content/uploads/2009/10/1.jpg" alt="1" width="644" height="538" /></p>
<p><img class="alignnone size-full wp-image-637" title="2" src="http://www.shuax.com/wp-content/uploads/2009/10/2.jpg" alt="2" width="644" height="538" /></p>
<p><strong>收录统计</strong></p>
<p><img class="alignnone size-full wp-image-638" title="3" src="http://www.shuax.com/wp-content/uploads/2009/10/3.jpg" alt="3" width="644" height="592" /></p>
<p>呵呵，没事干，查查我的名字</p>
<p><img class="alignnone size-full wp-image-639" title="4" src="http://www.shuax.com/wp-content/uploads/2009/10/4.jpg" alt="4" width="644" height="538" /></p>
<p><strong>详细统计，来自51.la</strong></p>
<p><span style="text-decoration: underline;">我要啦排名</span></p>
<p><img class="alignnone size-full wp-image-640" title="ajrank" src="http://www.shuax.com/wp-content/uploads/2009/10/ajrank.png" alt="ajrank" width="411" height="140" /></p>
<p><span style="text-decoration: underline;">时段分析</span></p>
<p><!--Ajiang Stat 2.0--></p>
<div>
<table border="0">
<tbody>
<tr>
<td rowspan="2" valign="top">1200900600</p>
<p>300</p>
<p>0</td>
<td valign="bottom">
<table style="TEXT-ALIGN: center" border="0" cellspacing="0">
<tbody>
<tr>
<td style="width: 16px;" title="0 时 访问量: 40 IP, 1.4% 浏览量: 127 PV, 1.1%" valign="bottom"><img style="width: 10px; height: 7px;" src="http://www.shuax.com/images/0.gif" alt="0 时 访问量: 40 IP, 1.4% 浏览量: 127 PV, 1.1%" /><img style="width: 10px; height: 3px;" src="http://www.shuax.com/images/0.gif" alt="0 时 访问量: 40 IP, 1.4% 浏览量: 127 PV, 1.1%" /></td>
<td style="width: 16px;" title="1 时 访问量: 42 IP, 1.4% 浏览量: 103 PV, 0.9%" valign="bottom"><img style="width: 10px; height: 5px;" src="http://www.shuax.com/images/0.gif" alt="1 时 访问量: 42 IP, 1.4% 浏览量: 103 PV, 0.9%" /><img style="width: 10px; height: 4px;" src="http://www.shuax.com/images/0.gif" alt="1 时 访问量: 42 IP, 1.4% 浏览量: 103 PV, 0.9%" /></td>
<td style="width: 16px;" title="2 时 访问量: 20 IP, 0.7% 浏览量: 57 PV, 0.5%" valign="bottom"><img style="width: 10px; height: 3px;" src="http://www.shuax.com/images/0.gif" alt="2 时 访问量: 20 IP, 0.7% 浏览量: 57 PV, 0.5%" /><img style="width: 10px; height: 2px;" src="http://www.shuax.com/images/0.gif" alt="2 时 访问量: 20 IP, 0.7% 浏览量: 57 PV, 0.5%" /></td>
<td style="width: 16px;" title="3 时 访问量: 13 IP, 0.4% 浏览量: 73 PV, 0.6%" valign="bottom"><img style="width: 10px; height: 5px;" src="http://www.shuax.com/images/0.gif" alt="3 时 访问量: 13 IP, 0.4% 浏览量: 73 PV, 0.6%" /><img style="width: 10px; height: 1px;" src="http://www.shuax.com/images/0.gif" alt="3 时 访问量: 13 IP, 0.4% 浏览量: 73 PV, 0.6%" /></td>
<td style="width: 16px;" title="4 时 访问量: 12 IP, 0.4% 浏览量: 22 PV, 0.2%" valign="bottom"><img style="width: 10px; height: 1px;" src="http://www.shuax.com/images/0.gif" alt="4 时 访问量: 12 IP, 0.4% 浏览量: 22 PV, 0.2%" /><img style="width: 10px; height: 1px;" src="http://www.shuax.com/images/0.gif" alt="4 时 访问量: 12 IP, 0.4% 浏览量: 22 PV, 0.2%" /></td>
<td style="width: 16px;" title="5 时 访问量: 8 IP, 0.3% 浏览量: 37 PV, 0.3%" valign="bottom"><img style="width: 10px; height: 2px;" src="http://www.shuax.com/images/0.gif" alt="5 时 访问量: 8 IP, 0.3% 浏览量: 37 PV, 0.3%" /><img style="width: 10px; height: 1px;" src="http://www.shuax.com/images/0.gif" alt="5 时 访问量: 8 IP, 0.3% 浏览量: 37 PV, 0.3%" /></td>
<td style="width: 16px;" title="6 时 访问量: 22 IP, 0.8% 浏览量: 84 PV, 0.7%" valign="bottom"><img style="width: 10px; height: 5px;" src="http://www.shuax.com/images/0.gif" alt="6 时 访问量: 22 IP, 0.8% 浏览量: 84 PV, 0.7%" /><img style="width: 10px; height: 2px;" src="http://www.shuax.com/images/0.gif" alt="6 时 访问量: 22 IP, 0.8% 浏览量: 84 PV, 0.7%" /></td>
<td style="width: 16px;" title="7 时 访问量: 85 IP, 2.9% 浏览量: 426 PV, 3.6%" valign="bottom"><img style="width: 10px; height: 28px;" src="http://www.shuax.com/images/0.gif" alt="7 时 访问量: 85 IP, 2.9% 浏览量: 426 PV, 3.6%" /><img style="width: 10px; height: 7px;" src="http://www.shuax.com/images/0.gif" alt="7 时 访问量: 85 IP, 2.9% 浏览量: 426 PV, 3.6%" /></td>
<td style="width: 16px;" title="8 时 访问量: 159 IP, 5.4% 浏览量: 841 PV, 7.0%" valign="bottom"><img style="width: 10px; height: 57px;" src="http://www.shuax.com/images/0.gif" alt="8 时 访问量: 159 IP, 5.4% 浏览量: 841 PV, 7.0%" /><img style="width: 10px; height: 13px;" src="http://www.shuax.com/images/0.gif" alt="8 时 访问量: 159 IP, 5.4% 浏览量: 841 PV, 7.0%" /></td>
<td style="width: 16px;" title="9 时 访问量: 217 IP, 7.4% 浏览量: 968 PV, 8.1%" valign="bottom"><img style="width: 10px; height: 63px;" src="http://www.shuax.com/images/0.gif" alt="9 时 访问量: 217 IP, 7.4% 浏览量: 968 PV, 8.1%" /><img style="width: 10px; height: 18px;" src="http://www.shuax.com/images/0.gif" alt="9 时 访问量: 217 IP, 7.4% 浏览量: 968 PV, 8.1%" /></td>
<td style="width: 16px;" title="10 时 访问量: 317 IP, 10.8% 浏览量: 1123 PV, 9.4%" valign="bottom"><img style="width: 10px; height: 67px;" src="http://www.shuax.com/images/0.gif" alt="10 时 访问量: 317 IP, 10.8% 浏览量: 1123 PV, 9.4%" /><img style="width: 10px; height: 26px;" src="http://www.shuax.com/images/0.gif" alt="10 时 访问量: 317 IP, 10.8% 浏览量: 1123 PV, 9.4%" /></td>
<td style="width: 16px;" title="11 时 访问量: 293 IP, 10.0% 浏览量: 1020 PV, 8.5%" valign="bottom"><img style="width: 10px; height: 61px;" src="http://www.shuax.com/images/0.gif" alt="11 时 访问量: 293 IP, 10.0% 浏览量: 1020 PV, 8.5%" /><img style="width: 10px; height: 24px;" src="http://www.shuax.com/images/0.gif" alt="11 时 访问量: 293 IP, 10.0% 浏览量: 1020 PV, 8.5%" /></td>
<td style="width: 16px;" title="12 时 访问量: 171 IP, 5.8% 浏览量: 587 PV, 4.9%" valign="bottom"><img style="width: 10px; height: 35px;" src="http://www.shuax.com/images/0.gif" alt="12 时 访问量: 171 IP, 5.8% 浏览量: 587 PV, 4.9%" /><img style="width: 10px; height: 14px;" src="http://www.shuax.com/images/0.gif" alt="12 时 访问量: 171 IP, 5.8% 浏览量: 587 PV, 4.9%" /></td>
<td style="width: 16px;" title="13 时 访问量: 208 IP, 7.1% 浏览量: 956 PV, 8.0%" valign="bottom"><img style="width: 10px; height: 62px;" src="http://www.shuax.com/images/0.gif" alt="13 时 访问量: 208 IP, 7.1% 浏览量: 956 PV, 8.0%" /><img style="width: 10px; height: 17px;" src="http://www.shuax.com/images/0.gif" alt="13 时 访问量: 208 IP, 7.1% 浏览量: 956 PV, 8.0%" /></td>
<td style="width: 16px;" title="14 时 访问量: 178 IP, 6.1% 浏览量: 720 PV, 6.0%" valign="bottom"><img style="width: 10px; height: 45px;" src="http://www.shuax.com/images/0.gif" alt="14 时 访问量: 178 IP, 6.1% 浏览量: 720 PV, 6.0%" /><img style="width: 10px; height: 15px;" src="http://www.shuax.com/images/0.gif" alt="14 时 访问量: 178 IP, 6.1% 浏览量: 720 PV, 6.0%" /></td>
<td style="width: 16px;" title="15 时 访问量: 106 IP, 3.6% 浏览量: 391 PV, 3.3%" valign="bottom"><img style="width: 10px; height: 24px;" src="http://www.shuax.com/images/0.gif" alt="15 时 访问量: 106 IP, 3.6% 浏览量: 391 PV, 3.3%" /><img style="width: 10px; height: 9px;" src="http://www.shuax.com/images/0.gif" alt="15 时 访问量: 106 IP, 3.6% 浏览量: 391 PV, 3.3%" /></td>
<td style="width: 16px;" title="16 时 访问量: 255 IP, 8.7% 浏览量: 843 PV, 7.0%" valign="bottom"><img style="width: 10px; height: 49px;" src="http://www.shuax.com/images/0.gif" alt="16 时 访问量: 255 IP, 8.7% 浏览量: 843 PV, 7.0%" /><img style="width: 10px; height: 21px;" src="http://www.shuax.com/images/0.gif" alt="16 时 访问量: 255 IP, 8.7% 浏览量: 843 PV, 7.0%" /></td>
<td style="width: 16px;" title="17 时 访问量: 148 IP, 5.1% 浏览量: 726 PV, 6.1%" valign="bottom"><img style="width: 10px; height: 48px;" src="http://www.shuax.com/images/0.gif" alt="17 时 访问量: 148 IP, 5.1% 浏览量: 726 PV, 6.1%" /><img style="width: 10px; height: 12px;" src="http://www.shuax.com/images/0.gif" alt="17 时 访问量: 148 IP, 5.1% 浏览量: 726 PV, 6.1%" /></td>
<td style="width: 16px;" title="18 时 访问量: 110 IP, 3.8% 浏览量: 563 PV, 4.7%" valign="bottom"><img style="width: 10px; height: 38px;" src="http://www.shuax.com/images/0.gif" alt="18 时 访问量: 110 IP, 3.8% 浏览量: 563 PV, 4.7%" /><img style="width: 10px; height: 9px;" src="http://www.shuax.com/images/0.gif" alt="18 时 访问量: 110 IP, 3.8% 浏览量: 563 PV, 4.7%" /></td>
<td style="width: 16px;" title="19 时 访问量: 109 IP, 3.7% 浏览量: 603 PV, 5.0%" valign="bottom"><img style="width: 10px; height: 41px;" src="http://www.shuax.com/images/0.gif" alt="19 时 访问量: 109 IP, 3.7% 浏览量: 603 PV, 5.0%" /><img style="width: 10px; height: 9px;" src="http://www.shuax.com/images/0.gif" alt="19 时 访问量: 109 IP, 3.7% 浏览量: 603 PV, 5.0%" /></td>
<td style="width: 16px;" title="20 时 访问量: 90 IP, 3.1% 浏览量: 409 PV, 3.4%" valign="bottom"><img style="width: 10px; height: 27px;" src="http://www.shuax.com/images/0.gif" alt="20 时 访问量: 90 IP, 3.1% 浏览量: 409 PV, 3.4%" /><img style="width: 10px; height: 8px;" src="http://www.shuax.com/images/0.gif" alt="20 时 访问量: 90 IP, 3.1% 浏览量: 409 PV, 3.4%" /></td>
<td style="width: 16px;" title="21 时 访问量: 147 IP, 5.0% 浏览量: 590 PV, 4.9%" valign="bottom"><img style="width: 10px; height: 37px;" src="http://www.shuax.com/images/0.gif" alt="21 时 访问量: 147 IP, 5.0% 浏览量: 590 PV, 4.9%" /><img style="width: 10px; height: 12px;" src="http://www.shuax.com/images/0.gif" alt="21 时 访问量: 147 IP, 5.0% 浏览量: 590 PV, 4.9%" /></td>
<td style="width: 16px;" title="22 时 访问量: 99 IP, 3.4% 浏览量: 378 PV, 3.2%" valign="bottom"><img style="width: 10px; height: 23px;" src="http://www.shuax.com/images/0.gif" alt="22 时 访问量: 99 IP, 3.4% 浏览量: 378 PV, 3.2%" /><img style="width: 10px; height: 8px;" src="http://www.shuax.com/images/0.gif" alt="22 时 访问量: 99 IP, 3.4% 浏览量: 378 PV, 3.2%" /></td>
<td style="width: 16px;" title="23 时 访问量: 75 IP, 2.6% 浏览量: 319 PV, 2.7%" valign="bottom"><img style="width: 10px; height: 20px;" src="http://www.shuax.com/images/0.gif" alt="23 时 访问量: 75 IP, 2.6% 浏览量: 319 PV, 2.7%" /><img style="width: 10px; height: 6px;" src="http://www.shuax.com/images/0.gif" alt="23 时 访问量: 75 IP, 2.6% 浏览量: 319 PV, 2.7%" /></td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td style="PADDING-BOTTOM: 0px; PADDING-LEFT: 7px; PADDING-RIGHT: 7px; PADDING-TOP: 0px">
<table border="0" cellspacing="0">
<tbody>
<tr>
<td style="width: 16px;" title="0 时 访问量: 40 IP, 1.4% 浏览量: 127 PV, 1.1%">0</td>
<td style="width: 16px;" title="1 时 访问量: 42 IP, 1.4% 浏览量: 103 PV, 0.9%">1</td>
<td style="width: 16px;" title="2 时 访问量: 20 IP, 0.7% 浏览量: 57 PV, 0.5%">2</td>
<td style="width: 16px;" title="3 时 访问量: 13 IP, 0.4% 浏览量: 73 PV, 0.6%">3</td>
<td style="width: 16px;" title="4 时 访问量: 12 IP, 0.4% 浏览量: 22 PV, 0.2%">4</td>
<td style="width: 16px;" title="5 时 访问量: 8 IP, 0.3% 浏览量: 37 PV, 0.3%">5</td>
<td style="width: 16px;" title="6 时 访问量: 22 IP, 0.8% 浏览量: 84 PV, 0.7%">6</td>
<td style="width: 16px;" title="7 时 访问量: 85 IP, 2.9% 浏览量: 426 PV, 3.6%">7</td>
<td style="width: 16px;" title="8 时 访问量: 159 IP, 5.4% 浏览量: 841 PV, 7.0%">8</td>
<td style="width: 16px;" title="9 时 访问量: 217 IP, 7.4% 浏览量: 968 PV, 8.1%">9</td>
<td style="width: 16px;" title="10 时 访问量: 317 IP, 10.8% 浏览量: 1123 PV, 9.4%">10</td>
<td style="width: 16px;" title="11 时 访问量: 293 IP, 10.0% 浏览量: 1020 PV, 8.5%">11</td>
<td style="width: 16px;" title="12 时 访问量: 171 IP, 5.8% 浏览量: 587 PV, 4.9%">12</td>
<td style="width: 16px;" title="13 时 访问量: 208 IP, 7.1% 浏览量: 956 PV, 8.0%">13</td>
<td style="width: 16px;" title="14 时 访问量: 178 IP, 6.1% 浏览量: 720 PV, 6.0%">14</td>
<td style="width: 16px;" title="15 时 访问量: 106 IP, 3.6% 浏览量: 391 PV, 3.3%">15</td>
<td style="width: 16px;" title="16 时 访问量: 255 IP, 8.7% 浏览量: 843 PV, 7.0%">16</td>
<td style="width: 16px;" title="17 时 访问量: 148 IP, 5.1% 浏览量: 726 PV, 6.1%">17</td>
<td style="width: 16px;" title="18 时 访问量: 110 IP, 3.8% 浏览量: 563 PV, 4.7%">18</td>
<td style="width: 16px;" title="19 时 访问量: 109 IP, 3.7% 浏览量: 603 PV, 5.0%">19</td>
<td style="width: 16px;" title="20 时 访问量: 90 IP, 3.1% 浏览量: 409 PV, 3.4%">20</td>
<td style="width: 16px;" title="21 时 访问量: 147 IP, 5.0% 浏览量: 590 PV, 4.9%">21</td>
<td style="width: 16px;" title="22 时 访问量: 99 IP, 3.4% 浏览量: 378 PV, 3.2%">22</td>
<td style="width: 16px;" title="23 时 访问量: 75 IP, 2.6% 浏览量: 319 PV, 2.7%">23</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</div>
<div><span style="text-decoration: underline;">日段分析</span></div>
<div>
<table border="0">
<tbody>
<tr>
<td rowspan="2" valign="top">1040780520</p>
<p>260</p>
<p>0</td>
<td valign="bottom">
<table style="TEXT-ALIGN: center" border="0" cellspacing="0">
<tbody>
<tr>
<td style="width: 14px;" title="1 日 访问量: 242 IP, 8.1% 浏览量: 902 PV, 7.4%" valign="bottom"><img style="width: 10px; height: 63px;" src="http://www.shuax.com/images/0.gif" alt="1 日 访问量: 242 IP, 8.1% 浏览量: 902 PV, 7.4%" /><img style="width: 10px; height: 23px;" src="http://www.shuax.com/images/0.gif" alt="1 日 访问量: 242 IP, 8.1% 浏览量: 902 PV, 7.4%" /></td>
<td style="width: 14px;" title="2 日 访问量: 140 IP, 4.7% 浏览量: 593 PV, 4.9%" valign="bottom"><img style="width: 10px; height: 44px;" src="http://www.shuax.com/images/0.gif" alt="2 日 访问量: 140 IP, 4.7% 浏览量: 593 PV, 4.9%" /><img style="width: 10px; height: 13px;" src="http://www.shuax.com/images/0.gif" alt="2 日 访问量: 140 IP, 4.7% 浏览量: 593 PV, 4.9%" /></td>
<td style="width: 14px;" title="3 日 访问量: 26 IP, 0.9% 浏览量: 207 PV, 1.7%" valign="bottom"><img style="width: 10px; height: 17px;" src="http://www.shuax.com/images/0.gif" alt="3 日 访问量: 26 IP, 0.9% 浏览量: 207 PV, 1.7%" /><img style="width: 10px; height: 2px;" src="http://www.shuax.com/images/0.gif" alt="3 日 访问量: 26 IP, 0.9% 浏览量: 207 PV, 1.7%" /></td>
<td style="width: 14px;" title="4 日 访问量: 16 IP, 0.5% 浏览量: 88 PV, 0.7%" valign="bottom"><img style="width: 10px; height: 7px;" src="http://www.shuax.com/images/0.gif" alt="4 日 访问量: 16 IP, 0.5% 浏览量: 88 PV, 0.7%" /><img style="width: 10px; height: 2px;" src="http://www.shuax.com/images/0.gif" alt="4 日 访问量: 16 IP, 0.5% 浏览量: 88 PV, 0.7%" /></td>
<td style="width: 14px;" title="5 日 访问量: 16 IP, 0.5% 浏览量: 80 PV, 0.7%" valign="bottom"><img style="width: 10px; height: 6px;" src="http://www.shuax.com/images/0.gif" alt="5 日 访问量: 16 IP, 0.5% 浏览量: 80 PV, 0.7%" /><img style="width: 10px; height: 2px;" src="http://www.shuax.com/images/0.gif" alt="5 日 访问量: 16 IP, 0.5% 浏览量: 80 PV, 0.7%" /></td>
<td style="width: 14px;" title="6 日 访问量: 19 IP, 0.6% 浏览量: 47 PV, 0.4%" valign="bottom"><img style="width: 10px; height: 3px;" src="http://www.shuax.com/images/0.gif" alt="6 日 访问量: 19 IP, 0.6% 浏览量: 47 PV, 0.4%" /><img style="width: 10px; height: 2px;" src="http://www.shuax.com/images/0.gif" alt="6 日 访问量: 19 IP, 0.6% 浏览量: 47 PV, 0.4%" /></td>
<td style="width: 14px;" title="7 日 访问量: 8 IP, 0.3% 浏览量: 20 PV, 0.2%" valign="bottom"><img style="width: 10px; height: 1px;" src="http://www.shuax.com/images/0.gif" alt="7 日 访问量: 8 IP, 0.3% 浏览量: 20 PV, 0.2%" /><img style="width: 10px; height: 1px;" src="http://www.shuax.com/images/0.gif" alt="7 日 访问量: 8 IP, 0.3% 浏览量: 20 PV, 0.2%" /></td>
<td style="width: 14px;" title="8 日 访问量: 19 IP, 0.6% 浏览量: 78 PV, 0.6%" valign="bottom"><img style="width: 10px; height: 6px;" src="http://www.shuax.com/images/0.gif" alt="8 日 访问量: 19 IP, 0.6% 浏览量: 78 PV, 0.6%" /><img style="width: 10px; height: 2px;" src="http://www.shuax.com/images/0.gif" alt="8 日 访问量: 19 IP, 0.6% 浏览量: 78 PV, 0.6%" /></td>
<td style="width: 14px;" title="9 日 访问量: 27 IP, 0.9% 浏览量: 170 PV, 1.4%" valign="bottom"><img style="width: 10px; height: 14px;" src="http://www.shuax.com/images/0.gif" alt="9 日 访问量: 27 IP, 0.9% 浏览量: 170 PV, 1.4%" /><img style="width: 10px; height: 3px;" src="http://www.shuax.com/images/0.gif" alt="9 日 访问量: 27 IP, 0.9% 浏览量: 170 PV, 1.4%" /></td>
<td style="width: 14px;" title="10 日 访问量: 54 IP, 1.8% 浏览量: 228 PV, 1.9%" valign="bottom"><img style="width: 10px; height: 17px;" src="http://www.shuax.com/images/0.gif" alt="10 日 访问量: 54 IP, 1.8% 浏览量: 228 PV, 1.9%" /><img style="width: 10px; height: 5px;" src="http://www.shuax.com/images/0.gif" alt="10 日 访问量: 54 IP, 1.8% 浏览量: 228 PV, 1.9%" /></td>
<td style="width: 14px;" title="11 日 访问量: 131 IP, 4.4% 浏览量: 573 PV, 4.7%" valign="bottom"><img style="width: 10px; height: 42px;" src="http://www.shuax.com/images/0.gif" alt="11 日 访问量: 131 IP, 4.4% 浏览量: 573 PV, 4.7%" /><img style="width: 10px; height: 13px;" src="http://www.shuax.com/images/0.gif" alt="11 日 访问量: 131 IP, 4.4% 浏览量: 573 PV, 4.7%" /></td>
<td style="width: 14px;" title="12 日 访问量: 59 IP, 2.0% 浏览量: 282 PV, 2.3%" valign="bottom"><img style="width: 10px; height: 21px;" src="http://www.shuax.com/images/0.gif" alt="12 日 访问量: 59 IP, 2.0% 浏览量: 282 PV, 2.3%" /><img style="width: 10px; height: 6px;" src="http://www.shuax.com/images/0.gif" alt="12 日 访问量: 59 IP, 2.0% 浏览量: 282 PV, 2.3%" /></td>
<td style="width: 14px;" title="13 日 访问量: 270 IP, 9.0% 浏览量: 880 PV, 7.2%" valign="bottom"><img style="width: 10px; height: 59px;" src="http://www.shuax.com/images/0.gif" alt="13 日 访问量: 270 IP, 9.0% 浏览量: 880 PV, 7.2%" /><img style="width: 10px; height: 26px;" src="http://www.shuax.com/images/0.gif" alt="13 日 访问量: 270 IP, 9.0% 浏览量: 880 PV, 7.2%" /></td>
<td style="width: 14px;" title="14 日 访问量: 201 IP, 6.7% 浏览量: 597 PV, 4.9%" valign="bottom"><img style="width: 10px; height: 38px;" src="http://www.shuax.com/images/0.gif" alt="14 日 访问量: 201 IP, 6.7% 浏览量: 597 PV, 4.9%" /><img style="width: 10px; height: 19px;" src="http://www.shuax.com/images/0.gif" alt="14 日 访问量: 201 IP, 6.7% 浏览量: 597 PV, 4.9%" /></td>
<td style="width: 14px;" title="15 日 访问量: 202 IP, 6.8% 浏览量: 709 PV, 5.8%" valign="bottom"><img style="width: 10px; height: 49px;" src="http://www.shuax.com/images/0.gif" alt="15 日 访问量: 202 IP, 6.8% 浏览量: 709 PV, 5.8%" /><img style="width: 10px; height: 19px;" src="http://www.shuax.com/images/0.gif" alt="15 日 访问量: 202 IP, 6.8% 浏览量: 709 PV, 5.8%" /></td>
<td style="width: 14px;" title="16 日 访问量: 92 IP, 3.1% 浏览量: 400 PV, 3.3%" valign="bottom"><img style="width: 10px; height: 30px;" src="http://www.shuax.com/images/0.gif" alt="16 日 访问量: 92 IP, 3.1% 浏览量: 400 PV, 3.3%" /><img style="width: 10px; height: 9px;" src="http://www.shuax.com/images/0.gif" alt="16 日 访问量: 92 IP, 3.1% 浏览量: 400 PV, 3.3%" /></td>
<td style="width: 14px;" title="17 日 访问量: 114 IP, 3.8% 浏览量: 613 PV, 5.0%" valign="bottom"><img style="width: 10px; height: 48px;" src="http://www.shuax.com/images/0.gif" alt="17 日 访问量: 114 IP, 3.8% 浏览量: 613 PV, 5.0%" /><img style="width: 10px; height: 11px;" src="http://www.shuax.com/images/0.gif" alt="17 日 访问量: 114 IP, 3.8% 浏览量: 613 PV, 5.0%" /></td>
<td style="width: 14px;" title="18 日 访问量: 106 IP, 3.5% 浏览量: 665 PV, 5.5%" valign="bottom"><img style="width: 10px; height: 54px;" src="http://www.shuax.com/images/0.gif" alt="18 日 访问量: 106 IP, 3.5% 浏览量: 665 PV, 5.5%" /><img style="width: 10px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="18 日 访问量: 106 IP, 3.5% 浏览量: 665 PV, 5.5%" /></td>
<td style="width: 14px;" title="19 日 访问量: 82 IP, 2.7% 浏览量: 364 PV, 3.0%" valign="bottom"><img style="width: 10px; height: 27px;" src="http://www.shuax.com/images/0.gif" alt="19 日 访问量: 82 IP, 2.7% 浏览量: 364 PV, 3.0%" /><img style="width: 10px; height: 8px;" src="http://www.shuax.com/images/0.gif" alt="19 日 访问量: 82 IP, 2.7% 浏览量: 364 PV, 3.0%" /></td>
<td style="width: 14px;" title="20 日 访问量: 101 IP, 3.4% 浏览量: 377 PV, 3.1%" valign="bottom"><img style="width: 10px; height: 27px;" src="http://www.shuax.com/images/0.gif" alt="20 日 访问量: 101 IP, 3.4% 浏览量: 377 PV, 3.1%" /><img style="width: 10px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="20 日 访问量: 101 IP, 3.4% 浏览量: 377 PV, 3.1%" /></td>
<td style="width: 14px;" title="21 日 访问量: 72 IP, 2.4% 浏览量: 471 PV, 3.9%" valign="bottom"><img style="width: 10px; height: 38px;" src="http://www.shuax.com/images/0.gif" alt="21 日 访问量: 72 IP, 2.4% 浏览量: 471 PV, 3.9%" /><img style="width: 10px; height: 7px;" src="http://www.shuax.com/images/0.gif" alt="21 日 访问量: 72 IP, 2.4% 浏览量: 471 PV, 3.9%" /></td>
<td style="width: 14px;" title="22 日 访问量: 53 IP, 1.8% 浏览量: 341 PV, 2.8%" valign="bottom"><img style="width: 10px; height: 28px;" src="http://www.shuax.com/images/0.gif" alt="22 日 访问量: 53 IP, 1.8% 浏览量: 341 PV, 2.8%" /><img style="width: 10px; height: 5px;" src="http://www.shuax.com/images/0.gif" alt="22 日 访问量: 53 IP, 1.8% 浏览量: 341 PV, 2.8%" /></td>
<td style="width: 14px;" title="23 日 访问量: 41 IP, 1.4% 浏览量: 323 PV, 2.7%" valign="bottom"><img style="width: 10px; height: 27px;" src="http://www.shuax.com/images/0.gif" alt="23 日 访问量: 41 IP, 1.4% 浏览量: 323 PV, 2.7%" /><img style="width: 10px; height: 4px;" src="http://www.shuax.com/images/0.gif" alt="23 日 访问量: 41 IP, 1.4% 浏览量: 323 PV, 2.7%" /></td>
<td style="width: 14px;" title="24 日 访问量: 51 IP, 1.7% 浏览量: 193 PV, 1.6%" valign="bottom"><img style="width: 10px; height: 14px;" src="http://www.shuax.com/images/0.gif" alt="24 日 访问量: 51 IP, 1.7% 浏览量: 193 PV, 1.6%" /><img style="width: 10px; height: 5px;" src="http://www.shuax.com/images/0.gif" alt="24 日 访问量: 51 IP, 1.7% 浏览量: 193 PV, 1.6%" /></td>
<td style="width: 14px;" title="25 日 访问量: 38 IP, 1.3% 浏览量: 136 PV, 1.1%" valign="bottom"><img style="width: 10px; height: 9px;" src="http://www.shuax.com/images/0.gif" alt="25 日 访问量: 38 IP, 1.3% 浏览量: 136 PV, 1.1%" /><img style="width: 10px; height: 4px;" src="http://www.shuax.com/images/0.gif" alt="25 日 访问量: 38 IP, 1.3% 浏览量: 136 PV, 1.1%" /></td>
<td style="width: 14px;" title="26 日 访问量: 65 IP, 2.2% 浏览量: 280 PV, 2.3%" valign="bottom"><img style="width: 10px; height: 21px;" src="http://www.shuax.com/images/0.gif" alt="26 日 访问量: 65 IP, 2.2% 浏览量: 280 PV, 2.3%" /><img style="width: 10px; height: 6px;" src="http://www.shuax.com/images/0.gif" alt="26 日 访问量: 65 IP, 2.2% 浏览量: 280 PV, 2.3%" /></td>
<td style="width: 14px;" title="27 日 访问量: 53 IP, 1.8% 浏览量: 456 PV, 3.7%" valign="bottom"><img style="width: 10px; height: 39px;" src="http://www.shuax.com/images/0.gif" alt="27 日 访问量: 53 IP, 1.8% 浏览量: 456 PV, 3.7%" /><img style="width: 10px; height: 5px;" src="http://www.shuax.com/images/0.gif" alt="27 日 访问量: 53 IP, 1.8% 浏览量: 456 PV, 3.7%" /></td>
<td style="width: 14px;" title="28 日 访问量: 44 IP, 1.5% 浏览量: 239 PV, 2.0%" valign="bottom"><img style="width: 10px; height: 19px;" src="http://www.shuax.com/images/0.gif" alt="28 日 访问量: 44 IP, 1.5% 浏览量: 239 PV, 2.0%" /><img style="width: 10px; height: 4px;" src="http://www.shuax.com/images/0.gif" alt="28 日 访问量: 44 IP, 1.5% 浏览量: 239 PV, 2.0%" /></td>
<td style="width: 14px;" title="29 日 访问量: 362 IP, 12.1% 浏览量: 968 PV, 8.0%" valign="bottom"><img style="width: 10px; height: 58px;" src="http://www.shuax.com/images/0.gif" alt="29 日 访问量: 362 IP, 12.1% 浏览量: 968 PV, 8.0%" /><img style="width: 10px; height: 35px;" src="http://www.shuax.com/images/0.gif" alt="29 日 访问量: 362 IP, 12.1% 浏览量: 968 PV, 8.0%" /></td>
<td style="width: 14px;" title="30 日 访问量: 226 IP, 7.6% 浏览量: 619 PV, 5.1%" valign="bottom"><img style="width: 10px; height: 38px;" src="http://www.shuax.com/images/0.gif" alt="30 日 访问量: 226 IP, 7.6% 浏览量: 619 PV, 5.1%" /><img style="width: 10px; height: 22px;" src="http://www.shuax.com/images/0.gif" alt="30 日 访问量: 226 IP, 7.6% 浏览量: 619 PV, 5.1%" /></td>
<td style="width: 14px;" title="31 日 访问量: 62 IP, 2.1% 浏览量: 275 PV, 2.3%" valign="bottom"><img style="width: 10px; height: 20px;" src="http://www.shuax.com/images/0.gif" alt="31 日 访问量: 62 IP, 2.1% 浏览量: 275 PV, 2.3%" /><img style="width: 10px; height: 6px;" src="http://www.shuax.com/images/0.gif" alt="31 日 访问量: 62 IP, 2.1% 浏览量: 275 PV, 2.3%" /></td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td style="PADDING-BOTTOM: 0px; PADDING-LEFT: 7px; PADDING-RIGHT: 7px; PADDING-TOP: 0px">
<table border="0" cellspacing="0">
<tbody>
<tr>
<td style="width: 14px;" title="1 日 访问量: 242 IP, 8.1% 浏览量: 902 PV, 7.4%">1</td>
<td style="width: 14px;" title="2 日 访问量: 140 IP, 4.7% 浏览量: 593 PV, 4.9%">2</td>
<td style="width: 14px;" title="3 日 访问量: 26 IP, 0.9% 浏览量: 207 PV, 1.7%">3</td>
<td style="width: 14px;" title="4 日 访问量: 16 IP, 0.5% 浏览量: 88 PV, 0.7%">4</td>
<td style="width: 14px;" title="5 日 访问量: 16 IP, 0.5% 浏览量: 80 PV, 0.7%">5</td>
<td style="width: 14px;" title="6 日 访问量: 19 IP, 0.6% 浏览量: 47 PV, 0.4%">6</td>
<td style="width: 14px;" title="7 日 访问量: 8 IP, 0.3% 浏览量: 20 PV, 0.2%">7</td>
<td style="width: 14px;" title="8 日 访问量: 19 IP, 0.6% 浏览量: 78 PV, 0.6%">8</td>
<td style="width: 14px;" title="9 日 访问量: 27 IP, 0.9% 浏览量: 170 PV, 1.4%">9</td>
<td style="width: 14px;" title="10 日 访问量: 54 IP, 1.8% 浏览量: 228 PV, 1.9%">10</td>
<td style="width: 14px;" title="11 日 访问量: 131 IP, 4.4% 浏览量: 573 PV, 4.7%">11</td>
<td style="width: 14px;" title="12 日 访问量: 59 IP, 2.0% 浏览量: 282 PV, 2.3%">12</td>
<td style="width: 14px;" title="13 日 访问量: 270 IP, 9.0% 浏览量: 880 PV, 7.2%">13</td>
<td style="width: 14px;" title="14 日 访问量: 201 IP, 6.7% 浏览量: 597 PV, 4.9%">14</td>
<td style="width: 14px;" title="15 日 访问量: 202 IP, 6.8% 浏览量: 709 PV, 5.8%">15</td>
<td style="width: 14px;" title="16 日 访问量: 92 IP, 3.1% 浏览量: 400 PV, 3.3%">16</td>
<td style="width: 14px;" title="17 日 访问量: 114 IP, 3.8% 浏览量: 613 PV, 5.0%">17</td>
<td style="width: 14px;" title="18 日 访问量: 106 IP, 3.5% 浏览量: 665 PV, 5.5%">18</td>
<td style="width: 14px;" title="19 日 访问量: 82 IP, 2.7% 浏览量: 364 PV, 3.0%">19</td>
<td style="width: 14px;" title="20 日 访问量: 101 IP, 3.4% 浏览量: 377 PV, 3.1%">20</td>
<td style="width: 14px;" title="21 日 访问量: 72 IP, 2.4% 浏览量: 471 PV, 3.9%">21</td>
<td style="width: 14px;" title="22 日 访问量: 53 IP, 1.8% 浏览量: 341 PV, 2.8%">22</td>
<td style="width: 14px;" title="23 日 访问量: 41 IP, 1.4% 浏览量: 323 PV, 2.7%">23</td>
<td style="width: 14px;" title="24 日 访问量: 51 IP, 1.7% 浏览量: 193 PV, 1.6%">24</td>
<td style="width: 14px;" title="25 日 访问量: 38 IP, 1.3% 浏览量: 136 PV, 1.1%">25</td>
<td style="width: 14px;" title="26 日 访问量: 65 IP, 2.2% 浏览量: 280 PV, 2.3%">26</td>
<td style="width: 14px;" title="27 日 访问量: 53 IP, 1.8% 浏览量: 456 PV, 3.7%">27</td>
<td style="width: 14px;" title="28 日 访问量: 44 IP, 1.5% 浏览量: 239 PV, 2.0%">28</td>
<td style="width: 14px;" title="29 日 访问量: 362 IP, 12.1% 浏览量: 968 PV, 8.0%">29</td>
<td style="width: 14px;" title="30 日 访问量: 226 IP, 7.6% 浏览量: 619 PV, 5.1%">30</td>
<td style="width: 14px;" title="31 日 访问量: 62 IP, 2.1% 浏览量: 275 PV, 2.3%">31</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</div>
<div><span style="text-decoration: underline;">周月分析</span></div>
<div>
<table border="0">
<tbody>
<tr>
<td rowspan="2" valign="top">480036002400</p>
<p>1200</p>
<p>0</td>
<td valign="bottom">
<table style="TEXT-ALIGN: center" border="0" cellspacing="0">
<tbody>
<tr>
<td style="width: 15px;" title="2007 年 11 月 访问量: 0 IP, 0.0% 浏览量: 0 PV, 0.0%" valign="bottom"><img style="width: 10px; height: 0px;" src="http://www.shuax.com/images/0.gif" alt="2007 年 11 月 访问量: 0 IP, 0.0% 浏览量: 0 PV, 0.0%" /><img style="width: 10px; height: 0px;" src="http://www.shuax.com/images/0.gif" alt="2007 年 11 月 访问量: 0 IP, 0.0% 浏览量: 0 PV, 0.0%" /></td>
<td style="width: 15px;" title="2007 年 12 月 访问量: 0 IP, 0.0% 浏览量: 0 PV, 0.0%" valign="bottom"><img style="width: 10px; height: 0px;" src="http://www.shuax.com/images/0.gif" alt="2007 年 12 月 访问量: 0 IP, 0.0% 浏览量: 0 PV, 0.0%" /><img style="width: 10px; height: 0px;" src="http://www.shuax.com/images/0.gif" alt="2007 年 12 月 访问量: 0 IP, 0.0% 浏览量: 0 PV, 0.0%" /></td>
<td style="width: 15px;" title="2008 年 1 月 访问量: 0 IP, 0.0% 浏览量: 0 PV, 0.0%" valign="bottom"><img style="width: 10px; height: 0px;" src="http://www.shuax.com/images/0.gif" alt="2008 年 1 月 访问量: 0 IP, 0.0% 浏览量: 0 PV, 0.0%" /><img style="width: 10px; height: 0px;" src="http://www.shuax.com/images/0.gif" alt="2008 年 1 月 访问量: 0 IP, 0.0% 浏览量: 0 PV, 0.0%" /></td>
<td style="width: 15px;" title="2008 年 2 月 访问量: 0 IP, 0.0% 浏览量: 0 PV, 0.0%" valign="bottom"><img style="width: 10px; height: 0px;" src="http://www.shuax.com/images/0.gif" alt="2008 年 2 月 访问量: 0 IP, 0.0% 浏览量: 0 PV, 0.0%" /><img style="width: 10px; height: 0px;" src="http://www.shuax.com/images/0.gif" alt="2008 年 2 月 访问量: 0 IP, 0.0% 浏览量: 0 PV, 0.0%" /></td>
<td style="width: 15px;" title="2008 年 3 月 访问量: 0 IP, 0.0% 浏览量: 0 PV, 0.0%" valign="bottom"><img style="width: 10px; height: 0px;" src="http://www.shuax.com/images/0.gif" alt="2008 年 3 月 访问量: 0 IP, 0.0% 浏览量: 0 PV, 0.0%" /><img style="width: 10px; height: 0px;" src="http://www.shuax.com/images/0.gif" alt="2008 年 3 月 访问量: 0 IP, 0.0% 浏览量: 0 PV, 0.0%" /></td>
<td style="width: 15px;" title="2008 年 4 月 访问量: 0 IP, 0.0% 浏览量: 0 PV, 0.0%" valign="bottom"><img style="width: 10px; height: 0px;" src="http://www.shuax.com/images/0.gif" alt="2008 年 4 月 访问量: 0 IP, 0.0% 浏览量: 0 PV, 0.0%" /><img style="width: 10px; height: 0px;" src="http://www.shuax.com/images/0.gif" alt="2008 年 4 月 访问量: 0 IP, 0.0% 浏览量: 0 PV, 0.0%" /></td>
<td style="width: 15px;" title="2008 年 5 月 访问量: 0 IP, 0.0% 浏览量: 0 PV, 0.0%" valign="bottom"><img style="width: 10px; height: 0px;" src="http://www.shuax.com/images/0.gif" alt="2008 年 5 月 访问量: 0 IP, 0.0% 浏览量: 0 PV, 0.0%" /><img style="width: 10px; height: 0px;" src="http://www.shuax.com/images/0.gif" alt="2008 年 5 月 访问量: 0 IP, 0.0% 浏览量: 0 PV, 0.0%" /></td>
<td style="width: 15px;" title="2008 年 6 月 访问量: 0 IP, 0.0% 浏览量: 0 PV, 0.0%" valign="bottom"><img style="width: 10px; height: 0px;" src="http://www.shuax.com/images/0.gif" alt="2008 年 6 月 访问量: 0 IP, 0.0% 浏览量: 0 PV, 0.0%" /><img style="width: 10px; height: 0px;" src="http://www.shuax.com/images/0.gif" alt="2008 年 6 月 访问量: 0 IP, 0.0% 浏览量: 0 PV, 0.0%" /></td>
<td style="width: 15px;" title="2008 年 7 月 访问量: 0 IP, 0.0% 浏览量: 0 PV, 0.0%" valign="bottom"><img style="width: 10px; height: 0px;" src="http://www.shuax.com/images/0.gif" alt="2008 年 7 月 访问量: 0 IP, 0.0% 浏览量: 0 PV, 0.0%" /><img style="width: 10px; height: 0px;" src="http://www.shuax.com/images/0.gif" alt="2008 年 7 月 访问量: 0 IP, 0.0% 浏览量: 0 PV, 0.0%" /></td>
<td style="width: 15px;" title="2008 年 8 月 访问量: 0 IP, 0.0% 浏览量: 0 PV, 0.0%" valign="bottom"><img style="width: 10px; height: 0px;" src="http://www.shuax.com/images/0.gif" alt="2008 年 8 月 访问量: 0 IP, 0.0% 浏览量: 0 PV, 0.0%" /><img style="width: 10px; height: 0px;" src="http://www.shuax.com/images/0.gif" alt="2008 年 8 月 访问量: 0 IP, 0.0% 浏览量: 0 PV, 0.0%" /></td>
<td style="width: 15px;" title="2008 年 9 月 访问量: 0 IP, 0.0% 浏览量: 0 PV, 0.0%" valign="bottom"><img style="width: 10px; height: 0px;" src="http://www.shuax.com/images/0.gif" alt="2008 年 9 月 访问量: 0 IP, 0.0% 浏览量: 0 PV, 0.0%" /><img style="width: 10px; height: 0px;" src="http://www.shuax.com/images/0.gif" alt="2008 年 9 月 访问量: 0 IP, 0.0% 浏览量: 0 PV, 0.0%" /></td>
<td style="width: 15px;" title="2008 年 10 月 访问量: 0 IP, 0.0% 浏览量: 0 PV, 0.0%" valign="bottom"><img style="width: 10px; height: 0px;" src="http://www.shuax.com/images/0.gif" alt="2008 年 10 月 访问量: 0 IP, 0.0% 浏览量: 0 PV, 0.0%" /><img style="width: 10px; height: 0px;" src="http://www.shuax.com/images/0.gif" alt="2008 年 10 月 访问量: 0 IP, 0.0% 浏览量: 0 PV, 0.0%" /></td>
<td style="width: 15px;" title="2008 年 11 月 访问量: 0 IP, 0.0% 浏览量: 0 PV, 0.0%" valign="bottom"><img style="width: 10px; height: 0px;" src="http://www.shuax.com/images/0.gif" alt="2008 年 11 月 访问量: 0 IP, 0.0% 浏览量: 0 PV, 0.0%" /><img style="width: 10px; height: 0px;" src="http://www.shuax.com/images/0.gif" alt="2008 年 11 月 访问量: 0 IP, 0.0% 浏览量: 0 PV, 0.0%" /></td>
<td style="width: 15px;" title="2008 年 12 月 访问量: 0 IP, 0.0% 浏览量: 0 PV, 0.0%" valign="bottom"><img style="width: 10px; height: 0px;" src="http://www.shuax.com/images/0.gif" alt="2008 年 12 月 访问量: 0 IP, 0.0% 浏览量: 0 PV, 0.0%" /><img style="width: 10px; height: 0px;" src="http://www.shuax.com/images/0.gif" alt="2008 年 12 月 访问量: 0 IP, 0.0% 浏览量: 0 PV, 0.0%" /></td>
<td style="width: 15px;" title="2009 年 1 月 访问量: 0 IP, 0.0% 浏览量: 0 PV, 0.0%" valign="bottom"><img style="width: 10px; height: 0px;" src="http://www.shuax.com/images/0.gif" alt="2009 年 1 月 访问量: 0 IP, 0.0% 浏览量: 0 PV, 0.0%" /><img style="width: 10px; height: 0px;" src="http://www.shuax.com/images/0.gif" alt="2009 年 1 月 访问量: 0 IP, 0.0% 浏览量: 0 PV, 0.0%" /></td>
<td style="width: 15px;" title="2009 年 2 月 访问量: 0 IP, 0.0% 浏览量: 0 PV, 0.0%" valign="bottom"><img style="width: 10px; height: 0px;" src="http://www.shuax.com/images/0.gif" alt="2009 年 2 月 访问量: 0 IP, 0.0% 浏览量: 0 PV, 0.0%" /><img style="width: 10px; height: 0px;" src="http://www.shuax.com/images/0.gif" alt="2009 年 2 月 访问量: 0 IP, 0.0% 浏览量: 0 PV, 0.0%" /></td>
<td style="width: 15px;" title="2009 年 3 月 访问量: 0 IP, 0.0% 浏览量: 0 PV, 0.0%" valign="bottom"><img style="width: 10px; height: 0px;" src="http://www.shuax.com/images/0.gif" alt="2009 年 3 月 访问量: 0 IP, 0.0% 浏览量: 0 PV, 0.0%" /><img style="width: 10px; height: 0px;" src="http://www.shuax.com/images/0.gif" alt="2009 年 3 月 访问量: 0 IP, 0.0% 浏览量: 0 PV, 0.0%" /></td>
<td style="width: 15px;" title="2009 年 4 月 访问量: 0 IP, 0.0% 浏览量: 0 PV, 0.0%" valign="bottom"><img style="width: 10px; height: 0px;" src="http://www.shuax.com/images/0.gif" alt="2009 年 4 月 访问量: 0 IP, 0.0% 浏览量: 0 PV, 0.0%" /><img style="width: 10px; height: 0px;" src="http://www.shuax.com/images/0.gif" alt="2009 年 4 月 访问量: 0 IP, 0.0% 浏览量: 0 PV, 0.0%" /></td>
<td style="width: 15px;" title="2009 年 5 月 访问量: 0 IP, 0.0% 浏览量: 0 PV, 0.0%" valign="bottom"><img style="width: 10px; height: 0px;" src="http://www.shuax.com/images/0.gif" alt="2009 年 5 月 访问量: 0 IP, 0.0% 浏览量: 0 PV, 0.0%" /><img style="width: 10px; height: 0px;" src="http://www.shuax.com/images/0.gif" alt="2009 年 5 月 访问量: 0 IP, 0.0% 浏览量: 0 PV, 0.0%" /></td>
<td style="width: 15px;" title="2009 年 6 月 访问量: 31 IP, 1.0% 浏览量: 151 PV, 1.2%" valign="bottom"><img style="width: 10px; height: 2px;" src="http://www.shuax.com/images/0.gif" alt="2009 年 6 月 访问量: 31 IP, 1.0% 浏览量: 151 PV, 1.2%" /><img style="width: 10px; height: 1px;" src="http://www.shuax.com/images/0.gif" alt="2009 年 6 月 访问量: 31 IP, 1.0% 浏览量: 151 PV, 1.2%" /></td>
<td style="width: 15px;" title="2009 年 7 月 访问量: 90 IP, 3.0% 浏览量: 302 PV, 2.5%" valign="bottom"><img style="width: 10px; height: 4px;" src="http://www.shuax.com/images/0.gif" alt="2009 年 7 月 访问量: 90 IP, 3.0% 浏览量: 302 PV, 2.5%" /><img style="width: 10px; height: 2px;" src="http://www.shuax.com/images/0.gif" alt="2009 年 7 月 访问量: 90 IP, 3.0% 浏览量: 302 PV, 2.5%" /></td>
<td style="width: 15px;" title="2009 年 8 月 访问量: 920 IP, 30.7% 浏览量: 4412 PV, 36.2%" valign="bottom"><img style="width: 10px; height: 73px;" src="http://www.shuax.com/images/0.gif" alt="2009 年 8 月 访问量: 920 IP, 30.7% 浏览量: 4412 PV, 36.2%" /><img style="width: 10px; height: 19px;" src="http://www.shuax.com/images/0.gif" alt="2009 年 8 月 访问量: 920 IP, 30.7% 浏览量: 4412 PV, 36.2%" /></td>
<td style="width: 15px;" title="2009 年 9 月 访问量: 654 IP, 21.9% 浏览量: 2620 PV, 21.5%" valign="bottom"><img style="width: 10px; height: 41px;" src="http://www.shuax.com/images/0.gif" alt="2009 年 9 月 访问量: 654 IP, 21.9% 浏览量: 2620 PV, 21.5%" /><img style="width: 10px; height: 14px;" src="http://www.shuax.com/images/0.gif" alt="2009 年 9 月 访问量: 654 IP, 21.9% 浏览量: 2620 PV, 21.5%" /></td>
<td style="width: 15px;" title="2009 年 10 月 访问量: 1297 IP, 43.3% 浏览量: 4689 PV, 38.5%" valign="bottom"><img style="width: 10px; height: 71px;" src="http://www.shuax.com/images/0.gif" alt="2009 年 10 月 访问量: 1297 IP, 43.3% 浏览量: 4689 PV, 38.5%" /><img style="width: 10px; height: 27px;" src="http://www.shuax.com/images/0.gif" alt="2009 年 10 月 访问量: 1297 IP, 43.3% 浏览量: 4689 PV, 38.5%" /></td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td style="PADDING-BOTTOM: 0px; PADDING-LEFT: 7px; PADDING-RIGHT: 7px; PADDING-TOP: 0px">
<table border="0" cellspacing="0">
<tbody>
<tr>
<td style="width: 15px;" title="2007 年 11 月 访问量: 0 IP, 0.0% 浏览量: 0 PV, 0.0%">11</td>
<td style="width: 15px;" title="2007 年 12 月 访问量: 0 IP, 0.0% 浏览量: 0 PV, 0.0%">12</td>
<td style="width: 15px;" title="2008 年 1 月 访问量: 0 IP, 0.0% 浏览量: 0 PV, 0.0%">1</td>
<td style="width: 15px;" title="2008 年 2 月 访问量: 0 IP, 0.0% 浏览量: 0 PV, 0.0%">2</td>
<td style="width: 15px;" title="2008 年 3 月 访问量: 0 IP, 0.0% 浏览量: 0 PV, 0.0%">3</td>
<td style="width: 15px;" title="2008 年 4 月 访问量: 0 IP, 0.0% 浏览量: 0 PV, 0.0%">4</td>
<td style="width: 15px;" title="2008 年 5 月 访问量: 0 IP, 0.0% 浏览量: 0 PV, 0.0%">5</td>
<td style="width: 15px;" title="2008 年 6 月 访问量: 0 IP, 0.0% 浏览量: 0 PV, 0.0%">6</td>
<td style="width: 15px;" title="2008 年 7 月 访问量: 0 IP, 0.0% 浏览量: 0 PV, 0.0%">7</td>
<td style="width: 15px;" title="2008 年 8 月 访问量: 0 IP, 0.0% 浏览量: 0 PV, 0.0%">8</td>
<td style="width: 15px;" title="2008 年 9 月 访问量: 0 IP, 0.0% 浏览量: 0 PV, 0.0%">9</td>
<td style="width: 15px;" title="2008 年 10 月 访问量: 0 IP, 0.0% 浏览量: 0 PV, 0.0%">10</td>
<td style="width: 15px;" title="2008 年 11 月 访问量: 0 IP, 0.0% 浏览量: 0 PV, 0.0%">11</td>
<td style="width: 15px;" title="2008 年 12 月 访问量: 0 IP, 0.0% 浏览量: 0 PV, 0.0%">12</td>
<td style="width: 15px;" title="2009 年 1 月 访问量: 0 IP, 0.0% 浏览量: 0 PV, 0.0%">1</td>
<td style="width: 15px;" title="2009 年 2 月 访问量: 0 IP, 0.0% 浏览量: 0 PV, 0.0%">2</td>
<td style="width: 15px;" title="2009 年 3 月 访问量: 0 IP, 0.0% 浏览量: 0 PV, 0.0%">3</td>
<td style="width: 15px;" title="2009 年 4 月 访问量: 0 IP, 0.0% 浏览量: 0 PV, 0.0%">4</td>
<td style="width: 15px;" title="2009 年 5 月 访问量: 0 IP, 0.0% 浏览量: 0 PV, 0.0%">5</td>
<td style="width: 15px;" title="2009 年 6 月 访问量: 31 IP, 1.0% 浏览量: 151 PV, 1.2%">6</td>
<td style="width: 15px;" title="2009 年 7 月 访问量: 90 IP, 3.0% 浏览量: 302 PV, 2.5%">7</td>
<td style="width: 15px;" title="2009 年 8 月 访问量: 920 IP, 30.7% 浏览量: 4412 PV, 36.2%">8</td>
<td style="width: 15px;" title="2009 年 9 月 访问量: 654 IP, 21.9% 浏览量: 2620 PV, 21.5%">9</td>
<td style="width: 15px;" title="2009 年 10 月 访问量: 1297 IP, 43.3% 浏览量: 4689 PV, 38.5%">10</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</div>
<div>
<table border="0">
<tbody>
<tr>
<td rowspan="2" valign="top">240018001200</p>
<p>600</p>
<p>0</td>
<td valign="bottom">
<table style="TEXT-ALIGN: center" border="0" cellspacing="0">
<tbody>
<tr>
<td style="width: 16px;" title="星期日 访问量: 528 IP, 17.6% 浏览量: 2240 PV, 18.4%" valign="bottom"><img style="width: 10px; height: 71px;" src="http://www.shuax.com/images/0.gif" alt="星期日 访问量: 528 IP, 17.6% 浏览量: 2240 PV, 18.4%" /><img style="width: 10px; height: 22px;" src="http://www.shuax.com/images/0.gif" alt="星期日 访问量: 528 IP, 17.6% 浏览量: 2240 PV, 18.4%" /></td>
<td style="width: 16px;" title="星期一 访问量: 275 IP, 9.2% 浏览量: 1196 PV, 9.8%" valign="bottom"><img style="width: 10px; height: 38px;" src="http://www.shuax.com/images/0.gif" alt="星期一 访问量: 275 IP, 9.2% 浏览量: 1196 PV, 9.8%" /><img style="width: 10px; height: 11px;" src="http://www.shuax.com/images/0.gif" alt="星期一 访问量: 275 IP, 9.2% 浏览量: 1196 PV, 9.8%" /></td>
<td style="width: 16px;" title="星期二 访问量: 609 IP, 20.4% 浏览量: 2193 PV, 18.0%" valign="bottom"><img style="width: 10px; height: 66px;" src="http://www.shuax.com/images/0.gif" alt="星期二 访问量: 609 IP, 20.4% 浏览量: 2193 PV, 18.0%" /><img style="width: 10px; height: 25px;" src="http://www.shuax.com/images/0.gif" alt="星期二 访问量: 609 IP, 20.4% 浏览量: 2193 PV, 18.0%" /></td>
<td style="width: 16px;" title="星期三 访问量: 458 IP, 15.3% 浏览量: 1837 PV, 15.1%" valign="bottom"><img style="width: 10px; height: 57px;" src="http://www.shuax.com/images/0.gif" alt="星期三 访问量: 458 IP, 15.3% 浏览量: 1837 PV, 15.1%" /><img style="width: 10px; height: 19px;" src="http://www.shuax.com/images/0.gif" alt="星期三 访问量: 458 IP, 15.3% 浏览量: 1837 PV, 15.1%" /></td>
<td style="width: 16px;" title="星期四 访问量: 328 IP, 11.0% 浏览量: 1434 PV, 11.8%" valign="bottom"><img style="width: 10px; height: 46px;" src="http://www.shuax.com/images/0.gif" alt="星期四 访问量: 328 IP, 11.0% 浏览量: 1434 PV, 11.8%" /><img style="width: 10px; height: 14px;" src="http://www.shuax.com/images/0.gif" alt="星期四 访问量: 328 IP, 11.0% 浏览量: 1434 PV, 11.8%" /></td>
<td style="width: 16px;" title="星期五 访问量: 207 IP, 6.9% 浏览量: 1091 PV, 9.0%" valign="bottom"><img style="width: 10px; height: 37px;" src="http://www.shuax.com/images/0.gif" alt="星期五 访问量: 207 IP, 6.9% 浏览量: 1091 PV, 9.0%" /><img style="width: 10px; height: 9px;" src="http://www.shuax.com/images/0.gif" alt="星期五 访问量: 207 IP, 6.9% 浏览量: 1091 PV, 9.0%" /></td>
<td style="width: 16px;" title="星期六 访问量: 587 IP, 19.6% 浏览量: 2183 PV, 17.9%" valign="bottom"><img style="width: 10px; height: 66px;" src="http://www.shuax.com/images/0.gif" alt="星期六 访问量: 587 IP, 19.6% 浏览量: 2183 PV, 17.9%" /><img style="width: 10px; height: 24px;" src="http://www.shuax.com/images/0.gif" alt="星期六 访问量: 587 IP, 19.6% 浏览量: 2183 PV, 17.9%" /></td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td style="PADDING-BOTTOM: 0px; PADDING-LEFT: 7px; PADDING-RIGHT: 7px; PADDING-TOP: 0px">
<table border="0" cellspacing="0">
<tbody>
<tr>
<td style="width: 16px;" title="星期日 访问量: 528 IP, 17.6% 浏览量: 2240 PV, 18.4%">日</td>
<td style="width: 16px;" title="星期一 访问量: 275 IP, 9.2% 浏览量: 1196 PV, 9.8%">一</td>
<td style="width: 16px;" title="星期二 访问量: 609 IP, 20.4% 浏览量: 2193 PV, 18.0%">二</td>
<td style="width: 16px;" title="星期三 访问量: 458 IP, 15.3% 浏览量: 1837 PV, 15.1%">三</td>
<td style="width: 16px;" title="星期四 访问量: 328 IP, 11.0% 浏览量: 1434 PV, 11.8%">四</td>
<td style="width: 16px;" title="星期五 访问量: 207 IP, 6.9% 浏览量: 1091 PV, 9.0%">五</td>
<td style="width: 16px;" title="星期六 访问量: 587 IP, 19.6% 浏览量: 2183 PV, 17.9%">六</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</div>
<div><span style="text-decoration: underline;">搜索引擎</span></div>
<div>
<table border="0">
<tbody>
<tr>
<td>
<table id="gra_shu" border="0" cellspacing="0">
<tbody>
<tr style="TEXT-ALIGN: right">
<td style="TEXT-ALIGN: center">搜索引擎</td>
<td> 总量 </td>
<td> 比例 </td>
</tr>
<tr style="height: 12px;">
<td colspan="7">
<hr /></td>
</tr>
<tr style="text-align: right; height: 16px;" title="百度 来访量: 89 比例: 67.4%">
<td style="TEXT-ALIGN: left">  百度</td>
<td>89 </td>
<td>67.4% </td>
</tr>
<tr style="text-align: right; height: 16px;" title="百度贴吧 来访量: 0 比例: 0.0%">
<td style="TEXT-ALIGN: left">  百度贴吧</td>
<td>0 </td>
<td>0.0% </td>
</tr>
<tr style="text-align: right; height: 16px;" title="Google 来访量: 40 比例: 30.3%">
<td style="TEXT-ALIGN: left">  Google</td>
<td>40 </td>
<td>30.3% </td>
</tr>
<tr style="text-align: right; height: 16px;" title="网易有道 来访量: 0 比例: 0.0%">
<td style="TEXT-ALIGN: left">  网易有道</td>
<td>0 </td>
<td>0.0% </td>
</tr>
<tr style="text-align: right; height: 16px;" title="腾讯SoSo 来访量: 1 比例: 0.8%">
<td style="TEXT-ALIGN: left">  腾讯SoSo</td>
<td>1 </td>
<td>0.8% </td>
</tr>
<tr style="text-align: right; height: 16px;" title="雅虎 来访量: 0 比例: 0.0%">
<td style="TEXT-ALIGN: left">  雅虎</td>
<td>0 </td>
<td>0.0% </td>
</tr>
<tr style="text-align: right; height: 16px;" title="3721 来访量: 0 比例: 0.0%">
<td style="TEXT-ALIGN: left">  3721</td>
<td>0 </td>
<td>0.0% </td>
</tr>
<tr style="text-align: right; height: 16px;" title="搜狐搜狗 来访量: 2 比例: 1.5%">
<td style="TEXT-ALIGN: left">  搜狐搜狗</td>
<td>2 </td>
<td>1.5% </td>
</tr>
<tr style="text-align: right; height: 16px;" title="BingLive 来访量: 0 比例: 0.0%">
<td style="TEXT-ALIGN: left">  BingLive</td>
<td>0 </td>
<td>0.0% </td>
</tr>
<tr style="text-align: right; height: 16px;" title="中国搜索 来访量: 0 比例: 0.0%">
<td style="TEXT-ALIGN: left">  中国搜索</td>
<td>0 </td>
<td>0.0% </td>
</tr>
<tr style="text-align: right; height: 16px;" title="TOM 来访量: 0 比例: 0.0%">
<td style="TEXT-ALIGN: left">  TOM</td>
<td>0 </td>
<td>0.0% </td>
</tr>
<tr style="height: 12px;">
<td colspan="7">
<hr /></td>
</tr>
</tbody>
</table>
</td>
<td><!--Ajiang Stat 2.0--><!--Ajiang Stat 2.0--></td>
</tr>
</tbody>
</table>
</div>
<div> </div>
<div><span style="text-decoration: underline;">操作系统</span></div>
<div> </div>
<div>
<table border="0">
<tbody>
<tr>
<td>
<table id="gra_shu" border="0" cellspacing="0">
<tbody>
<tr style="TEXT-ALIGN: right">
<td style="TEXT-ALIGN: center">共 10 项 </td>
<td> 访问量 </td>
<td> 比例 </td>
</tr>
<tr style="height: 12px;">
<td colspan="3">
<hr /></td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> Windows XP</td>
<td>965 </td>
<td>61.3% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> Windows NT 6.1</td>
<td>448 </td>
<td>28.5% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> Windows Vista</td>
<td>88 </td>
<td>5.6% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> Windows Server 2003</td>
<td>37 </td>
<td>2.4% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> 其它</td>
<td>24 </td>
<td>1.5% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> Windows 2000</td>
<td>6 </td>
<td>0.4% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> Mac OS X 10_6</td>
<td>3 </td>
<td>0.2% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> Linux i686</td>
<td>1 </td>
<td>0.1% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> Linux x86_64</td>
<td>1 </td>
<td>0.1% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> Mac OS X 10_5_8</td>
<td>1 </td>
<td>0.1% </td>
</tr>
<tr style="height: 12px;">
<td colspan="3">
<hr /></td>
</tr>
</tbody>
</table>
</td>
<td><!--Ajiang Stat 2.0--></p>
<table id="gra_shu" border="0" cellspacing="0">
<tbody>
<tr style="height: 16px;">
<td> </td>
<td> </td>
</tr>
<tr style="height: 12px;">
<td> </td>
<td valign="bottom"> </td>
</tr>
<tr>
<td> </td>
<td><img style="width: 93px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="965" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 43px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="448" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 8px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="88" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 4px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="37" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 2px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="24" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 1px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="6" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 0px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="3" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 0px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="1" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 0px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="1" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 0px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="1" /></td>
</tr>
<tr style="height: 12px;">
<td> </td>
<td valign="top"> </td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</div>
<div><span style="text-decoration: underline;">浏览器</span></div>
<table border="0">
<tbody>
<tr>
<td>
<table id="gra_shu" border="0" cellspacing="0">
<tbody>
<tr style="TEXT-ALIGN: right">
<td style="TEXT-ALIGN: center">共 54 项 </td>
<td> 访问量 </td>
<td> 比例 </td>
</tr>
<tr style="height: 12px;">
<td colspan="3">
<hr /></td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> MSIE 6.0</td>
<td>589 </td>
<td>37.4% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> MSIE 7.0</td>
<td>334 </td>
<td>21.2% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> MSIE 8.0</td>
<td>204 </td>
<td>13.0% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> MSIE 6.0,MAXTHON 2.0</td>
<td>75 </td>
<td>4.8% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> MSIE 7.0,MAXTHON 2.0</td>
<td>74 </td>
<td>4.7% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> Firefox 3.5.3</td>
<td>67 </td>
<td>4.3% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> Safari 532.0</td>
<td>30 </td>
<td>1.9% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> Opera 9.80</td>
<td>21 </td>
<td>1.3% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> MSIE 8.0,MAXTHON 2.0</td>
<td>19 </td>
<td>1.2% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> MSIE 6.0,TencentTraveler 4.0</td>
<td>19 </td>
<td>1.2% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> MSIE 6.0,Maxthon</td>
<td>16 </td>
<td>1.0% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> 其它</td>
<td>12 </td>
<td>0.8% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> MSIE 7.0,TencentTraveler 4.0</td>
<td>11 </td>
<td>0.7% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> Opera 8.01 ,Opera Mini 3.1.8540 1712</td>
<td>9 </td>
<td>0.6% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> Safari 532.2</td>
<td>9 </td>
<td>0.6% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> Firefox 3.5.3 GTB5</td>
<td>8 </td>
<td>0.5% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> Mozilla 4.0</td>
<td>7 </td>
<td>0.4% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> MSIE 7.0,Maxthon</td>
<td>7 </td>
<td>0.4% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> Safari 532.1</td>
<td>6 </td>
<td>0.4% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> Safari 530.5</td>
<td>5 </td>
<td>0.3% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> Safari 531.9</td>
<td>4 </td>
<td>0.3% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> Firefox 3.5.2</td>
<td>4 </td>
<td>0.3% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> Mozilla 5.0</td>
<td>4 </td>
<td>0.3% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> Firefox 2.0.0.20</td>
<td>4 </td>
<td>0.3% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> Firefox 3.0.14</td>
<td>4 </td>
<td>0.3% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> MSIE 8.0,TencentTraveler 4.0</td>
<td>3 </td>
<td>0.2% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> MSIE 7.0b</td>
<td>2 </td>
<td>0.1% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> Opera 9.60 ,Opera Mini 4.2.13400 960</td>
<td>1 </td>
<td>0.1% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> Opera 9.60 ,Opera Mini 4.2.14912 960</td>
<td>1 </td>
<td>0.1% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> Opera 9.63</td>
<td>1 </td>
<td>0.1% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> Opera 9.64 ,Opera Now!</td>
<td>1 </td>
<td>0.1% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> Safari 531.0</td>
<td>1 </td>
<td>0.1% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> Opera 9.80 ,Opera Mini 4.2.14912 756</td>
<td>1 </td>
<td>0.1% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> Firefox 3.0.6</td>
<td>1 </td>
<td>0.1% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> Firefox 3.0.7</td>
<td>1 </td>
<td>0.1% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> Firefox 3.0.7 GTB5</td>
<td>1 </td>
<td>0.1% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> Firefox 3.0.9 Wyzo 3.0.3</td>
<td>1 </td>
<td>0.1% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> Firefox 3.5</td>
<td>1 </td>
<td>0.1% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> Firefox 3.0.11 QQDownload 1.7</td>
<td>1 </td>
<td>0.1% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> Firefox 3.0.12</td>
<td>1 </td>
<td>0.1% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> Firefox 3.5.3 GTB6</td>
<td>1 </td>
<td>0.1% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> Firefox 3.5.3 Jingoo 0.1.0</td>
<td>1 </td>
<td>0.1% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> Firefox 3.5.4</td>
<td>1 </td>
<td>0.1% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> Firefox 3.5.4pre GTB5 AutoPager 0.5.2.2</td>
<td>1 </td>
<td>0.1% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> Firefox 3.6b1</td>
<td>1 </td>
<td>0.1% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> MAXTHON 2.0</td>
<td>1 </td>
<td>0.1% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> Maxthon 3.0 Safari 530.6</td>
<td>1 </td>
<td>0.1% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> MSIE 6.0,Maxthon,Maxthon</td>
<td>1 </td>
<td>0.1% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> MSIE 6.0,NetCaptor 7.5.4</td>
<td>1 </td>
<td>0.1% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> MSIE 6.0,TencentTraveler</td>
<td>1 </td>
<td>0.1% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> MSIE 7.0,Maxthon,MAXTHON 2.0</td>
<td>1 </td>
<td>0.1% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> MSIE 7.0,msn OptimizedIE8</td>
<td>1 </td>
<td>0.1% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> MSIE 7.0,msn OptimizedIE8,MAXTHON 2.0</td>
<td>1 </td>
<td>0.1% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> MSIE 7.0,TencentTraveler ,TencentTraveler 4.0</td>
<td>1 </td>
<td>0.1% </td>
</tr>
<tr style="height: 12px;">
<td colspan="3">
<hr /></td>
</tr>
</tbody>
</table>
</td>
<td><!--Ajiang Stat 2.0--></p>
<table id="gra_shu" border="0" cellspacing="0">
<tbody>
<tr style="height: 16px;">
<td> </td>
<td> </td>
</tr>
<tr style="height: 12px;">
<td> </td>
<td valign="bottom"> </td>
</tr>
<tr>
<td> </td>
<td><img style="width: 98px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="589" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 56px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="334" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 34px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="204" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 12px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="75" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 12px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="74" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 11px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="67" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 5px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="30" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 4px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="21" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 3px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="19" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 3px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="19" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 3px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="16" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 2px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="12" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 2px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="11" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 2px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="9" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 2px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="9" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 1px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="8" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 1px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="7" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 1px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="7" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 1px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="6" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 1px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="5" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 1px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="4" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 1px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="4" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 1px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="4" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 1px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="4" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 1px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="4" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 0px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="3" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 0px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="2" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 0px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="1" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 0px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="1" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 0px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="1" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 0px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="1" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 0px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="1" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 0px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="1" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 0px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="1" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 0px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="1" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 0px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="1" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 0px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="1" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 0px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="1" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 0px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="1" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 0px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="1" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 0px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="1" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 0px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="1" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 0px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="1" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 0px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="1" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 0px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="1" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 0px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="1" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 0px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="1" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 0px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="1" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 0px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="1" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 0px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="1" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 0px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="1" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 0px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="1" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 0px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="1" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 0px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="1" /></td>
</tr>
<tr style="height: 12px;">
<td> </td>
<td valign="top"> </td>
</tr>
</tbody>
</table>
<p><!--Ajiang Stat 2.0--></td>
</tr>
</tbody>
</table>
<p><span style="text-decoration: underline;">系统语言</span></p>
<table border="0">
<tbody>
<tr>
<td>
<table id="gra_shu" border="0" cellspacing="0">
<tbody>
<tr style="TEXT-ALIGN: right">
<td style="TEXT-ALIGN: center">共 9 项 </td>
<td> 访问量 </td>
<td> 比例 </td>
</tr>
<tr style="height: 12px;">
<td colspan="3">
<hr /></td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> 中文 &#8211; 中华人民共和国 (zh-cn)</td>
<td>1509 </td>
<td>95.9% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> 英语 &#8211; 美国 (en-us)</td>
<td>28 </td>
<td>1.8% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> 未知 ()</td>
<td>15 </td>
<td>1.0% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> 中文 &#8211; 中华人民共和国台湾地区 (zh-tw)</td>
<td>10 </td>
<td>0.6% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> 英语 (en)</td>
<td>6 </td>
<td>0.4% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> 中文 (zh)</td>
<td>2 </td>
<td>0.1% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> 未知 (zh-cn_stro)</td>
<td>2 </td>
<td>0.1% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> 中文 &#8211; 中华人民共和国香港特别行政区 (zh-hk)</td>
<td>1 </td>
<td>0.1% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> 法语 &#8211; 法国 (fr-fr)</td>
<td>1 </td>
<td>0.1% </td>
</tr>
<tr style="height: 12px;">
<td colspan="3">
<hr /></td>
</tr>
</tbody>
</table>
</td>
<td><!--Ajiang Stat 2.0--></p>
<table id="gra_shu" border="0" cellspacing="0">
<tbody>
<tr style="height: 16px;">
<td> </td>
<td> </td>
</tr>
<tr style="height: 12px;">
<td> </td>
<td valign="bottom"> </td>
</tr>
<tr>
<td> </td>
<td><img style="width: 99px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="1509" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 2px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="28" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 1px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="15" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 1px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="10" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 0px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="6" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 0px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="2" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 0px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="2" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 0px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="1" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 0px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="1" /></td>
</tr>
<tr style="height: 12px;">
<td> </td>
<td valign="top"> </td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
<p><span style="text-decoration: underline;">屏幕尺寸</span></p>
<table border="0">
<tbody>
<tr>
<td>
<table id="gra_shu" border="0" cellspacing="0">
<tbody>
<tr style="TEXT-ALIGN: right">
<td style="TEXT-ALIGN: center">共 46 项 </td>
<td> 访问量 </td>
<td> 比例 </td>
</tr>
<tr style="height: 12px;">
<td colspan="3">
<hr /></td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> 1024×768</td>
<td>457 </td>
<td>29.0% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> 1280×800</td>
<td>311 </td>
<td>19.8% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> 1440×900</td>
<td>237 </td>
<td>15.1% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> 1366×768</td>
<td>188 </td>
<td>11.9% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> 1280×1024</td>
<td>124 </td>
<td>7.9% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> 1680×1050</td>
<td>74 </td>
<td>4.7% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> 1152×864</td>
<td>21 </td>
<td>1.3% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> 1280×768</td>
<td>19 </td>
<td>1.2% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> 1920×1080</td>
<td>17 </td>
<td>1.1% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> 800×600</td>
<td>12 </td>
<td>0.8% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> 1024×1024</td>
<td>12 </td>
<td>0.8% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> 1280×960</td>
<td>10 </td>
<td>0.6% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> 1400×1050</td>
<td>9 </td>
<td>0.6% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> 800×5000</td>
<td>9 </td>
<td>0.6% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> 1600×900</td>
<td>8 </td>
<td>0.5% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> 1024×600</td>
<td>8 </td>
<td>0.5% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> 1280×720</td>
<td>6 </td>
<td>0.4% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> 1360×768</td>
<td>6 </td>
<td>0.4% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> 1536×864</td>
<td>5 </td>
<td>0.3% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> 1920×1200</td>
<td>5 </td>
<td>0.3% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> 1152×720</td>
<td>3 </td>
<td>0.2% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> 1024×819</td>
<td>3 </td>
<td>0.2% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> 其它</td>
<td>2 </td>
<td>0.1% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> 1120×700</td>
<td>2 </td>
<td>0.1% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> 122×142</td>
<td>2 </td>
<td>0.1% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> 1600×1200</td>
<td>2 </td>
<td>0.1% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> 1344×840</td>
<td>2 </td>
<td>0.1% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> 1395×822</td>
<td>2 </td>
<td>0.1% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> 1402×877</td>
<td>1 </td>
<td>0.1% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> 1280×854</td>
<td>1 </td>
<td>0.1% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> 1298×811</td>
<td>1 </td>
<td>0.1% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> 1311×737</td>
<td>1 </td>
<td>0.1% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> 1317×823</td>
<td>1 </td>
<td>0.1% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> 1229×768</td>
<td>1 </td>
<td>0.1% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> 1229×983</td>
<td>1 </td>
<td>0.1% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> 1257×785</td>
<td>1 </td>
<td>0.1% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> 1268×861</td>
<td>1 </td>
<td>0.1% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> 1135×641</td>
<td>1 </td>
<td>0.1% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> 1024×576</td>
<td>1 </td>
<td>0.1% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> 1032×645</td>
<td>1 </td>
<td>0.1% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> 1069×668</td>
<td>1 </td>
<td>0.1% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> 311×200</td>
<td>1 </td>
<td>0.1% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> 622×467</td>
<td>1 </td>
<td>0.1% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> 800×1280</td>
<td>1 </td>
<td>0.1% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> 1843×1037</td>
<td>1 </td>
<td>0.1% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> 840×525</td>
<td>1 </td>
<td>0.1% </td>
</tr>
<tr style="height: 12px;">
<td colspan="3">
<hr /></td>
</tr>
</tbody>
</table>
</td>
<td><!--Ajiang Stat 2.0--></p>
<table id="gra_shu" border="0" cellspacing="0">
<tbody>
<tr style="height: 16px;">
<td> </td>
<td> </td>
</tr>
<tr style="height: 12px;">
<td> </td>
<td valign="bottom"> </td>
</tr>
<tr>
<td> </td>
<td><img style="width: 95px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="457" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 65px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="311" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 49px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="237" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 39px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="188" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 26px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="124" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 15px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="74" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 4px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="21" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 4px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="19" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 4px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="17" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 2px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="12" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 2px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="12" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 2px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="10" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 2px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="9" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 2px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="9" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 2px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="8" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 2px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="8" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 1px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="6" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 1px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="6" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 1px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="5" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 1px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="5" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 1px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="3" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 1px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="3" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 0px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="2" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 0px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="2" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 0px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="2" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 0px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="2" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 0px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="2" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 0px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="2" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 0px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="1" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 0px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="1" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 0px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="1" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 0px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="1" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 0px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="1" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 0px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="1" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 0px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="1" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 0px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="1" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 0px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="1" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 0px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="1" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 0px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="1" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 0px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="1" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 0px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="1" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 0px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="1" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 0px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="1" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 0px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="1" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 0px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="1" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 0px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="1" /></td>
</tr>
<tr style="height: 12px;">
<td> </td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
<p><span style="text-decoration: underline;">Alexa工具条安装率</span></p>
<table border="0">
<tbody>
<tr>
<td>
<table id="gra_shu" border="0" cellspacing="0">
<tbody>
<tr style="TEXT-ALIGN: right">
<td style="TEXT-ALIGN: center">共 2 项 </td>
<td> 访问量 </td>
<td> 比例 </td>
</tr>
<tr style="height: 12px;">
<td colspan="3">
<hr /></td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> 尚未安装的访问者</td>
<td>1563 </td>
<td>99.3% </td>
</tr>
<tr style="text-align: right; height: 16px;">
<td style="TEXT-ALIGN: left"> 已经安装的访问者</td>
<td>11 </td>
<td>0.7% </td>
</tr>
<tr style="height: 12px;">
<td colspan="3">
<hr /></td>
</tr>
</tbody>
</table>
<p> </td>
<td><!--Ajiang Stat 2.0--></p>
<table id="gra_shu" border="0" cellspacing="0">
<tbody>
<tr style="height: 16px;">
<td> </td>
<td> </td>
</tr>
<tr style="height: 12px;">
<td> </td>
<td valign="bottom"> </td>
</tr>
<tr>
<td> </td>
<td><img style="width: 98px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="1563" /></td>
</tr>
<tr>
<td> </td>
<td><img style="width: 1px; height: 10px;" src="http://www.shuax.com/images/0.gif" alt="11" /></td>
</tr>
<tr style="height: 12px;">
<td> </td>
<td valign="top"> </td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
<p>哇咔咔，够详细了吧，具体的你可以直接看我的网站统计报告，我没有设置密码的。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=635</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Zuma(埃及祖玛)破解版</title>
		<link>http://www.shuax.com/?p=631</link>
		<comments>http://www.shuax.com/?p=631#comments</comments>
		<pubDate>Tue, 20 Oct 2009 23:35:15 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[DIY]]></category>
		<category><![CDATA[游戏]]></category>
		<category><![CDATA[破解]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=631</guid>
		<description><![CDATA[游戏简介 　　popcap祖玛的创意独特,游戏模式基于消除类游戏,并且使消除类游戏加入了更强的操作感,游戏的节奏明快,内容简单但引人入胜,碰撞和回力系统使玩家可以感受到游戏中的重力感,使游戏更贴近真实。可以说是非常成功的一款作品。 游戏截图 下载地址：http://www.uushare.com/user/shuax/file/2405454 (4.81M)]]></description>
			<content:encoded><![CDATA[<p><strong>游戏简介<br />
</strong>　　popcap祖玛的创意独特,游戏模式基于消除类游戏,并且使消除类游戏加入了更强的操作感,游戏的节奏明快,内容简单但引人入胜,碰撞和回力系统使玩家可以感受到游戏中的重力感,使游戏更贴近真实。可以说是非常成功的一款作品。</p>
<p><strong>游戏截图</strong><br />
<span id="more-631"></span><br />
<img class="alignnone size-full wp-image-632" title="zuma" src="http://www.shuax.com/wp-content/uploads/2009/10/zuma.jpg" alt="zuma" width="590" height="466" /></p>
<p><strong>下载地址：</strong><a href="http://www.uushare.com/user/shuax/file/2405454">http://www.uushare.com/user/shuax/file/2405454</a> (4.81M)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=631</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Chuzzle(毛毛)破解版</title>
		<link>http://www.shuax.com/?p=628</link>
		<comments>http://www.shuax.com/?p=628#comments</comments>
		<pubDate>Tue, 20 Oct 2009 08:43:04 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[DIY]]></category>
		<category><![CDATA[游戏]]></category>
		<category><![CDATA[破解]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=628</guid>
		<description><![CDATA[这个版本是简体中文的…… 虽然我不介意是什么文。跟解宝石的有点像。 游戏简介 　　咦！这个圆球是什么啊，五颜六色，毛绒绒的，还有两个眼珠子呢，还能转来转去的，这么可爱啊，就叫它毛毛吧。 　　游戏一开始会有详细的操作说明，拖动毛毛球使三个以上的连在一起，可以直线连，也可以直角连，但不能斜线连。随着关卡的增加，还会出现大毛毛，以及被锁住的毛毛以增加难度；同时消除五个以上的毛毛球可以得到超级毛毛，消除它可以炸掉周围的其他毛毛 。游戏共分为Classic、Speed、Zed和Mind四种模式，每种模式下实现一定的条件都能得到奖杯作为奖励，在奖杯室可以看到你获得的荣誉。Classic是标准模式；Speed模式考验你的反应速度，超过一定时限就会增加一把锁；Zed模式中，你永远不会Game Over，所以你要力争在这个模式中拿到尽可能多的奖杯；在最后的Mind模式有点像魔方，要好好的动一番脑子啦，需要移动毛毛变成与给出的图案一样的排列。 ！ 　　游戏的玩法很简单，角色超级可爱，用鼠标点击小毛毛的眼珠子，它还打喷嚏，还喷毛抗议呢，哼，我点大毛毛去，哇！嘴张那么大，吓我一跳，我不玩了。敢不玩，不玩就把鼠标移走，挡我视线了；真是，什么都不点，都碍着它了。 那我就不管你们了，哇，尽然睡着了，真是受不了。 游戏截图 下载地址：http://www.uushare.com/user/shuax/file/2405458 顺便说一句，学校的上传速度真快啊，这个7M的东西，我2秒就上传好了。]]></description>
			<content:encoded><![CDATA[<p>这个版本是简体中文的……</p>
<p>虽然我不介意是什么文。跟解宝石的有点像。</p>
<p><strong>游戏简介</strong><br />
　　咦！这个圆球是什么啊，五颜六色，毛绒绒的，还有两个眼珠子呢，还能转来转去的，这么可爱啊，就叫它毛毛吧。<br />
　　游戏一开始会有详细的操作说明，拖动毛毛球使三个以上的连在一起，可以直线连，也可以直角连，但不能斜线连。随着关卡的增加，还会出现大毛毛，以及被锁住的毛毛以增加难度；同时消除五个以上的毛毛球可以得到超级毛毛，消除它可以炸掉周围的其他毛毛 。游戏共分为Classic、Speed、Zed和Mind四种模式，每种模式下实现一定的条件都能得到奖杯作为奖励，在奖杯室可以看到你获得的荣誉。Classic是标准模式；Speed模式考验你的反应速度，超过一定时限就会增加一把锁；Zed模式中，你永远不会Game Over，所以你要力争在这个模式中拿到尽可能多的奖杯；在最后的Mind模式有点像魔方，要好好的动一番脑子啦，需要移动毛毛变成与给出的图案一样的排列。 ！<br />
　　游戏的玩法很简单，角色超级可爱，用鼠标点击小毛毛的眼珠子，它还打喷嚏，还喷毛抗议呢，哼，我点大毛毛去，哇！嘴张那么大，吓我一跳，我不玩了。敢不玩，不玩就把鼠标移走，挡我视线了；真是，什么都不点，都碍着它了。 那我就不管你们了，哇，尽然睡着了，真是受不了。</p>
<p><span id="more-628"></span></p>
<p><strong>游戏截图</strong></p>
<p><img class="alignnone size-full wp-image-629" title="Chuzzle" src="http://www.shuax.com/wp-content/uploads/2009/10/Chuzzle.jpg" alt="Chuzzle" width="653" height="511" /></p>
<p><strong>下载地址</strong>：<a href="http://www.uushare.com/user/shuax/file/2405458">http://www.uushare.com/user/shuax/file/2405458</a></p>
<p>顺便说一句，学校的上传速度真快啊，这个7M的东西，我2秒就上传好了。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=628</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Peggle(幻幻球)完美破解版</title>
		<link>http://www.shuax.com/?p=620</link>
		<comments>http://www.shuax.com/?p=620#comments</comments>
		<pubDate>Mon, 19 Oct 2009 11:48:49 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[DIY]]></category>
		<category><![CDATA[游戏]]></category>
		<category><![CDATA[破解]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=620</guid>
		<description><![CDATA[昨天给了大家一个游戏，今天继续，个人觉得PopCap(宝开)的游戏真的很耐玩…… 可是也真的很容易破解。 比如这个就是执行文件直接分离就行了。 游戏介绍 　　Popcap的最新大作，一款类似弹珠台的射击消除游戏，你需要射击一个银色球，将画面中的橙色球全部击中消除便可过关，除此之外，还有紫色的高分球、绿色的能力球。冒险模式一共有10个角色，都有不同的能力，比如南瓜人的两次掉落、小丑的随机能力。顺利通关后可解锁挑战模式，这个模式才是整个游戏的精华，里面有各种条件的挑战，如清除所有球、单关XX分、最难的是单关75万分和连闯10关，你需要精确的计算球的运行线路和得分，不同的球分数不一样，随着球的消除，分数还会翻倍，一次得分多可以得到奖励球。这款游戏还支持双人和VS电脑，可以和朋友一决高下。 游戏截图 下载地址：http://www.uushare.com/user/shuax/file/2405457 如果不能用了，直接联系我。]]></description>
			<content:encoded><![CDATA[<p>昨天给了大家一个游戏，今天继续，个人觉得PopCap(宝开)的游戏真的很耐玩……</p>
<p>可是也真的很容易破解。</p>
<p>比如这个就是执行文件直接分离就行了。</p>
<p><strong>游戏介绍</strong></p>
<p>　　Popcap的最新大作，一款类似弹珠台的射击消除游戏，你需要射击一个银色球，将画面中的橙色球全部击中消除便可过关，除此之外，还有紫色的高分球、绿色的能力球。冒险模式一共有10个角色，都有不同的能力，比如南瓜人的两次掉落、小丑的随机能力。顺利通关后可解锁挑战模式，这个模式才是整个游戏的精华，里面有各种条件的挑战，如清除所有球、单关XX分、最难的是单关75万分和连闯10关，你需要精确的计算球的运行线路和得分，不同的球分数不一样，随着球的消除，分数还会翻倍，一次得分多可以得到奖励球。这款游戏还支持双人和VS电脑，可以和朋友一决高下。</p>
<p><span id="more-620"></span></p>
<p><strong>游戏截图</strong></p>
<p><img class="alignnone size-full wp-image-621" title="peggle" src="http://www.shuax.com/wp-content/uploads/2009/10/peggle.jpg" alt="peggle" width="571" height="446" /></p>
<p><strong>下载地址：</strong><a href="http://www.uushare.com/user/shuax/file/2405457">http://www.uushare.com/user/shuax/file/2405457</a> 如果不能用了，直接联系我。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=620</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>数据结构：栈与递归</title>
		<link>http://www.shuax.com/?p=614</link>
		<comments>http://www.shuax.com/?p=614#comments</comments>
		<pubDate>Mon, 19 Oct 2009 01:29:50 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[程序开发]]></category>
		<category><![CDATA[数据结构]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=614</guid>
		<description><![CDATA[已知函数t(n)=2*t(n/2)+n 其中t(0)=0，n为整数。编写程序实现： (1) 计算t(n)的递归算法。 (2) 用链式栈实现计算t(n)的非递归算法。 老实说，我觉得这个题目本身就有点问题…… 额…… 递归算法 //www.shuax.com //舒俊杰 2009年10月19日 #include &#60;stdio.h&#62; int t&#40;int n&#41; &#123; if &#40;n==0&#41; return 0; return 2*t&#40;n/2&#41;+n; &#125; int main&#40;&#41; &#123; printf&#40;&#34;%d&#34;,t&#40;17&#41;&#41;; getchar&#40;&#41;; &#125; 非递归算法，但是不是链栈哈，我只是实现非递归而已。 //www.shuax.com //舒俊杰 2009年10月19日 #include &#60;stdio.h&#62; int t&#40;int n&#41; &#123; int i; int x&#91;100&#93;; x&#91;0&#93;=0; for &#40;i=1;i&#60;=n;i++&#41; x&#91;i&#93;=2*x&#91;i/2&#93;+i; return x&#91;n&#93;; &#125; int main&#40;&#41; &#123;]]></description>
			<content:encoded><![CDATA[<p>已知函数t(n)=2*t(n/2)+n 其中t(0)=0，n为整数。编写程序实现：<br />
(1) 计算t(n)的递归算法。<br />
(2) 用链式栈实现计算t(n)的非递归算法。</p>
<p>老实说，我觉得这个题目本身就有点问题……<br />
额……</p>
<p><span id="more-614"></span></p>
<p>递归算法</p>

<div class="wp_codebox"><table><tr id="p614197"><td class="code" id="p614code197"><pre class="cpp" style="font-family:monospace;"><span style="color: #666666;">//www.shuax.com</span>
<span style="color: #666666;">//舒俊杰 2009年10月19日</span>
<span style="color: #339900;">#include &lt;stdio.h&gt;</span>
<span style="color: #0000ff;">int</span> t<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> n<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
    <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>n<span style="color: #000080;">==</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#41;</span> <span style="color: #0000ff;">return</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
    <span style="color: #0000ff;">return</span> <span style="color: #0000dd;">2</span><span style="color: #000040;">*</span>t<span style="color: #008000;">&#40;</span>n<span style="color: #000040;">/</span><span style="color: #0000dd;">2</span><span style="color: #008000;">&#41;</span><span style="color: #000040;">+</span>n<span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">int</span> main<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
    <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%d&quot;</span>,t<span style="color: #008000;">&#40;</span><span style="color: #0000dd;">17</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #0000dd;">getchar</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></td></tr></table></div>

<p>非递归算法，但是不是链栈哈，我只是实现非递归而已。</p>

<div class="wp_codebox"><table><tr id="p614198"><td class="code" id="p614code198"><pre class="cpp" style="font-family:monospace;"><span style="color: #666666;">//www.shuax.com</span>
<span style="color: #666666;">//舒俊杰 2009年10月19日</span>
<span style="color: #339900;">#include &lt;stdio.h&gt;</span>
<span style="color: #0000ff;">int</span> t<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> n<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
    <span style="color: #0000ff;">int</span> i<span style="color: #008080;">;</span>
    <span style="color: #0000ff;">int</span> x<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">100</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
    x<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#93;</span><span style="color: #000080;">=</span><span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
    <span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>i<span style="color: #000080;">=</span><span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>i<span style="color: #000080;">&lt;=</span>n<span style="color: #008080;">;</span>i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
		x<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #000080;">=</span><span style="color: #0000dd;">2</span><span style="color: #000040;">*</span>x<span style="color: #008000;">&#91;</span>i<span style="color: #000040;">/</span><span style="color: #0000dd;">2</span><span style="color: #008000;">&#93;</span><span style="color: #000040;">+</span>i<span style="color: #008080;">;</span>
    <span style="color: #0000ff;">return</span> x<span style="color: #008000;">&#91;</span>n<span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">int</span> main<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
    <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%d&quot;</span>,t<span style="color: #008000;">&#40;</span><span style="color: #0000dd;">17</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #0000dd;">getchar</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=614</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>数据结构：栈的应用</title>
		<link>http://www.shuax.com/?p=611</link>
		<comments>http://www.shuax.com/?p=611#comments</comments>
		<pubDate>Mon, 19 Oct 2009 01:09:32 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[程序开发]]></category>
		<category><![CDATA[数据结构]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=611</guid>
		<description><![CDATA[编写程序实现表达式求值，即验证某算术表达式的正确性，若正确，则计算该算术表达式的值。 主要功能描述如下： 1、从键盘上输入表达式。 2、分析该表达式是否合法： (1) 是数字，则判断该数字的合法性。若合法，则压入数据到堆栈中。 (2) 是规定的运算符，则根据规则进行处理。在处理过程中，将计算该表达式的值。 (3) 若是其它字符，则返回错误信息。 3、若上述处理过程中没有发现错误，则认为该表达式合法，并打印处理结果。 不是我写的，直接在网上拔下来的，仅供参考。 //www.shuax.com #include&#60;stdio.h&#62; #include&#60;conio.h&#62; #include&#60;math.h&#62; #include&#60;stdlib.h&#62; &#160; typedef struct &#123; char fun; int grade; &#125; Functor; //定义算符栈结构体 &#160; Functor FUNCTOR&#91;20&#93;; &#160; float NUM&#91;20&#93;; &#160; //定义算符栈和对象栈 char ch&#91;100&#93;; int sub = 0; //存放输入流的字符串 &#160; float Char_To_Num&#40;&#41; &#123; //将表示数据的字符串转化成数据 int flag = 0, i = -1;]]></description>
			<content:encoded><![CDATA[<p>编写程序实现表达式求值，即验证某算术表达式的正确性，若正确，则计算该算术表达式的值。<br />
主要功能描述如下：<br />
1、从键盘上输入表达式。<br />
2、分析该表达式是否合法：<br />
   (1) 是数字，则判断该数字的合法性。若合法，则压入数据到堆栈中。<br />
   (2) 是规定的运算符，则根据规则进行处理。在处理过程中，将计算该表达式的值。<br />
   (3) 若是其它字符，则返回错误信息。<br />
3、若上述处理过程中没有发现错误，则认为该表达式合法，并打印处理结果。</p>
<p>不是我写的，直接在网上拔下来的，仅供参考。<br />
<span id="more-611"></span></p>

<div class="wp_codebox"><table><tr id="p611200"><td class="code" id="p611code200"><pre class="cpp" style="font-family:monospace;"><span style="color: #666666;">//www.shuax.com</span>
<span style="color: #339900;">#include&lt;stdio.h&gt;</span>
<span style="color: #339900;">#include&lt;conio.h&gt;</span>
<span style="color: #339900;">#include&lt;math.h&gt;</span>
<span style="color: #339900;">#include&lt;stdlib.h&gt;</span>
&nbsp;
<span style="color: #0000ff;">typedef</span> <span style="color: #0000ff;">struct</span> <span style="color: #008000;">&#123;</span>
    <span style="color: #0000ff;">char</span> fun<span style="color: #008080;">;</span>
    <span style="color: #0000ff;">int</span> grade<span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
Functor<span style="color: #008080;">;</span>
<span style="color: #666666;">//定义算符栈结构体</span>
&nbsp;
Functor FUNCTOR<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">20</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
&nbsp;
<span style="color: #0000ff;">float</span> NUM<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">20</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
&nbsp;
<span style="color: #666666;">//定义算符栈和对象栈</span>
<span style="color: #0000ff;">char</span> ch<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">100</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
<span style="color: #0000ff;">int</span> sub <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
<span style="color: #666666;">//存放输入流的字符串</span>
&nbsp;
<span style="color: #0000ff;">float</span> Char_To_Num<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span>
    <span style="color: #666666;">//将表示数据的字符串转化成数据</span>
    <span style="color: #0000ff;">int</span> flag <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span>, i <span style="color: #000080;">=</span> <span style="color: #000040;">-</span><span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>
    <span style="color: #0000ff;">float</span> value <span style="color: #000080;">=</span> <span style="color:#800080;">0.0</span><span style="color: #008080;">;</span>
    <span style="color: #0000ff;">while</span> <span style="color: #008000;">&#40;</span><span style="color: #008000;">&#40;</span>ch<span style="color: #008000;">&#91;</span>sub<span style="color: #008000;">&#93;</span> <span style="color: #000080;">&gt;=</span> <span style="color: #0000dd;">48</span> <span style="color: #000040;">&amp;&amp;</span> ch<span style="color: #008000;">&#91;</span>sub<span style="color: #008000;">&#93;</span> <span style="color: #000080;">&lt;=</span> <span style="color: #0000dd;">57</span><span style="color: #008000;">&#41;</span> <span style="color: #000040;">||</span> ch<span style="color: #008000;">&#91;</span>sub<span style="color: #008000;">&#93;</span> <span style="color: #000080;">==</span> <span style="color: #FF0000;">'.'</span><span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span>
        <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>ch<span style="color: #008000;">&#91;</span>sub<span style="color: #008000;">&#93;</span> <span style="color: #000080;">==</span> <span style="color: #FF0000;">'.'</span><span style="color: #008000;">&#41;</span>
            flag <span style="color: #000080;">=</span> <span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>
        <span style="color: #0000ff;">else</span> <span style="color: #008000;">&#123;</span>
            <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>flag <span style="color: #000080;">==</span> <span style="color: #0000dd;">0</span><span style="color: #008000;">&#41;</span> value <span style="color: #000080;">=</span> value <span style="color: #000040;">*</span> <span style="color: #0000dd;">10</span> <span style="color: #000040;">+</span> ch<span style="color: #008000;">&#91;</span>sub<span style="color: #008000;">&#93;</span> <span style="color: #000040;">-</span> <span style="color: #0000dd;">48</span><span style="color: #008080;">;</span>
            <span style="color: #0000ff;">else</span> <span style="color: #008000;">&#123;</span>
                value <span style="color: #000080;">=</span> value <span style="color: #000040;">+</span> <span style="color: #008000;">&#40;</span> ch<span style="color: #008000;">&#91;</span>sub<span style="color: #008000;">&#93;</span> <span style="color: #000040;">-</span> <span style="color: #0000dd;">48</span> <span style="color: #008000;">&#41;</span> <span style="color: #000040;">*</span> <span style="color: #0000dd;">pow</span><span style="color: #008000;">&#40;</span><span style="color: #0000dd;">10</span>, i<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
                i<span style="color: #000040;">--</span><span style="color: #008080;">;</span>
            <span style="color: #008000;">&#125;</span>
        <span style="color: #008000;">&#125;</span>
        sub<span style="color: #000040;">++</span><span style="color: #008080;">;</span>
    <span style="color: #008000;">&#125;</span>
    <span style="color: #0000ff;">return</span> value<span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
<span style="color: #0000ff;">int</span> In_Grade<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">char</span> c<span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span>   <span style="color: #666666;">//算符在栈内时的级别</span>
    <span style="color: #0000ff;">int</span> g<span style="color: #008080;">;</span>
    <span style="color: #0000ff;">switch</span> <span style="color: #008000;">&#40;</span>c<span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span>
    <span style="color: #0000ff;">case</span> <span style="color: #FF0000;">'^'</span><span style="color: #008080;">:</span> g <span style="color: #000080;">=</span> <span style="color: #0000dd;">3</span><span style="color: #008080;">;</span><span style="color: #0000ff;">break</span><span style="color: #008080;">;</span>
    <span style="color: #0000ff;">case</span> <span style="color: #FF0000;">'*'</span><span style="color: #008080;">:</span>
    <span style="color: #0000ff;">case</span> <span style="color: #FF0000;">'/'</span><span style="color: #008080;">:</span>
    <span style="color: #0000ff;">case</span> <span style="color: #FF0000;">'%'</span><span style="color: #008080;">:</span> g <span style="color: #000080;">=</span> <span style="color: #0000dd;">2</span><span style="color: #008080;">;</span><span style="color: #0000ff;">break</span><span style="color: #008080;">;</span>
    <span style="color: #0000ff;">case</span> <span style="color: #FF0000;">'+'</span><span style="color: #008080;">:</span>
    <span style="color: #0000ff;">case</span> <span style="color: #FF0000;">'-'</span><span style="color: #008080;">:</span> g <span style="color: #000080;">=</span> <span style="color: #0000dd;">1</span><span style="color: #008080;">;</span><span style="color: #0000ff;">break</span><span style="color: #008080;">;</span>
    <span style="color: #0000ff;">case</span> <span style="color: #FF0000;">'('</span><span style="color: #008080;">:</span> g <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span><span style="color: #0000ff;">break</span><span style="color: #008080;">;</span>
    <span style="color: #0000ff;">case</span> <span style="color: #FF0000;">')'</span><span style="color: #008080;">:</span> g <span style="color: #000080;">=</span> <span style="color: #000040;">-</span><span style="color: #0000dd;">1</span><span style="color: #008080;">;</span><span style="color: #0000ff;">break</span><span style="color: #008080;">;</span>
    <span style="color: #008000;">&#125;</span>
    <span style="color: #0000ff;">return</span> g<span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
<span style="color: #0000ff;">int</span> Out_Grade<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span>   <span style="color: #666666;">//算符在栈外时的级别</span>
    <span style="color: #0000ff;">int</span> g<span style="color: #008080;">;</span>
    <span style="color: #0000ff;">switch</span> <span style="color: #008000;">&#40;</span>ch<span style="color: #008000;">&#91;</span>sub<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span>
    <span style="color: #0000ff;">case</span> <span style="color: #FF0000;">'^'</span><span style="color: #008080;">:</span> g <span style="color: #000080;">=</span> <span style="color: #0000dd;">4</span><span style="color: #008080;">;</span><span style="color: #0000ff;">break</span><span style="color: #008080;">;</span>
    <span style="color: #0000ff;">case</span> <span style="color: #FF0000;">'*'</span><span style="color: #008080;">:</span>
    <span style="color: #0000ff;">case</span> <span style="color: #FF0000;">'/'</span><span style="color: #008080;">:</span>
    <span style="color: #0000ff;">case</span> <span style="color: #FF0000;">'%'</span><span style="color: #008080;">:</span> g <span style="color: #000080;">=</span> <span style="color: #0000dd;">2</span><span style="color: #008080;">;</span><span style="color: #0000ff;">break</span><span style="color: #008080;">;</span>
    <span style="color: #0000ff;">case</span> <span style="color: #FF0000;">'+'</span><span style="color: #008080;">:</span>
    <span style="color: #0000ff;">case</span> <span style="color: #FF0000;">'-'</span><span style="color: #008080;">:</span> g <span style="color: #000080;">=</span> <span style="color: #0000dd;">1</span><span style="color: #008080;">;</span><span style="color: #0000ff;">break</span><span style="color: #008080;">;</span>
    <span style="color: #0000ff;">case</span> <span style="color: #FF0000;">'('</span><span style="color: #008080;">:</span> g <span style="color: #000080;">=</span> <span style="color: #0000dd;">4</span><span style="color: #008080;">;</span><span style="color: #0000ff;">break</span><span style="color: #008080;">;</span>
    <span style="color: #0000ff;">case</span> <span style="color: #FF0000;">')'</span><span style="color: #008080;">:</span> g <span style="color: #000080;">=</span> <span style="color: #000040;">-</span><span style="color: #0000dd;">1</span><span style="color: #008080;">;</span><span style="color: #0000ff;">break</span><span style="color: #008080;">;</span>
    <span style="color: #008000;">&#125;</span>
    <span style="color: #0000ff;">return</span> g<span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
<span style="color: #0000ff;">void</span> Error<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span>
    <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;输入的表达式有误！<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>按任意键退出&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    getch<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #0000dd;">exit</span><span style="color: #008000;">&#40;</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
<span style="color: #0000ff;">void</span> Calculate<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> i, <span style="color: #0000ff;">int</span> j<span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span>
    <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>i <span style="color: #000080;">&gt;=</span> <span style="color: #0000dd;">2</span><span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span> <span style="color: #666666;">//判断对象栈中元素个数</span>
        <span style="color: #0000ff;">switch</span> <span style="color: #008000;">&#40;</span>FUNCTOR<span style="color: #008000;">&#91;</span>j <span style="color: #000040;">-</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span>.<span style="color: #007788;">fun</span><span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span>
        <span style="color: #0000ff;">case</span> <span style="color: #FF0000;">'^'</span><span style="color: #008080;">:</span> NUM<span style="color: #008000;">&#91;</span>i <span style="color: #000040;">-</span> <span style="color: #0000dd;">2</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #0000dd;">pow</span><span style="color: #008000;">&#40;</span>NUM<span style="color: #008000;">&#91;</span>i <span style="color: #000040;">-</span> <span style="color: #0000dd;">2</span><span style="color: #008000;">&#93;</span>, NUM<span style="color: #008000;">&#91;</span>i <span style="color: #000040;">-</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span> <span style="color: #0000ff;">break</span><span style="color: #008080;">;</span>
        <span style="color: #0000ff;">case</span> <span style="color: #FF0000;">'*'</span><span style="color: #008080;">:</span> NUM<span style="color: #008000;">&#91;</span>i <span style="color: #000040;">-</span> <span style="color: #0000dd;">2</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> NUM<span style="color: #008000;">&#91;</span>i <span style="color: #000040;">-</span> <span style="color: #0000dd;">2</span><span style="color: #008000;">&#93;</span> <span style="color: #000040;">*</span> NUM<span style="color: #008000;">&#91;</span>i <span style="color: #000040;">-</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span> <span style="color: #0000ff;">break</span><span style="color: #008080;">;</span>
        <span style="color: #0000ff;">case</span> <span style="color: #FF0000;">'/'</span><span style="color: #008080;">:</span> NUM<span style="color: #008000;">&#91;</span>i <span style="color: #000040;">-</span> <span style="color: #0000dd;">2</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> NUM<span style="color: #008000;">&#91;</span>i <span style="color: #000040;">-</span> <span style="color: #0000dd;">2</span><span style="color: #008000;">&#93;</span> <span style="color: #000040;">/</span> NUM<span style="color: #008000;">&#91;</span>i <span style="color: #000040;">-</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span> <span style="color: #0000ff;">break</span><span style="color: #008080;">;</span>
        <span style="color: #0000ff;">case</span> <span style="color: #FF0000;">'%'</span><span style="color: #008080;">:</span> NUM<span style="color: #008000;">&#91;</span>i <span style="color: #000040;">-</span> <span style="color: #0000dd;">2</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #0000ff;">int</span><span style="color: #008000;">&#40;</span>NUM<span style="color: #008000;">&#91;</span>i <span style="color: #000040;">-</span> <span style="color: #0000dd;">2</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span> <span style="color: #000040;">%</span> <span style="color: #0000ff;">int</span><span style="color: #008000;">&#40;</span>NUM<span style="color: #008000;">&#91;</span>i <span style="color: #000040;">-</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span> <span style="color: #0000ff;">break</span><span style="color: #008080;">;</span>
        <span style="color: #0000ff;">case</span> <span style="color: #FF0000;">'+'</span><span style="color: #008080;">:</span> NUM<span style="color: #008000;">&#91;</span>i <span style="color: #000040;">-</span> <span style="color: #0000dd;">2</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> NUM<span style="color: #008000;">&#91;</span>i <span style="color: #000040;">-</span> <span style="color: #0000dd;">2</span><span style="color: #008000;">&#93;</span> <span style="color: #000040;">+</span> NUM<span style="color: #008000;">&#91;</span>i <span style="color: #000040;">-</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span> <span style="color: #0000ff;">break</span><span style="color: #008080;">;</span>
        <span style="color: #0000ff;">case</span> <span style="color: #FF0000;">'-'</span><span style="color: #008080;">:</span> NUM<span style="color: #008000;">&#91;</span>i <span style="color: #000040;">-</span> <span style="color: #0000dd;">2</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> NUM<span style="color: #008000;">&#91;</span>i <span style="color: #000040;">-</span> <span style="color: #0000dd;">2</span><span style="color: #008000;">&#93;</span> <span style="color: #000040;">-</span> NUM<span style="color: #008000;">&#91;</span>i <span style="color: #000040;">-</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span> <span style="color: #0000ff;">break</span><span style="color: #008080;">;</span>
        <span style="color: #008000;">&#125;</span>
        NUM<span style="color: #008000;">&#91;</span>i <span style="color: #000040;">-</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
        FUNCTOR<span style="color: #008000;">&#91;</span>j <span style="color: #000040;">-</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span>.<span style="color: #007788;">fun</span> <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
    <span style="color: #008000;">&#125;</span> <span style="color: #0000ff;">else</span> Error<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #666666;">//若对象栈若只剩一个数据，则输入的表达式有误</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
<span style="color: #0000ff;">float</span> Char_Transform<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span>
    <span style="color: #0000ff;">int</span> i <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span>, j <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span>, grade, flag <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
    <span style="color: #0000ff;">while</span> <span style="color: #008000;">&#40;</span> ch<span style="color: #008000;">&#91;</span>sub<span style="color: #008000;">&#93;</span> <span style="color: #000040;">!</span><span style="color: #000080;">=</span> <span style="color: #FF0000;">'='</span> <span style="color: #000040;">||</span> j <span style="color: #000040;">!</span><span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span> <span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span>
        <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>ch<span style="color: #008000;">&#91;</span>sub<span style="color: #008000;">&#93;</span> <span style="color: #000080;">==</span> <span style="color: #FF0000;">'='</span><span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span>
            <span style="color: #666666;">//输入的字符是否取完</span>
            Calculate<span style="color: #008000;">&#40;</span>i, j<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
            i<span style="color: #000040;">--</span><span style="color: #008080;">;</span>
            j<span style="color: #000040;">--</span><span style="color: #008080;">;</span>
        <span style="color: #008000;">&#125;</span> <span style="color: #0000ff;">else</span> <span style="color: #008000;">&#123;</span>
            <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>ch<span style="color: #008000;">&#91;</span>sub<span style="color: #008000;">&#93;</span> <span style="color: #000080;">&gt;=</span> <span style="color: #0000dd;">48</span> <span style="color: #000040;">&amp;&amp;</span> ch<span style="color: #008000;">&#91;</span>sub<span style="color: #008000;">&#93;</span> <span style="color: #000080;">&lt;=</span> <span style="color: #0000dd;">57</span><span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span>
                <span style="color: #666666;">//判断是否为运算对象</span>
                NUM<span style="color: #008000;">&#91;</span>i<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> Char_To_Num<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
                <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>flag<span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span>
                    NUM<span style="color: #008000;">&#91;</span>i <span style="color: #000040;">-</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #000040;">-</span>NUM<span style="color: #008000;">&#91;</span>i <span style="color: #000040;">-</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
                    FUNCTOR<span style="color: #008000;">&#91;</span>j <span style="color: #000040;">-</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span>.<span style="color: #007788;">fun</span> <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
                    j<span style="color: #000040;">--</span><span style="color: #008080;">;</span>
                    flag <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
                <span style="color: #008000;">&#125;</span>
            <span style="color: #008000;">&#125;</span> <span style="color: #0000ff;">else</span> <span style="color: #008000;">&#123;</span>
                <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>ch<span style="color: #008000;">&#91;</span>sub<span style="color: #008000;">&#93;</span> <span style="color: #000080;">==</span> <span style="color: #FF0000;">'%'</span> <span style="color: #000040;">||</span>
                        <span style="color: #008000;">&#40;</span>ch<span style="color: #008000;">&#91;</span>sub<span style="color: #008000;">&#93;</span> <span style="color: #000080;">&gt;=</span> <span style="color: #0000dd;">40</span> <span style="color: #000040;">&amp;&amp;</span> ch<span style="color: #008000;">&#91;</span>sub<span style="color: #008000;">&#93;</span> <span style="color: #000080;">&lt;=</span> <span style="color: #0000dd;">43</span><span style="color: #008000;">&#41;</span> <span style="color: #000040;">||</span>
                        ch<span style="color: #008000;">&#91;</span>sub<span style="color: #008000;">&#93;</span> <span style="color: #000080;">==</span> <span style="color: #FF0000;">'-'</span> <span style="color: #000040;">||</span> ch<span style="color: #008000;">&#91;</span>sub<span style="color: #008000;">&#93;</span> <span style="color: #000080;">==</span> <span style="color: #FF0000;">'^'</span> <span style="color: #000040;">||</span>
                        ch<span style="color: #008000;">&#91;</span>sub<span style="color: #008000;">&#93;</span> <span style="color: #000080;">==</span> <span style="color: #FF0000;">'/'</span><span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span>
                    <span style="color: #666666;">//判断是否为算符</span>
                    <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> FUNCTOR<span style="color: #008000;">&#91;</span>j <span style="color: #000040;">-</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span>.<span style="color: #007788;">fun</span> <span style="color: #000080;">==</span> <span style="color: #FF0000;">'-'</span> <span style="color: #000040;">&amp;&amp;</span>
                            FUNCTOR<span style="color: #008000;">&#91;</span>j <span style="color: #000040;">-</span> <span style="color: #0000dd;">2</span><span style="color: #008000;">&#93;</span>.<span style="color: #007788;">fun</span> <span style="color: #000080;">==</span> <span style="color: #FF0000;">'('</span> <span style="color: #000040;">&amp;&amp;</span>
                            ch<span style="color: #008000;">&#91;</span>sub<span style="color: #008000;">&#93;</span> <span style="color: #000080;">==</span> <span style="color: #FF0000;">')'</span><span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span>
                        <span style="color: #666666;">//判断是否为负数</span>
                        NUM<span style="color: #008000;">&#91;</span>i <span style="color: #000040;">-</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #000040;">-</span>NUM<span style="color: #008000;">&#91;</span>i <span style="color: #000040;">-</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
                        FUNCTOR<span style="color: #008000;">&#91;</span>j <span style="color: #000040;">-</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span>.<span style="color: #007788;">fun</span> <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
                        FUNCTOR<span style="color: #008000;">&#91;</span>j <span style="color: #000040;">-</span> <span style="color: #0000dd;">2</span><span style="color: #008000;">&#93;</span>.<span style="color: #007788;">fun</span> <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
                        j <span style="color: #000080;">=</span> j <span style="color: #000040;">-</span> <span style="color: #0000dd;">2</span><span style="color: #008080;">;</span>
                        sub<span style="color: #000040;">++</span><span style="color: #008080;">;</span>
                    <span style="color: #008000;">&#125;</span> <span style="color: #0000ff;">else</span> <span style="color: #008000;">&#123;</span>
                        <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> FUNCTOR<span style="color: #008000;">&#91;</span>j <span style="color: #000040;">-</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span>.<span style="color: #007788;">fun</span> <span style="color: #000080;">==</span> <span style="color: #FF0000;">'('</span> <span style="color: #000040;">&amp;&amp;</span> ch<span style="color: #008000;">&#91;</span>sub<span style="color: #008000;">&#93;</span> <span style="color: #000080;">==</span> <span style="color: #FF0000;">')'</span> <span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span>
                            <span style="color: #666666;">//括号内表达式计算完后则将左括号从栈中去除</span>
                            FUNCTOR<span style="color: #008000;">&#91;</span>j <span style="color: #000040;">-</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span>.<span style="color: #007788;">fun</span> <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
                            j<span style="color: #000040;">--</span><span style="color: #008080;">;</span>
                            sub<span style="color: #000040;">++</span><span style="color: #008080;">;</span>
                        <span style="color: #008000;">&#125;</span> <span style="color: #0000ff;">else</span> <span style="color: #008000;">&#123;</span>
                            grade <span style="color: #000080;">=</span> Out_Grade<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span> <span style="color: #666666;">//栈外算符的级别</span>
                            <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>j <span style="color: #000080;">==</span> <span style="color: #0000dd;">0</span> <span style="color: #000040;">||</span> grade <span style="color: #000080;">&gt;</span> FUNCTOR<span style="color: #008000;">&#91;</span>j <span style="color: #000040;">-</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span>.<span style="color: #007788;">grade</span><span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span>
                                <span style="color: #666666;">//第一个或级别比栈内算符高的进栈</span>
                                FUNCTOR<span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span>.<span style="color: #007788;">fun</span> <span style="color: #000080;">=</span> ch<span style="color: #008000;">&#91;</span>sub<span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
                                FUNCTOR<span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span>.<span style="color: #007788;">grade</span> <span style="color: #000080;">=</span> In_Grade<span style="color: #008000;">&#40;</span>ch<span style="color: #008000;">&#91;</span>sub<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
                                <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>j <span style="color: #000080;">==</span> <span style="color: #0000dd;">0</span> <span style="color: #000040;">&amp;&amp;</span> FUNCTOR<span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span>.<span style="color: #007788;">fun</span> <span style="color: #000080;">==</span> <span style="color: #FF0000;">'-'</span><span style="color: #008000;">&#41;</span> flag <span style="color: #000080;">=</span> <span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>
                                j<span style="color: #000040;">++</span><span style="color: #008080;">;</span>
                                sub<span style="color: #000040;">++</span><span style="color: #008080;">;</span>
                            <span style="color: #008000;">&#125;</span> <span style="color: #0000ff;">else</span> <span style="color: #008000;">&#123;</span>
                                Calculate<span style="color: #008000;">&#40;</span>i, j<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
                                i<span style="color: #000040;">--</span><span style="color: #008080;">;</span>
                                j<span style="color: #000040;">--</span><span style="color: #008080;">;</span>
                            <span style="color: #008000;">&#125;</span>
                        <span style="color: #008000;">&#125;</span>
                    <span style="color: #008000;">&#125;</span>
                <span style="color: #008000;">&#125;</span> <span style="color: #0000ff;">else</span> Error<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
                <span style="color: #666666;">//表达式中有非算术字符，则表达式有误</span>
            <span style="color: #008000;">&#125;</span>
        <span style="color: #008000;">&#125;</span>
    <span style="color: #008000;">&#125;</span>
    <span style="color: #0000ff;">return</span> NUM<span style="color: #008000;">&#91;</span>i <span style="color: #000040;">-</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
<span style="color: #0000ff;">int</span> main<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span>
    <span style="color: #0000ff;">float</span> result<span style="color: #008080;">;</span>
    <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;****************************************<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;请输入要求解的表达式,并以等号“=”结束:<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;****************************************<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #0000dd;">gets</span><span style="color: #008000;">&#40;</span>ch<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    result <span style="color: #000080;">=</span> Char_Transform<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%s%.2f<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span>, ch, result<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>按任意键退出&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    getch<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=611</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>数据结构：栈</title>
		<link>http://www.shuax.com/?p=608</link>
		<comments>http://www.shuax.com/?p=608#comments</comments>
		<pubDate>Sun, 18 Oct 2009 11:38:01 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[程序开发]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[数据结构]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=608</guid>
		<description><![CDATA[栈的基本操作。 编写程序任意输入栈长度和栈中的元素值，构造一个顺序栈，对其进行清空、销毁、 入栈、出栈以及取栈顶元素操作。 /*栈的基本操作*/ /*舒俊杰 2009年10月18日*/ //www.shuax.com &#160; #include &#60;stdio.h&#62; #include &#60;conio.h&#62; #include &#60;stdlib.h&#62; #include &#60;string.h&#62; &#160; #define FALSE -1 #define OK 1 #define ERROR -1 #define OVERFLOW -2 &#160; #define STACK_INIT_SIZE 100 #define STACKINCREMENT 10 &#160; typedef int Status; typedef int SElemType; &#160; typedef struct &#123; SElemType *base; SElemType *top; int stacksize; &#125; SqStack;]]></description>
			<content:encoded><![CDATA[<p>栈的基本操作。</p>
<p>编写程序任意输入栈长度和栈中的元素值，构造一个顺序栈，对其进行清空、销毁、<br />
入栈、出栈以及取栈顶元素操作。</p>
<p><span id="more-608"></span></p>

<div class="wp_codebox"><table><tr id="p608202"><td class="code" id="p608code202"><pre class="cpp" style="font-family:monospace;"><span style="color: #ff0000; font-style: italic;">/*栈的基本操作*/</span>
<span style="color: #ff0000; font-style: italic;">/*舒俊杰 2009年10月18日*/</span>
<span style="color: #666666;">//www.shuax.com</span>
&nbsp;
<span style="color: #339900;">#include &lt;stdio.h&gt;</span>
<span style="color: #339900;">#include &lt;conio.h&gt;</span>
<span style="color: #339900;">#include &lt;stdlib.h&gt;</span>
<span style="color: #339900;">#include &lt;string.h&gt;</span>
&nbsp;
<span style="color: #339900;">#define FALSE -1</span>
<span style="color: #339900;">#define OK 1</span>
<span style="color: #339900;">#define ERROR -1</span>
<span style="color: #339900;">#define OVERFLOW -2</span>
&nbsp;
<span style="color: #339900;">#define STACK_INIT_SIZE 100</span>
<span style="color: #339900;">#define STACKINCREMENT 10</span>
&nbsp;
<span style="color: #0000ff;">typedef</span> <span style="color: #0000ff;">int</span> Status<span style="color: #008080;">;</span>
<span style="color: #0000ff;">typedef</span> <span style="color: #0000ff;">int</span> SElemType<span style="color: #008080;">;</span>
&nbsp;
<span style="color: #0000ff;">typedef</span> <span style="color: #0000ff;">struct</span> <span style="color: #008000;">&#123;</span>
    SElemType <span style="color: #000040;">*</span>base<span style="color: #008080;">;</span>
    SElemType <span style="color: #000040;">*</span>top<span style="color: #008080;">;</span>
    <span style="color: #0000ff;">int</span> stacksize<span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
SqStack<span style="color: #008080;">;</span>
&nbsp;
Status InitStack<span style="color: #008000;">&#40;</span>SqStack <span style="color: #000040;">&amp;</span>S<span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span>
    <span style="color: #666666;">//构造一个空栈S</span>
    S.<span style="color: #007788;">base</span><span style="color: #000080;">=</span><span style="color: #008000;">&#40;</span>SElemType <span style="color: #000040;">*</span><span style="color: #008000;">&#41;</span><span style="color: #0000dd;">malloc</span><span style="color: #008000;">&#40;</span>STACK_INIT_SIZE<span style="color: #000040;">*</span><span style="color: #0000dd;">sizeof</span><span style="color: #008000;">&#40;</span>SElemType<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span><span style="color: #000040;">!</span>S.<span style="color: #007788;">base</span><span style="color: #008000;">&#41;</span> <span style="color: #0000dd;">exit</span><span style="color: #008000;">&#40;</span>OVERFLOW<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>	<span style="color: #666666;">//存储分配失败</span>
    S.<span style="color: #007788;">top</span><span style="color: #000080;">=</span>S.<span style="color: #007788;">base</span><span style="color: #008080;">;</span>
    S.<span style="color: #007788;">stacksize</span><span style="color: #000080;">=</span>STACK_INIT_SIZE<span style="color: #008080;">;</span>
    <span style="color: #0000ff;">return</span> OK<span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
Status GetTop<span style="color: #008000;">&#40;</span>SqStack S,SElemType <span style="color: #000040;">&amp;</span>e<span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span>
    <span style="color: #666666;">//若栈不为空，用e返回栈顶元素</span>
    <span style="color: #0000ff;">if</span><span style="color: #008000;">&#40;</span>S.<span style="color: #007788;">top</span><span style="color: #000080;">==</span>S.<span style="color: #007788;">base</span><span style="color: #008000;">&#41;</span> <span style="color: #0000ff;">return</span> ERROR<span style="color: #008080;">;</span>
    e<span style="color: #000080;">=</span><span style="color: #000040;">*</span><span style="color: #008000;">&#40;</span>S.<span style="color: #007788;">top</span><span style="color: #000040;">-</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #0000ff;">return</span> OK<span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
Status ClearStack<span style="color: #008000;">&#40;</span>SqStack <span style="color: #000040;">&amp;</span>S<span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span>
    <span style="color: #666666;">//清空栈</span>
    S.<span style="color: #007788;">top</span><span style="color: #000080;">=</span>S.<span style="color: #007788;">base</span><span style="color: #008080;">;</span>
    <span style="color: #0000ff;">return</span> OK<span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
Status DestroyStack<span style="color: #008000;">&#40;</span>SqStack <span style="color: #000040;">&amp;</span>S<span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span>
    <span style="color: #666666;">//销毁栈</span>
    ClearStack<span style="color: #008000;">&#40;</span>S<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    S.<span style="color: #007788;">stacksize</span><span style="color: #000080;">=</span><span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
    <span style="color: #0000dd;">free</span><span style="color: #008000;">&#40;</span>S.<span style="color: #007788;">base</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #0000ff;">return</span> OK<span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
Status Push<span style="color: #008000;">&#40;</span>SqStack <span style="color: #000040;">&amp;</span>S,SElemType e<span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span>
    <span style="color: #666666;">//插入原始e为新的栈顶元素</span>
    <span style="color: #0000ff;">if</span><span style="color: #008000;">&#40;</span>S.<span style="color: #007788;">top</span><span style="color: #000040;">-</span>S.<span style="color: #007788;">base</span><span style="color: #000080;">&gt;=</span>S.<span style="color: #007788;">stacksize</span><span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span>
        <span style="color: #666666;">//栈满，追加空间</span>
        S.<span style="color: #007788;">base</span><span style="color: #000080;">=</span><span style="color: #008000;">&#40;</span>SElemType <span style="color: #000040;">*</span><span style="color: #008000;">&#41;</span><span style="color: #0000dd;">realloc</span><span style="color: #008000;">&#40;</span>S.<span style="color: #007788;">base</span>,<span style="color: #008000;">&#40;</span>S.<span style="color: #007788;">stacksize</span><span style="color: #000040;">+</span>STACKINCREMENT<span style="color: #008000;">&#41;</span><span style="color: #000040;">*</span><span style="color: #0000dd;">sizeof</span><span style="color: #008000;">&#40;</span>SElemType<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
        <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span><span style="color: #000040;">!</span>S.<span style="color: #007788;">base</span><span style="color: #008000;">&#41;</span> <span style="color: #0000dd;">exit</span><span style="color: #008000;">&#40;</span>OVERFLOW<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>	<span style="color: #666666;">//存储分配失败</span>
        S.<span style="color: #007788;">top</span><span style="color: #000080;">=</span>S.<span style="color: #007788;">base</span><span style="color: #000040;">+</span>S.<span style="color: #007788;">stacksize</span><span style="color: #008080;">;</span>
        S.<span style="color: #007788;">stacksize</span><span style="color: #000040;">+</span><span style="color: #000080;">=</span>STACKINCREMENT<span style="color: #008080;">;</span>
    <span style="color: #008000;">&#125;</span>
    <span style="color: #000040;">*</span>S.<span style="color: #007788;">top</span><span style="color: #000040;">++</span><span style="color: #000080;">=</span>e<span style="color: #008080;">;</span>
    <span style="color: #0000ff;">return</span> OK<span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
Status Pop<span style="color: #008000;">&#40;</span>SqStack <span style="color: #000040;">&amp;</span>S,SElemType <span style="color: #000040;">&amp;</span>e<span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span>
    <span style="color: #666666;">//若栈不为空，用e返回栈顶元素</span>
    <span style="color: #0000ff;">if</span><span style="color: #008000;">&#40;</span>S.<span style="color: #007788;">top</span><span style="color: #000080;">==</span>S.<span style="color: #007788;">base</span><span style="color: #008000;">&#41;</span> <span style="color: #0000ff;">return</span> ERROR<span style="color: #008080;">;</span>
    e<span style="color: #000080;">=</span><span style="color: #000040;">*--</span>S.<span style="color: #007788;">top</span><span style="color: #008080;">;</span>
    <span style="color: #0000ff;">return</span> OK<span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
<span style="color: #0000ff;">void</span> menu<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span>
    <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>* * * * * * * * * * * * * * * * * * * * * * * * * *<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;  1 ------- 清空<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;  2 ------- 销毁<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;  3 ------- 入栈<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;  4 ------- 出栈<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;  5 ------- 取栈顶<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;  6 ------- 退出<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;* * * * * * * * * * * * * * * * * * * * * * * * * *<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
<span style="color: #0000ff;">void</span> menuselect<span style="color: #008000;">&#40;</span>SqStack S<span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span>
    <span style="color: #0000ff;">int</span> k,done <span style="color: #000080;">=</span> <span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>
    SElemType e<span style="color: #008080;">;</span>
    <span style="color: #0000ff;">while</span> <span style="color: #008000;">&#40;</span>done<span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span>
        menu<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
        <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;请选择一个功能: &quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
        <span style="color: #0000dd;">scanf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%d&quot;</span>, <span style="color: #000040;">&amp;</span>k<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
        <span style="color: #0000dd;">getchar</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
        <span style="color: #0000ff;">switch</span> <span style="color: #008000;">&#40;</span>k<span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span>
        <span style="color: #0000ff;">case</span> <span style="color: #0000dd;">1</span><span style="color: #008080;">:</span> ClearStack<span style="color: #008000;">&#40;</span>S<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span> <span style="color: #0000ff;">break</span><span style="color: #008080;">;</span>
        <span style="color: #0000ff;">case</span> <span style="color: #0000dd;">2</span><span style="color: #008080;">:</span> DestroyStack<span style="color: #008000;">&#40;</span>S<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span><span style="color: #0000ff;">break</span><span style="color: #008080;">;</span>
        <span style="color: #0000ff;">case</span> <span style="color: #0000dd;">3</span><span style="color: #008080;">:</span> <span style="color: #008000;">&#123;</span>
                <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>请输入入栈数据: &quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
                <span style="color: #0000dd;">scanf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%d&quot;</span>, <span style="color: #000040;">&amp;</span>e<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
                Push<span style="color: #008000;">&#40;</span>S,e<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
                <span style="color: #0000ff;">break</span><span style="color: #008080;">;</span>
            <span style="color: #008000;">&#125;</span>
        <span style="color: #0000ff;">case</span> <span style="color: #0000dd;">4</span><span style="color: #008080;">:</span> <span style="color: #008000;">&#123;</span>
                <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>Pop<span style="color: #008000;">&#40;</span>S, e<span style="color: #008000;">&#41;</span> <span style="color: #000080;">==</span> ERROR<span style="color: #008000;">&#41;</span>
                    <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;栈为空&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
                <span style="color: #0000ff;">else</span>
                    <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%d<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span>, e<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
                <span style="color: #0000ff;">break</span><span style="color: #008080;">;</span>
            <span style="color: #008000;">&#125;</span>
        <span style="color: #0000ff;">case</span> <span style="color: #0000dd;">5</span><span style="color: #008080;">:</span> <span style="color: #008000;">&#123;</span>
                <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>GetTop<span style="color: #008000;">&#40;</span>S, e<span style="color: #008000;">&#41;</span> <span style="color: #000080;">==</span> ERROR<span style="color: #008000;">&#41;</span>
                    <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;栈为空&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
                <span style="color: #0000ff;">else</span>
                    <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%d<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span>, e<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
                <span style="color: #0000ff;">break</span><span style="color: #008080;">;</span>
            <span style="color: #008000;">&#125;</span>
        <span style="color: #0000ff;">case</span> <span style="color: #0000dd;">6</span><span style="color: #008080;">:</span> done <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
        <span style="color: #008000;">&#125;</span>
    <span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
<span style="color: #0000ff;">int</span> main<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span>
    SqStack S<span style="color: #008080;">;</span>
    InitStack<span style="color: #008000;">&#40;</span>S<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    SElemType e<span style="color: #008080;">;</span>
    <span style="color: #0000ff;">int</span> n,i<span style="color: #008080;">;</span>
    <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;请输入入栈数据个数(n&lt;%d):&quot;</span>,STACK_INIT_SIZE<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #0000dd;">scanf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%d&quot;</span>,<span style="color: #000040;">&amp;</span>n<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;请输入入栈数据: &quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>i<span style="color: #000080;">=</span><span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>i<span style="color: #000080;">&lt;</span>n<span style="color: #008080;">;</span>i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span>
        <span style="color: #0000dd;">scanf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%d&quot;</span>, <span style="color: #000040;">&amp;</span>e<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
        Push<span style="color: #008000;">&#40;</span>S,e<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #008000;">&#125;</span>
    menuselect<span style="color: #008000;">&#40;</span>S<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #0000ff;">return</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=608</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Bejeweled Twist(钻石迷情3)完美破解版</title>
		<link>http://www.shuax.com/?p=600</link>
		<comments>http://www.shuax.com/?p=600#comments</comments>
		<pubDate>Sun, 18 Oct 2009 07:20:50 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[DIY]]></category>
		<category><![CDATA[游戏]]></category>
		<category><![CDATA[破解]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=600</guid>
		<description><![CDATA[游戏简介： 　　还记得2代Credit最后的提醒吗： 　　“Keep an eye out for Bejeweled 3, coming soon to a computer near you!&#8221; 　　(请时刻留意，Bejeweled 3随时在你身边的电脑出现!) 　　而现在，它出现了！这就是Bejeweled的第三代，Bejeweled Twist！ 　　与1代和2代不同的是，玩法不再是2个宝石交换，而是2&#215;2的4个宝石旋转! 游戏截图： 下载地址：不好意思，网盘我传不动，想要的给出你的邮箱，我直接发给你。（38.41M） 不知道这个是不是？ http://www.uushare.com/user/shuax/file/2405482 百度百科：http://baike.baidu.com/view/2185245.htm]]></description>
			<content:encoded><![CDATA[<p><strong>游戏简介：</strong></p>
<p>　　还记得2代Credit最后的提醒吗：</p>
<p>　　“Keep an eye out for Bejeweled 3, coming soon to a computer near you!&#8221;</p>
<p>　　(请时刻留意，Bejeweled 3随时在你身边的电脑出现!)</p>
<p>　　而现在，它出现了！这就是Bejeweled的第三代，Bejeweled Twist！</p>
<p>　　与1代和2代不同的是，玩法不再是2个宝石交换，而是2&#215;2的4个宝石旋转!</p>
<p><span id="more-600"></span></p>
<p><strong>游戏截图：</strong></p>
<p><img class="alignnone size-full wp-image-601" title="Bejeweled" src="http://www.shuax.com/wp-content/uploads/2009/10/Bejeweled.jpg" alt="Bejeweled" width="600" height="393" /></p>
<p><strong>下载地址：</strong>不好意思，网盘我传不动，想要的给出你的邮箱，我直接发给你。（38.41M）</p>
<p>不知道这个是不是？</p>
<p><strong><a href="http://www.uushare.com/user/shuax/file/2405482">http://www.uushare.com/user/shuax/file/2405482</a></strong></p>
<p><strong>百度百科：</strong><a href="http://baike.baidu.com/view/2185245.htm">http://baike.baidu.com/view/2185245.htm</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=600</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>QQ2010Beta_trial</title>
		<link>http://www.shuax.com/?p=555</link>
		<comments>http://www.shuax.com/?p=555#comments</comments>
		<pubDate>Thu, 15 Oct 2009 09:53:26 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[DIY]]></category>
		<category><![CDATA[QQ]]></category>
		<category><![CDATA[WIN7]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=555</guid>
		<description><![CDATA[今天下午去上课的时候，QQ都还没有提供2010的下载地址，我还以为腾讯这次又跳票呢，上课回来发现提供地址了，呵呵…… 第一时间下载下来试用。 首先是安装界面，跟我的感觉和09的大同小异，还是绑定的东西越来越多啊。 然后是……QQ2010的主界面。 随便点了一下来看 看见一个贴心的地方…… 毕竟是中国人嘛，生日用农历的比较多。 以前明明不是生日的时候，收到一堆祝福信，郁闷啊。 可是那个高清头像是会员才能用的……我就算了吧。 还有个新功能，就是设置记录的漫游，这个应该还不错吧。 …………………………………………………………………………………… 关于升级，我觉得还可以，从09很顺利的升级到了10，设置全部都在，密码保存也没问题。 …………………………………………………………………………………… 关于和win7的关系： 我想说一点，这个版本绝对是针对win7做了优化的。 开启QQ不久就弹出一个提示，就是教会你怎么更改win7托盘图标的设置的。嘿嘿，我还是保持默认的。 另外以前在09的时候，比如说把鼠标移动到某某某上，等待文字提示，都会出现一个透明的框体，然后过一下，框体消失，只剩下一个平面上的字，我反正是觉得难看啦。QQ2010就把这个问题改正了，提示信息已经是很标准的win7的提示样式了。 个人意见，等QQ2010正式出来的时候，使用win7的一定要升级。 体验报告： 1、QQ2010的农历算法有问题，反正我的生日那天它算来差了一天。 2、另外登录时有灰色的边框，很难看。 3、现在又可以显示好友里面的自己了]]></description>
			<content:encoded><![CDATA[<p>今天下午去上课的时候，QQ都还没有提供2010的下载地址，我还以为腾讯这次又跳票呢，上课回来发现提供地址了，呵呵……</p>
<p>第一时间下载下来试用。</p>
<p>首先是安装界面，跟我的感觉和09的大同小异，还是绑定的东西越来越多啊。</p>
<p>然后是……QQ2010的主界面。</p>
<p><span id="more-555"></span></p>
<p><img class="alignnone size-full wp-image-556" title="01" src="http://www.shuax.com/wp-content/uploads/2009/10/01.png" alt="01" width="240" height="606" /></p>
<p>随便点了一下来看</p>
<p>看见一个贴心的地方……</p>
<p>毕竟是中国人嘛，生日用农历的比较多。</p>
<p>以前明明不是生日的时候，收到一堆祝福信，郁闷啊。</p>
<p><img class="alignnone size-full wp-image-557" title="02" src="http://www.shuax.com/wp-content/uploads/2009/10/02.png" alt="02" width="593" height="436" /></p>
<p>可是那个高清头像是会员才能用的……我就算了吧。</p>
<p>还有个新功能，就是设置记录的漫游，这个应该还不错吧。</p>
<p>……………………………………………………………………………………</p>
<p>关于升级，我觉得还可以，从09很顺利的升级到了10，设置全部都在，密码保存也没问题。</p>
<p>……………………………………………………………………………………</p>
<p>关于和win7的关系：</p>
<p>我想说一点，这个版本绝对是针对win7做了优化的。</p>
<p>开启QQ不久就弹出一个提示，就是教会你怎么更改win7托盘图标的设置的。嘿嘿，我还是保持默认的。</p>
<p>另外以前在09的时候，比如说把鼠标移动到某某某上，等待文字提示，都会出现一个透明的框体，然后过一下，框体消失，只剩下一个平面上的字，我反正是觉得难看啦。QQ2010就把这个问题改正了，提示信息已经是很标准的win7的提示样式了。</p>
<p><img class="alignnone size-full wp-image-558" title="03" src="http://www.shuax.com/wp-content/uploads/2009/10/03.png" alt="03" width="217" height="55" /></p>
<p>个人意见，等QQ2010正式出来的时候，使用win7的一定要升级。</p>
<p>体验报告：</p>
<p>1、QQ2010的农历算法有问题，反正我的生日那天它算来差了一天。<br />
2、另外登录时有灰色的边框，很难看。<br />
3、现在又可以显示好友里面的自己了</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=555</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>西昌行（食、住、行）</title>
		<link>http://www.shuax.com/?p=550</link>
		<comments>http://www.shuax.com/?p=550#comments</comments>
		<pubDate>Thu, 15 Oct 2009 04:28:18 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[我的生活]]></category>
		<category><![CDATA[爱情]]></category>
		<category><![CDATA[西昌]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=550</guid>
		<description><![CDATA[　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　——不一样的天，不一样的地，不一样的人。 　　到西昌后，直到第二天，我才吃了东西。吃的第一样东西，就是旅馆对面的那个什么什么抄手。 　　刚到的时候，因为坐（站）火车，太晕了，吃不下。睡了一觉好多了，好饿啊……老婆叫了一晚小碗，我很自然的就叫了大碗……额，然后一抬头，我的妈呀，大碗7元，小碗5元，反正比我们学校贵多了。学校外面的宜宾燃面，三两抄手才4元呢。 　　等了好一会儿，抄手终于来了，嗯，速度有点慢，不过看起来还比较多。我们吃的是鸡丝抄手，上面的鸡丝还是比较多的。 　　好了好了，我早就饿了，开工吧。嗯，那个鸡丝没什么味道，就是纯粹的煮熟的鸡丝，抄手一咬开，额，里面的肉还是一坨一坨的，根本就没有宰成壤子，吃着很不爽。想当初我在家里最喜欢宰肉了，我喜欢宰的瘦肉肥肉一个颜色，可是这里的……他们也太懒了吧。唯一有点好的是，量还是比较足的，虽然我觉得不好吃，可是人家也没有减料，也许彝族人就喜欢那个味道吧。 　　 　　我在西昌，住在健康路，就在凉山州第二医院那条街。西昌的旅馆嘛，还行吧，我住得最便宜的那种了，旅馆老板也比较好说话。对了，西昌的阳光很充足，到处的屋顶上都是太阳能热水器，估计我晚上洗的就是那个东西。可是要叫声老板，她才放水的，难怪哦，那天害我去冲了一次冷水。出门的时候，我都把东西放老板那里保管了的，有时难得放就没放，不过回来的时候还是没问题哈。哦，还有，我睡觉前把装苹果的口袋放地上了，结果第二天，下面多了个洞洞，我郁闷……这蟑螂太厉害了，吃的好快，我一把捏住口袋，直接把口袋给扔掉了，嘿嘿。 　　西昌的交通嘛，还可以，除了火车有点让我难受，根据老婆说，西昌从来不堵车的，哈哈，看着也像，那么大的街道，车却没几两，能堵住才怪了。这种新新城市就是好啊，规划过的，就是不一样。我下火车做的11路公交嘛，我觉得挺好的，才1元，差不多做了30分钟。而且车子很新，比成都的新多了，无人售票。然后再说说人力的车吧，呵呵。我和老婆去环海（邛海，四川第二大淡水湖），就是在那个三岔口那里租的车，西昌的三岔口就是州政府那里哈。这里的租车跟我们学校不一样，是记天的，这家算便宜的，15元，押身份证，新车会贵些，其它租车的地方还有贵点。注意哈，下午5点就是还车时间，超过时间之后，一小时5元，还黑啊。我们是早上九点去租的，然后往火把广场那边走的，然后在过去就那个什么什么“luoji”山哦，反正我也不认识，后来看来泸山在举行自行车登山比赛诶，其实我很喜欢的，可是我的自行车上还有个人，我能跑完全程就不错了，还是老老实实环海吧。 　　没过多久，就已经看不见城市了。路也变窄了，可是我却十分享受。道路的两旁，是政府栽种的一种不知名的小花，开着鲜红色的花朵，格外的惹人喜爱……还有四周是刚刚打完谷子后留下的谷堆……不知道为什么，明明这些平淡无奇的东西，此刻呈现在我的眼前却无比美丽。这里的空气也很凉爽，虽然阳光很强烈，却并不热。我和老婆有说有笑的一直往前走。唉，多么希望这种美丽的时刻永远凝固。也许这就是一种浪漫吧。幸福的感觉…… 　　路上还有许多骑自行车的，不过好像就只有我还拖着一个人，老婆太不厚道了，哼哼，我的体重还比她轻一点呢……不过，她是我的老婆，她的话，我肯定是要听的。走啊走啊走啊走……都走过了西昌学院的两个校区。 　　下午2点过，我们把车还了……路上老婆不小心滑了下来，被摔惨了，我好心痛啊，不过真的不是因为我骑的不好把她摔下来的。 　　骑了多久啊？不过中间我们到处都在休息，可惜没有相机，手机的效果不好，就没有怎么拍照了。 　　PS：大概是因为国庆吧，到处的路口都有警察，我们停车的地方也有交警在那里看着，真爽……赞一个 　　 　　END 　　 　　 　　了解更多西昌的知识，请访问：http://baike.baidu.com/view/5868.htm]]></description>
			<content:encoded><![CDATA[<p>　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　——不一样的天，不一样的地，不一样的人。</p>
<p>　　到西昌后，直到第二天，我才吃了东西。吃的第一样东西，就是旅馆对面的那个什么什么抄手。<br />
　　刚到的时候，因为坐（站）火车，太晕了，吃不下。睡了一觉好多了，好饿啊……老婆叫了一晚小碗，我很自然的就叫了大碗……额，然后一抬头，我的妈呀，大碗7元，小碗5元，反正比我们学校贵多了。学校外面的宜宾燃面，三两抄手才4元呢。<br />
　　等了好一会儿，抄手终于来了，嗯，速度有点慢，不过看起来还比较多。我们吃的是鸡丝抄手，上面的鸡丝还是比较多的。<br />
　　好了好了，我早就饿了，开工吧。嗯，那个鸡丝没什么味道，就是纯粹的煮熟的鸡丝，抄手一咬开，额，里面的肉还是一坨一坨的，根本就没有宰成壤子，吃着很不爽。想当初我在家里最喜欢宰肉了，我喜欢宰的瘦肉肥肉一个颜色，可是这里的……他们也太懒了吧。唯一有点好的是，量还是比较足的，虽然我觉得不好吃，可是人家也没有减料，也许彝族人就喜欢那个味道吧。<br />
　　<span id="more-550"></span><br />
　　我在西昌，住在健康路，就在凉山州第二医院那条街。西昌的旅馆嘛，还行吧，我住得最便宜的那种了，旅馆老板也比较好说话。对了，西昌的阳光很充足，到处的屋顶上都是太阳能热水器，估计我晚上洗的就是那个东西。可是要叫声老板，她才放水的，难怪哦，那天害我去冲了一次冷水。出门的时候，我都把东西放老板那里保管了的，有时难得放就没放，不过回来的时候还是没问题哈。哦，还有，我睡觉前把装苹果的口袋放地上了，结果第二天，下面多了个洞洞，我郁闷……这蟑螂太厉害了，吃的好快，我一把捏住口袋，直接把口袋给扔掉了，嘿嘿。</p>
<p>　　西昌的交通嘛，还可以，除了火车有点让我难受，根据老婆说，西昌从来不堵车的，哈哈，看着也像，那么大的街道，车却没几两，能堵住才怪了。这种新新城市就是好啊，规划过的，就是不一样。我下火车做的11路公交嘛，我觉得挺好的，才1元，差不多做了30分钟。而且车子很新，比成都的新多了，无人售票。然后再说说人力的车吧，呵呵。我和老婆去环海（邛海，四川第二大淡水湖），就是在那个三岔口那里租的车，西昌的三岔口就是州政府那里哈。这里的租车跟我们学校不一样，是记天的，这家算便宜的，15元，押身份证，新车会贵些，其它租车的地方还有贵点。注意哈，下午5点就是还车时间，超过时间之后，一小时5元，还黑啊。我们是早上九点去租的，然后往火把广场那边走的，然后在过去就那个什么什么“luoji”山哦，反正我也不认识，后来看来泸山在举行自行车登山比赛诶，其实我很喜欢的，可是我的自行车上还有个人，我能跑完全程就不错了，还是老老实实环海吧。<br />
　　没过多久，就已经看不见城市了。路也变窄了，可是我却十分享受。道路的两旁，是政府栽种的一种不知名的小花，开着鲜红色的花朵，格外的惹人喜爱……还有四周是刚刚打完谷子后留下的谷堆……不知道为什么，明明这些平淡无奇的东西，此刻呈现在我的眼前却无比美丽。这里的空气也很凉爽，虽然阳光很强烈，却并不热。我和老婆有说有笑的一直往前走。唉，多么希望这种美丽的时刻永远凝固。也许这就是一种浪漫吧。幸福的感觉……<br />
　　路上还有许多骑自行车的，不过好像就只有我还拖着一个人，老婆太不厚道了，哼哼，我的体重还比她轻一点呢……不过，她是我的老婆，她的话，我肯定是要听的。走啊走啊走啊走……都走过了西昌学院的两个校区。<br />
　　下午2点过，我们把车还了……路上老婆不小心滑了下来，被摔惨了，我好心痛啊，不过真的不是因为我骑的不好把她摔下来的。<br />
　　骑了多久啊？不过中间我们到处都在休息，可惜没有相机，手机的效果不好，就没有怎么拍照了。</p>
<p>　　PS：大概是因为国庆吧，到处的路口都有警察，我们停车的地方也有交警在那里看着，真爽……赞一个<br />
　　<br />
　　END<br />
　　<br />
　　<br />
　　了解更多西昌的知识，请访问：http://baike.baidu.com/view/5868.htm</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=550</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>数据结构：单链表合并倒序分离</title>
		<link>http://www.shuax.com/?p=511</link>
		<comments>http://www.shuax.com/?p=511#comments</comments>
		<pubDate>Mon, 12 Oct 2009 04:31:48 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[程序开发]]></category>
		<category><![CDATA[数据结构]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=511</guid>
		<description><![CDATA[构造两个带有表头结点的有序单链表La、Lb，编写程序实现将La、Lb合并成一个 有序单链表Lc。 构造一个单链表L，其头结点指针为head，编写程序实现将L逆置。 将一个带头结点的单链表La分解成两个同样结构的单链表Lb，Lc，使得Lb中只 含La表中奇数结点，Lc中含有La表的偶数结点. 为避免代码占用太多页面，查看代码请阅读全文。 /*单链表的合并倒序*/ /*舒俊杰 2009年10月12日*/ &#160; #include &#60;stdio.h&#62; #include &#60;stdlib.h&#62; #include &#60;string.h&#62; &#160; #define FALSE -1 #define OK 1 #define ERROR -1 #define OVERFLOW -2 &#160; typedef int Status; typedef char ElemType; &#160; typedef struct LNode &#123; ElemType data&#91;20&#93;; struct LNode *next; &#125; LNode, *LinkList; &#160; void CreateList_L&#40;LinkList &#38;L, int n&#41;]]></description>
			<content:encoded><![CDATA[<p>构造两个带有表头结点的有序单链表La、Lb，编写程序实现将La、Lb合并成一个 有序单链表Lc。</p>
<p>构造一个单链表L，其头结点指针为head，编写程序实现将L逆置。</p>
<p>将一个带头结点的单链表La分解成两个同样结构的单链表Lb，Lc，使得Lb中只 含La表中奇数结点，Lc中含有La表的偶数结点.</p>
<p>为避免代码占用太多页面，查看代码请阅读全文。</p>
<p><span id="more-511"></span></p>

<div class="wp_codebox"><table><tr id="p511204"><td class="code" id="p511code204"><pre class="cpp" style="font-family:monospace;"><span style="color: #ff0000; font-style: italic;">/*单链表的合并倒序*/</span>
<span style="color: #ff0000; font-style: italic;">/*舒俊杰 2009年10月12日*/</span>
&nbsp;
<span style="color: #339900;">#include &lt;stdio.h&gt;</span>
<span style="color: #339900;">#include &lt;stdlib.h&gt;</span>
<span style="color: #339900;">#include &lt;string.h&gt;</span>
&nbsp;
<span style="color: #339900;">#define FALSE -1</span>
<span style="color: #339900;">#define OK 1</span>
<span style="color: #339900;">#define ERROR -1</span>
<span style="color: #339900;">#define OVERFLOW -2</span>
&nbsp;
<span style="color: #0000ff;">typedef</span> <span style="color: #0000ff;">int</span> Status<span style="color: #008080;">;</span>
<span style="color: #0000ff;">typedef</span> <span style="color: #0000ff;">char</span> ElemType<span style="color: #008080;">;</span>
&nbsp;
<span style="color: #0000ff;">typedef</span> <span style="color: #0000ff;">struct</span> LNode
<span style="color: #008000;">&#123;</span>
	ElemType data<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">20</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">struct</span> LNode <span style="color: #000040;">*</span>next<span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
LNode, <span style="color: #000040;">*</span>LinkList<span style="color: #008080;">;</span>
&nbsp;
<span style="color: #0000ff;">void</span> CreateList_L<span style="color: #008000;">&#40;</span>LinkList <span style="color: #000040;">&amp;</span>L, <span style="color: #0000ff;">int</span> n<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	L <span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span>LinkList<span style="color: #008000;">&#41;</span><span style="color: #0000dd;">malloc</span><span style="color: #008000;">&#40;</span><span style="color: #0000dd;">sizeof</span><span style="color: #008000;">&#40;</span>LNode<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>L <span style="color: #000080;">==</span> <span style="color: #0000ff;">NULL</span><span style="color: #008000;">&#41;</span> <span style="color: #0000dd;">exit</span><span style="color: #008000;">&#40;</span>OVERFLOW<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	L<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>next <span style="color: #000080;">=</span> <span style="color: #0000ff;">NULL</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">int</span> i<span style="color: #008080;">;</span>
	LinkList p<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>i <span style="color: #000080;">=</span> n<span style="color: #008080;">;</span>i <span style="color: #000080;">&gt;</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>i<span style="color: #000040;">--</span><span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		p <span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span>LinkList<span style="color: #008000;">&#41;</span><span style="color: #0000dd;">malloc</span><span style="color: #008000;">&#40;</span><span style="color: #0000dd;">sizeof</span><span style="color: #008000;">&#40;</span>LNode<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>p <span style="color: #000080;">==</span> <span style="color: #0000ff;">NULL</span><span style="color: #008000;">&#41;</span> <span style="color: #0000dd;">exit</span><span style="color: #008000;">&#40;</span>OVERFLOW<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;请输入第%d个学生的姓名：&quot;</span>, i<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">gets</span><span style="color: #008000;">&#40;</span>p<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>data<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		p<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>next <span style="color: #000080;">=</span> L<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>next<span style="color: #008080;">;</span>
		L<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>next <span style="color: #000080;">=</span> p<span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">void</span> Print_L<span style="color: #008000;">&#40;</span>LinkList L<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000dd;">puts</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;单链表中所有的节点如下&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	LinkList p <span style="color: #000080;">=</span> L<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>next<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">while</span> <span style="color: #008000;">&#40;</span>p<span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000dd;">puts</span><span style="color: #008000;">&#40;</span>p<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>data<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		p <span style="color: #000080;">=</span> p<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>next<span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">void</span> Revlist_L<span style="color: #008000;">&#40;</span>LinkList <span style="color: #000040;">&amp;</span>L<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	LinkList p <span style="color: #000080;">=</span> L<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>next<span style="color: #008080;">;</span>
	L<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>next <span style="color: #000080;">=</span> <span style="color: #0000ff;">NULL</span><span style="color: #008080;">;</span>
	LinkList q<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">while</span> <span style="color: #008000;">&#40;</span>p<span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		q <span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span>LinkList<span style="color: #008000;">&#41;</span><span style="color: #0000dd;">malloc</span><span style="color: #008000;">&#40;</span><span style="color: #0000dd;">sizeof</span><span style="color: #008000;">&#40;</span>LNode<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">strcpy</span><span style="color: #008000;">&#40;</span>q<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>data, p<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>data<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		q<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>next <span style="color: #000080;">=</span> L<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>next<span style="color: #008080;">;</span>
		L<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>next <span style="color: #000080;">=</span> q<span style="color: #008080;">;</span>
		p <span style="color: #000080;">=</span> p<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>next<span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
&nbsp;
<span style="color: #008000;">&#125;</span>
<span style="color: #ff0000; font-style: italic;">/*
void MergeList_L(LinkList &amp;La, LinkList &amp;Lb,LinkList &amp;Lc)
{
    LinkList pa,pb,pc;
    pa = La-&gt;next;
    pb = Lb-&gt;next;
    Lc = pc = La;
    while(pa &amp;&amp; pb)
    {
         if (strcmp(pa-&gt;data,pb-&gt;data)&lt;0)
         {
             pc-&gt;next = pa;
             pc = pa;
             pa = pa-&gt;next;
         }
         else
         {
             pc-&gt;next = pb;
             pc = pb;
             pb = pb-&gt;next;
         }
    }
    pc-&gt;next = pa ? pa:pb;
    free(Lb);
}
*/</span>
<span style="color: #0000ff;">void</span> BubbleSort_L<span style="color: #008000;">&#40;</span>LinkList <span style="color: #000040;">&amp;</span>L<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	LinkList p <span style="color: #000080;">=</span> L<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>next<span style="color: #008080;">;</span>
	ElemType temp<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">20</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">while</span> <span style="color: #008000;">&#40;</span>p<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>next<span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		LinkList q <span style="color: #000080;">=</span> p<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>next<span style="color: #008080;">;</span>
		<span style="color: #0000ff;">while</span> <span style="color: #008000;">&#40;</span>q<span style="color: #008000;">&#41;</span>
		<span style="color: #008000;">&#123;</span>
			<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span><span style="color: #0000dd;">strcmp</span><span style="color: #008000;">&#40;</span>p<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>data, q<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>data<span style="color: #008000;">&#41;</span> <span style="color: #000080;">&gt;</span> <span style="color: #0000dd;">0</span><span style="color: #008000;">&#41;</span>
			<span style="color: #008000;">&#123;</span>
				<span style="color: #0000dd;">strcpy</span><span style="color: #008000;">&#40;</span>temp, p<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>data<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
				<span style="color: #0000dd;">strcpy</span><span style="color: #008000;">&#40;</span>p<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>data, q<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>data<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
				<span style="color: #0000dd;">strcpy</span><span style="color: #008000;">&#40;</span>q<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>data, temp<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
			<span style="color: #008000;">&#125;</span>
			q <span style="color: #000080;">=</span> q<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>next<span style="color: #008080;">;</span>
		<span style="color: #008000;">&#125;</span>
		p <span style="color: #000080;">=</span> p<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>next<span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
<span style="color: #0000ff;">void</span> union_Link<span style="color: #008000;">&#40;</span>LinkList <span style="color: #000040;">&amp;</span>La, LinkList <span style="color: #000040;">&amp;</span>Lb, LinkList <span style="color: #000040;">&amp;</span>Lc<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	LinkList p <span style="color: #000080;">=</span> La<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">while</span> <span style="color: #008000;">&#40;</span>p<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>next<span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		p <span style="color: #000080;">=</span> p<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>next<span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	p<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>next <span style="color: #000080;">=</span> Lb<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>next<span style="color: #008080;">;</span>
	Lc <span style="color: #000080;">=</span> La<span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
<span style="color: #0000ff;">void</span> Separatelist_L<span style="color: #008000;">&#40;</span>LinkList Lc, LinkList <span style="color: #000040;">&amp;</span>La, LinkList <span style="color: #000040;">&amp;</span>Lb<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	LinkList p <span style="color: #000080;">=</span> Lc<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>next<span style="color: #008080;">;</span>
	LinkList pa <span style="color: #000080;">=</span> La<span style="color: #008080;">;</span>
	LinkList pb <span style="color: #000080;">=</span> Lb<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">int</span> i <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">while</span> <span style="color: #008000;">&#40;</span>p<span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>i <span style="color: #000040;">%</span> <span style="color: #0000dd;">2</span> <span style="color: #000080;">==</span> <span style="color: #0000dd;">0</span><span style="color: #008000;">&#41;</span>
		<span style="color: #008000;">&#123;</span>
			pa<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>next <span style="color: #000080;">=</span> p<span style="color: #008080;">;</span>
			pa <span style="color: #000080;">=</span> pa<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>next<span style="color: #008080;">;</span>
		<span style="color: #008000;">&#125;</span>
		<span style="color: #0000ff;">else</span>
		<span style="color: #008000;">&#123;</span>
			pb<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>next <span style="color: #000080;">=</span> p<span style="color: #008080;">;</span>
			pb <span style="color: #000080;">=</span> pb<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>next<span style="color: #008080;">;</span>
		<span style="color: #008000;">&#125;</span>
		i<span style="color: #000040;">++</span><span style="color: #008080;">;</span>
		p <span style="color: #000080;">=</span> p<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>next<span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	pa<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>next <span style="color: #000080;">=</span> <span style="color: #0000ff;">NULL</span><span style="color: #008080;">;</span>
	pb<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>next <span style="color: #000080;">=</span> <span style="color: #0000ff;">NULL</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">int</span> main<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	LinkList La, Lb, Lc<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">int</span> n<span style="color: #008080;">;</span>
	<span style="color: #666666;">//</span>
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;请输入La学生人数：&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">scanf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%d&quot;</span>, <span style="color: #000040;">&amp;</span>n<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">getchar</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	CreateList_L<span style="color: #008000;">&#40;</span>La, n<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #666666;">//</span>
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;请输入Lb学生人数：&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">scanf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%d&quot;</span>, <span style="color: #000040;">&amp;</span>n<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">getchar</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	CreateList_L<span style="color: #008000;">&#40;</span>Lb, n<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #666666;">//</span>
	<span style="color: #0000dd;">puts</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;La:&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	Print_L<span style="color: #008000;">&#40;</span>La<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">puts</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;Lb:&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	Print_L<span style="color: #008000;">&#40;</span>Lb<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #666666;">//</span>
	<span style="color: #0000dd;">puts</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;合并La,Lb到Lc后，Lc:&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	union_Link<span style="color: #008000;">&#40;</span>La, Lb, Lc<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	BubbleSort_L<span style="color: #008000;">&#40;</span>Lc<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	Print_L<span style="color: #008000;">&#40;</span>Lc<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #666666;">//</span>
	<span style="color: #0000dd;">puts</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;倒序LC后，Lc:&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	Revlist_L<span style="color: #008000;">&#40;</span>Lc<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	Print_L<span style="color: #008000;">&#40;</span>Lc<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #666666;">//</span>
	<span style="color: #0000dd;">puts</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;分离LC后，La,Lb:&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	Separatelist_L<span style="color: #008000;">&#40;</span>Lc, La, Lb<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	Print_L<span style="color: #008000;">&#40;</span>La<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	Print_L<span style="color: #008000;">&#40;</span>Lb<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">getchar</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">return</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></td></tr></table></div>

<p>我也不知道有没有问题，可是我实在不想再测试了，拖了好久了，再做就没有激情……</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=511</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>[原创]LogonChanger v1.2</title>
		<link>http://www.shuax.com/?p=503</link>
		<comments>http://www.shuax.com/?p=503#comments</comments>
		<pubDate>Sun, 11 Oct 2009 01:14:48 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[原创软件]]></category>
		<category><![CDATA[汇编]]></category>
		<category><![CDATA[WIN7]]></category>
		<category><![CDATA[原创]]></category>
		<category><![CDATA[界面]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=503</guid>
		<description><![CDATA[这是一个用汇编写的小巧的免费软件。 这是一个用来修改win7欢迎登录界面的软件。 这是一个很方便的软件，使用简单，恢复也简单。 版本信息： v1.0　实现基本功能 v1.1　修正了exe文件大小，从6kb减小到3kb v1.2　增加文件大小检测提示 文件大小说明：图片大小不能超过256kb，这个是系统规定的，说是为了保证系统的启动速度。你在使用过大的图片的时候，请先行转换，或使用全自动工具。 下载地址： LogonChanger v1.2 文件大小：1.2 KB&#12288;文件名称：LogonChanger.rar]]></description>
			<content:encoded><![CDATA[<p>这是一个用汇编写的小巧的免费软件。</p>
<p>这是一个用来修改win7欢迎登录界面的软件。</p>
<p>这是一个很方便的软件，使用简单，恢复也简单。</p>
<p><strong>版本信息：</strong></p>
<p>v1.0　实现基本功能</p>
<p>v1.1　修正了exe文件大小，从6kb减小到3kb</p>
<p>v1.2　增加文件大小检测提示<br />
<span id="more-503"></span><br />
<img class="alignnone size-full wp-image-507" title="q" src="http://www.shuax.com/wp-content/uploads/2009/10/q.png" alt="q" width="450" height="221" /></p>
<p>文件大小说明：图片大小不能超过256kb，这个是系统规定的，说是为了保证系统的启动速度。你在使用过大的图片的时候，请先行转换，或使用全自动工具。</p>
<p>下载地址：<br />
<div class='download-link'>
							<a href='http://www.shuax.com/download.php?file=http://www.shuax.com/wp-content/uploads/2009/10/LogonChanger.rar'><img alt='Download' class='leftalign' src='http://www.shuax.com/wp-content/plugins/dBeautifier/icons/downloads.png' /></a>
							<h4>
								<a href='http://www.shuax.com/download.php?file=http://www.shuax.com/wp-content/uploads/2009/10/LogonChanger.rar'>LogonChanger v1.2</a>
							</h4><p>文件大小：1.2 KB&#12288;文件名称：LogonChanger.rar</p>
						</div></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=503</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>[原创]专用地址转换器（IE版）</title>
		<link>http://www.shuax.com/?p=498</link>
		<comments>http://www.shuax.com/?p=498#comments</comments>
		<pubDate>Sat, 10 Oct 2009 03:40:04 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[原创软件]]></category>
		<category><![CDATA[程序开发]]></category>
		<category><![CDATA[下载]]></category>
		<category><![CDATA[分析]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=498</guid>
		<description><![CDATA[废话不多说了，直接上图。 可惜的是，这个版本的限制比较大…… 许多地址无法识别。 下载地址： 专用地址转换器(IE版) 文件大小：35.2 KB&#12288;文件名称：showurl.rar 请仔细阅读压缩包的说明。]]></description>
			<content:encoded><![CDATA[<p>废话不多说了，直接上图。</p>
<p>可惜的是，这个版本的限制比较大……</p>
<p>许多地址无法识别。</p>
<p>下载地址：<br />
<span id="more-498"></span><br />
<img class="alignnone size-full wp-image-499" title="1" src="http://www.shuax.com/wp-content/uploads/2009/10/1.png" alt="1" width="413" height="365" /></p>
<p><div class='download-link'>
							<a href='http://www.shuax.com/download.php?file=http://www.shuax.com/wp-content/uploads/2009/10/showurl.rar'><img alt='Download' class='leftalign' src='http://www.shuax.com/wp-content/plugins/dBeautifier/icons/downloads.png' /></a>
							<h4>
								<a href='http://www.shuax.com/download.php?file=http://www.shuax.com/wp-content/uploads/2009/10/showurl.rar'>专用地址转换器(IE版)</a>
							</h4><p>文件大小：35.2 KB&#12288;文件名称：showurl.rar</p>
						</div></p>
<p>请仔细阅读压缩包的说明。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=498</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>[原创]专用地址转换器 v1.3</title>
		<link>http://www.shuax.com/?p=492</link>
		<comments>http://www.shuax.com/?p=492#comments</comments>
		<pubDate>Fri, 09 Oct 2009 10:46:40 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[C/C++]]></category>
		<category><![CDATA[原创软件]]></category>
		<category><![CDATA[下载]]></category>
		<category><![CDATA[原创]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=492</guid>
		<description><![CDATA[看见小众软件推荐的一款软件，就是做这个的，前段时间我也才分析了转换的原理。 小众推荐的软件有300多kb。 我觉得不太好用，所以就自己动手做了一个，我觉得我的软件更直观，更方便。 我没有加校验信息，所以部分问题不是问题，只要你输入的地址是正确的地址。 截图如下： 更新信息： v1.0：实现快捷的操作，转换任意链接 v1.1：修正RayFile链接转换 v1.2：优化细节 v1.3：修正FlashGet链接转换失误，感谢网友440bx的提醒。 我的工具的下载地址： 专用地址转换器 v1.3 文件大小：5.2 KB&#12288;文件名称：dlurl.rar 由于我没有机会测试上面提到的下载软件，如果大家在使用时遇到什么问题，请在评论反馈问题。]]></description>
			<content:encoded><![CDATA[<p>看见小众软件推荐的一款软件，就是做这个的，前段时间我也才分析了转换的原理。</p>
<p>小众推荐的软件有300多kb。</p>
<p>我觉得不太好用，所以就自己动手做了一个，我觉得我的软件更直观，更方便。</p>
<p>我没有加校验信息，所以部分问题不是问题，只要你输入的地址是正确的地址。</p>
<p>截图如下：<br />
<span id="more-492"></span><br />
<img src="http://www.shuax.com/wp-content/uploads/2009/10/dlurl.jpg" alt="dlurl" title="dlurl" width="539" height="278" class="aligncenter size-full wp-image-848" /></p>
<p>更新信息：</p>
<p>v1.0：实现快捷的操作，转换任意链接</p>
<p>v1.1：修正RayFile链接转换</p>
<p>v1.2：优化细节</p>
<p>v1.3：修正FlashGet链接转换失误，感谢网友<strong>440bx</strong>的提醒。</p>
<p>我的工具的下载地址：<br />
<div class='download-link'>
							<a href='http://www.shuax.com/download.php?file=http://www.shuax.com/download/dlurl.rar'><img alt='Download' class='leftalign' src='http://www.shuax.com/wp-content/plugins/dBeautifier/icons/downloads.png' /></a>
							<h4>
								<a href='http://www.shuax.com/download.php?file=http://www.shuax.com/download/dlurl.rar'>专用地址转换器 v1.3</a>
							</h4><p>文件大小：5.2 KB&#12288;文件名称：dlurl.rar</p>
						</div><br />
由于我没有机会测试上面提到的下载软件，如果大家在使用时遇到什么问题，请在评论反馈问题。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=492</wfw:commentRss>
		<slash:comments>29</slash:comments>
		</item>
		<item>
		<title>西昌行（图片）</title>
		<link>http://www.shuax.com/?p=473</link>
		<comments>http://www.shuax.com/?p=473#comments</comments>
		<pubDate>Fri, 09 Oct 2009 03:48:11 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[我的生活]]></category>
		<category><![CDATA[西昌]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=473</guid>
		<description><![CDATA[有人想要图片吗？那我这次把图片全部发出来。   图片的说明，我就不写了哈，自己去看看就知道啦~~你可以单独问我，我会在回复回答。 PS:我长得是不是很傻？还很天真？]]></description>
			<content:encoded><![CDATA[<p>有人想要图片吗？那我这次把图片全部发出来。</p>
<p><a href="http://www.shuax.com/wp-content/uploads/2009/10/IMG0457A.jpg"><img class="size-full wp-image-483 alignnone" title="IMG0457A" src="http://www.shuax.com/wp-content/uploads/2009/10/IMG0457A.jpg" alt="IMG0457A" width="240" height="320" /></a><a href="http://www.shuax.com/wp-content/uploads/2009/10/IMG0458A.jpg"><img class="size-full wp-image-484 alignnone" title="IMG0458A" src="http://www.shuax.com/wp-content/uploads/2009/10/IMG0458A.jpg" alt="IMG0458A" width="240" height="320" /></a></p>
<p> </p>
<p><span id="more-473"></span><a href="http://www.shuax.com/wp-content/uploads/2009/10/IMG0455A.jpg"><img class="size-full wp-image-482 alignnone" title="IMG0455A" src="http://www.shuax.com/wp-content/uploads/2009/10/IMG0455A.jpg" alt="IMG0455A" width="240" height="320" /></a></p>
<p><a href="http://www.shuax.com/wp-content/uploads/2009/10/IMG0427A.jpg"><img class="size-full wp-image-481 alignnone" title="IMG0427A" src="http://www.shuax.com/wp-content/uploads/2009/10/IMG0427A.jpg" alt="IMG0427A" width="320" height="240" /></a></p>
<p><a href="http://www.shuax.com/wp-content/uploads/2009/10/IMG0418A.jpg"><img class="size-full wp-image-480 alignnone" title="IMG0418A" src="http://www.shuax.com/wp-content/uploads/2009/10/IMG0418A.jpg" alt="IMG0418A" width="320" height="240" /></a></p>
<p><a href="http://www.shuax.com/wp-content/uploads/2009/10/IMG0293A.jpg"><img class="size-full wp-image-479 alignnone" title="IMG0293A" src="http://www.shuax.com/wp-content/uploads/2009/10/IMG0293A.jpg" alt="IMG0293A" width="240" height="320" /></a><a href="http://www.shuax.com/wp-content/uploads/2009/10/IMG0254A.jpg"><img class="size-full wp-image-478 alignnone" title="IMG0254A" src="http://www.shuax.com/wp-content/uploads/2009/10/IMG0254A.jpg" alt="IMG0254A" width="240" height="320" /></a><a href="http://www.shuax.com/wp-content/uploads/2009/10/IMG0252A.jpg"><img class="size-full wp-image-477 alignnone" title="IMG0252A" src="http://www.shuax.com/wp-content/uploads/2009/10/IMG0252A.jpg" alt="IMG0252A" width="240" height="320" /></a><a href="http://www.shuax.com/wp-content/uploads/2009/10/IMG0246A.jpg"><img class="size-full wp-image-476 alignnone" title="IMG0246A" src="http://www.shuax.com/wp-content/uploads/2009/10/IMG0246A.jpg" alt="IMG0246A" width="240" height="320" /></a><a href="http://www.shuax.com/wp-content/uploads/2009/10/IMG0240A.jpg"><img class="size-full wp-image-475 alignnone" title="IMG0240A" src="http://www.shuax.com/wp-content/uploads/2009/10/IMG0240A.jpg" alt="IMG0240A" width="240" height="320" /></a><a href="http://www.shuax.com/wp-content/uploads/2009/10/IMG0236A.jpg"><img class="size-full wp-image-474 alignnone" title="IMG0236A" src="http://www.shuax.com/wp-content/uploads/2009/10/IMG0236A.jpg" alt="IMG0236A" width="240" height="320" /></a></p>
<p>图片的说明，我就不写了哈，自己去看看就知道啦~~你可以单独问我，我会在回复回答。</p>
<p>PS:我长得是不是很傻？还很天真？</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=473</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>西昌行（始）</title>
		<link>http://www.shuax.com/?p=465</link>
		<comments>http://www.shuax.com/?p=465#comments</comments>
		<pubDate>Thu, 08 Oct 2009 12:44:28 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[我的生活]]></category>
		<category><![CDATA[西昌]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=465</guid>
		<description><![CDATA[西昌行（始） 因为语文不好，所以只有写流水账了。请见谅。 图片说明：和老婆去环海的时候，老婆坐在自行车后面拍的。   　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　——不一样的天，不一样的地，不一样的人。 　　早早的就跟老婆商量好了，国庆的时候去她那里看她。她在西昌，现在在实习了。具体的就不说了，嘿嘿。 　　因为我从来没有坐过火车嘛，所以就什么都不太懂，以为是提前5天卖票呢，结果去买的时候，呵呵，当然是只有站票啦。 但是也要去的嘛，唉，忍忍啦~为了老婆，受点苦也是值得的。 　　30号，在上了数据结构以后，洗了个澡，提着东西就出门了。大概6点过吧。有点堵车，但是到那里的时候还早的很呢。 唉，没有经验啊，我站在那个候车厅门口，愣是没敢进去……因为有些车站非要到一定的时间才准进去，在门口站了一会儿， 我还是硬着头皮上了，然后就进去了，晕啊，早知道我就早进去了嘛，里面做着多舒服啊……进大厅之前就是安检啦，我以为 吃的东西不用检查呢，都把东西放上去了，又提起来，然后又被叫放下去，我是不是很傻？ 　　看着K9481的牌子，我就跑在那里去坐着了。这是我的背后的一个兄弟，看见我也是K9481的，就聊了几句，然后他就坐 过来了，本来我还在想，一个人坐火车不方便呢，上厕所都没有人帮忙看东西，这下就好了。嗯~这里省略N字。后来他还在 车站买了瓶水，还有凤爪给我，其实我也有吃的，可是不要也不好啊，所以就收下了。那个时候又很早，很无聊，我就把电脑 拿出来，我们两个看电影《变形金刚2》，他后面有点没看完，据说是在网吧看的时候，突然死机了，呵呵。 　　等电影看完的时候才8点40多吧。然后开始有人排队了，等我们两个上厕所后，排队的人很多很多了……一打听，郁闷了， 居然就是K9481的……我们两个也赶紧拿着包，排着了。 　　我现在还是不明白，为什么大家忙着排队，反正没座位的还是没座位。 　　我是15号车厢的，他是14号车厢。我们跑了好远好远，才从火车停的3号车厢跑到后面……郁闷啊，有钱人就是有优待哇？ 本来我们是说话了，等车厢之间的门打开了，就跑在一起的。可是车厢门很久都没有开。人又多，我也很懒，我难得挤过去。 再加上后来，那个大姐姐，让我吊了半个屁股在那里坐着，所以我就没过去。唉，真是对不起人家呢，东西都吃了，呵呵，却 没有帮上忙。 　　相信他也会过的好吧。下车的时候找了一下，没有看见他的身影，估计是走在我前面的吧。 　　 　　END 　　 　　 　　了解更多西昌的知识，请访问：http://baike.baidu.com/view/5868.htm]]></description>
			<content:encoded><![CDATA[<p>西昌行（始）<br />
因为语文不好，所以只有写流水账了。请见谅。</p>
<p><a rel="attachment wp-att-467" href="http://www.shuax.com/?attachment_id=467"><img class="size-full wp-image-467 alignnone" title="IMG0459A" src="http://www.shuax.com/wp-content/uploads/2009/10/IMG0459A.jpg" alt="IMG0459A" width="288" height="384" /></a><br />
图片说明：和老婆去环海的时候，老婆坐在自行车后面拍的。</p>
<p> <br />
　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　——不一样的天，不一样的地，不一样的人。<br />
<span id="more-465"></span><br />
　　早早的就跟老婆商量好了，国庆的时候去她那里看她。她在西昌，现在在实习了。具体的就不说了，嘿嘿。<br />
　　因为我从来没有坐过火车嘛，所以就什么都不太懂，以为是提前5天卖票呢，结果去买的时候，呵呵，当然是只有站票啦。<br />
但是也要去的嘛，唉，忍忍啦~为了老婆，受点苦也是值得的。<br />
　　30号，在上了数据结构以后，洗了个澡，提着东西就出门了。大概6点过吧。有点堵车，但是到那里的时候还早的很呢。<br />
唉，没有经验啊，我站在那个候车厅门口，愣是没敢进去……因为有些车站非要到一定的时间才准进去，在门口站了一会儿，<br />
我还是硬着头皮上了，然后就进去了，晕啊，早知道我就早进去了嘛，里面做着多舒服啊……进大厅之前就是安检啦，我以为<br />
吃的东西不用检查呢，都把东西放上去了，又提起来，然后又被叫放下去，我是不是很傻？<br />
　　看着K9481的牌子，我就跑在那里去坐着了。这是我的背后的一个兄弟，看见我也是K9481的，就聊了几句，然后他就坐<br />
过来了，本来我还在想，一个人坐火车不方便呢，上厕所都没有人帮忙看东西，这下就好了。嗯~这里省略N字。后来他还在<br />
车站买了瓶水，还有凤爪给我，其实我也有吃的，可是不要也不好啊，所以就收下了。那个时候又很早，很无聊，我就把电脑<br />
拿出来，我们两个看电影《变形金刚2》，他后面有点没看完，据说是在网吧看的时候，突然死机了，呵呵。<br />
　　等电影看完的时候才8点40多吧。然后开始有人排队了，等我们两个上厕所后，排队的人很多很多了……一打听，郁闷了，<br />
居然就是K9481的……我们两个也赶紧拿着包，排着了。<br />
　　我现在还是不明白，为什么大家忙着排队，反正没座位的还是没座位。<br />
　　我是15号车厢的，他是14号车厢。我们跑了好远好远，才从火车停的3号车厢跑到后面……郁闷啊，有钱人就是有优待哇？<br />
本来我们是说话了，等车厢之间的门打开了，就跑在一起的。可是车厢门很久都没有开。人又多，我也很懒，我难得挤过去。<br />
再加上后来，那个大姐姐，让我吊了半个屁股在那里坐着，所以我就没过去。唉，真是对不起人家呢，东西都吃了，呵呵，却<br />
没有帮上忙。<br />
　　相信他也会过的好吧。下车的时候找了一下，没有看见他的身影，估计是走在我前面的吧。<br />
　　<br />
　　END<br />
　　<br />
　　<br />
　　了解更多西昌的知识，请访问：http://baike.baidu.com/view/5868.htm</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=465</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>I909背光自动打开</title>
		<link>http://www.shuax.com/?p=461</link>
		<comments>http://www.shuax.com/?p=461#comments</comments>
		<pubDate>Thu, 08 Oct 2009 11:41:57 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[我的生活]]></category>
		<category><![CDATA[手机]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=461</guid>
		<description><![CDATA[老婆的手机I909，她跟我聊天的时候老是按着关机键，所以她强烈要求跟我换手机。 我的BBK I389就这样没有了。 换了之后她的手机有个毛病，就是每隔5分钟就自动打开背光，郁闷死了。 半夜的时候亮啊亮的，浪费电不说，还影响我休息。 经过我艰苦的寻找，终于找到了病根。 在邮件设置那里把“自动收取邮件”的“每隔5分钟”改为“关闭”，问题解决！ 今晚能睡个好觉了，可是没有老婆陪我，呜呜~~]]></description>
			<content:encoded><![CDATA[<p>老婆的手机I909，她跟我聊天的时候老是按着关机键，所以她强烈要求跟我换手机。</p>
<p>我的BBK I389就这样没有了。</p>
<p>换了之后她的手机有个毛病，就是每隔5分钟就自动打开背光，郁闷死了。</p>
<p>半夜的时候亮啊亮的，浪费电不说，还影响我休息。</p>
<p>经过我艰苦的寻找，终于找到了病根。</p>
<p>在邮件设置那里把“自动收取邮件”的“每隔5分钟”改为“关闭”，问题解决！</p>
<p>今晚能睡个好觉了，可是没有老婆陪我，呜呜~~</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=461</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>数据结构：单链表</title>
		<link>http://www.shuax.com/?p=451</link>
		<comments>http://www.shuax.com/?p=451#comments</comments>
		<pubDate>Mon, 28 Sep 2009 13:16:02 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[程序开发]]></category>
		<category><![CDATA[数据结构]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=451</guid>
		<description><![CDATA[花了可能20分钟，或者更多的时间吧…… 今晚最后的疯狂，明天继续做其他的。 /*单链表的基本操作*/ /*舒俊杰 2009年9月28日*/ &#160; #include &#60;stdio.h&#62; #include &#60;stdlib.h&#62; #include &#60;string.h&#62; &#160; #define FALSE -1 #define OK 1 #define ERROR -1 #define OVERFLOW -2 &#160; typedef int Status; typedef char ElemType; &#160; typedef struct LNode &#123; ElemType data&#91;20&#93;; struct LNode *next; &#125; LNode, *LinkList; &#160; void CreateList_L&#40;LinkList &#38;L, int n&#41; &#123; L = &#40;LinkList&#41;malloc&#40;sizeof&#40;LNode&#41;&#41;;]]></description>
			<content:encoded><![CDATA[<p>花了可能20分钟，或者更多的时间吧……<br />
今晚最后的疯狂，明天继续做其他的。<br />
<span id="more-451"></span></p>

<div class="wp_codebox"><table><tr id="p451206"><td class="code" id="p451code206"><pre class="cpp" style="font-family:monospace;"><span style="color: #ff0000; font-style: italic;">/*单链表的基本操作*/</span>
<span style="color: #ff0000; font-style: italic;">/*舒俊杰 2009年9月28日*/</span>
&nbsp;
<span style="color: #339900;">#include &lt;stdio.h&gt;</span>
<span style="color: #339900;">#include &lt;stdlib.h&gt;</span>
<span style="color: #339900;">#include &lt;string.h&gt;</span>
&nbsp;
<span style="color: #339900;">#define FALSE -1</span>
<span style="color: #339900;">#define OK 1</span>
<span style="color: #339900;">#define ERROR -1</span>
<span style="color: #339900;">#define OVERFLOW -2</span>
&nbsp;
<span style="color: #0000ff;">typedef</span> <span style="color: #0000ff;">int</span> Status<span style="color: #008080;">;</span>
<span style="color: #0000ff;">typedef</span> <span style="color: #0000ff;">char</span> ElemType<span style="color: #008080;">;</span>
&nbsp;
<span style="color: #0000ff;">typedef</span> <span style="color: #0000ff;">struct</span> LNode
<span style="color: #008000;">&#123;</span>
	ElemType data<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">20</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">struct</span> LNode <span style="color: #000040;">*</span>next<span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
LNode, <span style="color: #000040;">*</span>LinkList<span style="color: #008080;">;</span>
&nbsp;
<span style="color: #0000ff;">void</span> CreateList_L<span style="color: #008000;">&#40;</span>LinkList <span style="color: #000040;">&amp;</span>L, <span style="color: #0000ff;">int</span> n<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	L <span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span>LinkList<span style="color: #008000;">&#41;</span><span style="color: #0000dd;">malloc</span><span style="color: #008000;">&#40;</span><span style="color: #0000dd;">sizeof</span><span style="color: #008000;">&#40;</span>LNode<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>L <span style="color: #000080;">==</span> <span style="color: #0000ff;">NULL</span><span style="color: #008000;">&#41;</span> <span style="color: #0000dd;">exit</span><span style="color: #008000;">&#40;</span>OVERFLOW<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	L<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>next <span style="color: #000080;">=</span> <span style="color: #0000ff;">NULL</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">int</span> i<span style="color: #008080;">;</span>
	LinkList p<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>i <span style="color: #000080;">=</span> n<span style="color: #008080;">;</span>i <span style="color: #000080;">&gt;</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>i<span style="color: #000040;">--</span><span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		p <span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span>LinkList<span style="color: #008000;">&#41;</span><span style="color: #0000dd;">malloc</span><span style="color: #008000;">&#40;</span><span style="color: #0000dd;">sizeof</span><span style="color: #008000;">&#40;</span>LNode<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>p <span style="color: #000080;">==</span> <span style="color: #0000ff;">NULL</span><span style="color: #008000;">&#41;</span> <span style="color: #0000dd;">exit</span><span style="color: #008000;">&#40;</span>OVERFLOW<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;请输入第%d个学生的姓名：&quot;</span>,i<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">gets</span><span style="color: #008000;">&#40;</span>p<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>data<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		p<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>next <span style="color: #000080;">=</span> L<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>next<span style="color: #008080;">;</span>
		L<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>next <span style="color: #000080;">=</span> p<span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
Status ListInsert_L<span style="color: #008000;">&#40;</span>LinkList <span style="color: #000040;">&amp;</span>L, <span style="color: #0000ff;">int</span> i, ElemType e<span style="color: #008000;">&#91;</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	LinkList p <span style="color: #000080;">=</span> L<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">int</span> j <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">while</span> <span style="color: #008000;">&#40;</span>p <span style="color: #000040;">&amp;&amp;</span> j <span style="color: #000080;">&lt;</span> i <span style="color: #000040;">-</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		p <span style="color: #000080;">=</span> p<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>next<span style="color: #008080;">;</span>
		j<span style="color: #000040;">++</span><span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span><span style="color: #000040;">!</span>p <span style="color: #000040;">||</span> j <span style="color: #000080;">&gt;</span> i <span style="color: #000040;">-</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span> <span style="color: #0000ff;">return</span> ERROR<span style="color: #008080;">;</span>
	LinkList s <span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span>LinkList<span style="color: #008000;">&#41;</span><span style="color: #0000dd;">malloc</span><span style="color: #008000;">&#40;</span><span style="color: #0000dd;">sizeof</span><span style="color: #008000;">&#40;</span>LNode<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>s <span style="color: #000080;">==</span> <span style="color: #0000ff;">NULL</span><span style="color: #008000;">&#41;</span> <span style="color: #0000dd;">exit</span><span style="color: #008000;">&#40;</span>OVERFLOW<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">strcpy</span><span style="color: #008000;">&#40;</span>s<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>data, e<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	s<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>next <span style="color: #000080;">=</span> p<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>next<span style="color: #008080;">;</span>
	p<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>next <span style="color: #000080;">=</span> s<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">return</span> OK<span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
Status ListDelete_L<span style="color: #008000;">&#40;</span>LinkList <span style="color: #000040;">&amp;</span>L, <span style="color: #0000ff;">int</span> i, ElemType e<span style="color: #008000;">&#91;</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	LinkList p <span style="color: #000080;">=</span> L<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">int</span> j <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">while</span> <span style="color: #008000;">&#40;</span>p<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>next <span style="color: #000040;">&amp;&amp;</span> j <span style="color: #000080;">&lt;</span> i <span style="color: #000040;">-</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		p <span style="color: #000080;">=</span> p<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>next<span style="color: #008080;">;</span>
		j<span style="color: #000040;">++</span><span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span><span style="color: #000040;">!</span><span style="color: #008000;">&#40;</span>p<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>next<span style="color: #008000;">&#41;</span> <span style="color: #000040;">||</span> j <span style="color: #000080;">&gt;</span> i <span style="color: #000040;">-</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span> <span style="color: #0000ff;">return</span> ERROR<span style="color: #008080;">;</span>
	LinkList q<span style="color: #008080;">;</span>
	q <span style="color: #000080;">=</span> p<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>next<span style="color: #008080;">;</span>
	p<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>next <span style="color: #000080;">=</span> q<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>next<span style="color: #008080;">;</span>
	<span style="color: #0000dd;">strcpy</span><span style="color: #008000;">&#40;</span>e, q<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>data<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">free</span><span style="color: #008000;">&#40;</span>q<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">return</span> OK<span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
<span style="color: #0000ff;">int</span> LocateElem_L<span style="color: #008000;">&#40;</span>LinkList L, ElemType e<span style="color: #008000;">&#91;</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	LinkList p <span style="color: #000080;">=</span> L<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">int</span> i <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">while</span> <span style="color: #008000;">&#40;</span>p<span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span><span style="color: #000040;">!</span><span style="color: #0000dd;">strcmp</span><span style="color: #008000;">&#40;</span>p<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>data, e<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span> <span style="color: #0000ff;">return</span> i<span style="color: #008080;">;</span>
		p <span style="color: #000080;">=</span> p<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>next<span style="color: #008080;">;</span>
		i<span style="color: #000040;">++</span><span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000ff;">return</span> FALSE<span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
<span style="color: #0000ff;">void</span> Print_L<span style="color: #008000;">&#40;</span>LinkList L<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000dd;">puts</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;单链表中所有的节点如下&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	LinkList p <span style="color: #000080;">=</span> L<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>next<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">while</span> <span style="color: #008000;">&#40;</span>p<span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000dd;">puts</span><span style="color: #008000;">&#40;</span>p<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>data<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		p <span style="color: #000080;">=</span> p<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>next<span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
<span style="color: #0000ff;">void</span> Clearlist_L<span style="color: #008000;">&#40;</span>LinkList <span style="color: #000040;">&amp;</span>L<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	L<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>next<span style="color: #000080;">=</span><span style="color: #0000ff;">NULL</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">void</span> menu<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>* * * * * * * * * * * * * * * * * * * * * * * * * *<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;  1 ------- 打印这个单链表<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;  2 ------- 在单链表中插入数据<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;  3 ------- 在单链表中删除数组<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;  4 ------- 获得数据位置<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;  5 ------- 清空单链表<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;  6 ------- 退出<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;* * * * * * * * * * * * * * * * * * * * * * * * * *<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">void</span> menuselect<span style="color: #008000;">&#40;</span>LinkList L<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">int</span> k, i, done <span style="color: #000080;">=</span> <span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>
	ElemType e<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">20</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">while</span> <span style="color: #008000;">&#40;</span>done<span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		menu<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;请选择一个功能: &quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">scanf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%d&quot;</span>, <span style="color: #000040;">&amp;</span>k<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">getchar</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">switch</span> <span style="color: #008000;">&#40;</span>k<span style="color: #008000;">&#41;</span>
		<span style="color: #008000;">&#123;</span>
		<span style="color: #0000ff;">case</span> <span style="color: #0000dd;">1</span><span style="color: #008080;">:</span> Print_L<span style="color: #008000;">&#40;</span>L<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span> <span style="color: #0000ff;">break</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">case</span> <span style="color: #0000dd;">2</span><span style="color: #008080;">:</span>
			<span style="color: #008000;">&#123;</span>
				<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>输入插入位置以及数据: &quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
				<span style="color: #0000dd;">scanf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%d&quot;</span>, <span style="color: #000040;">&amp;</span>i<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
				<span style="color: #0000dd;">getchar</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
				<span style="color: #0000dd;">gets</span><span style="color: #008000;">&#40;</span>e<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
				<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>ListInsert_L<span style="color: #008000;">&#40;</span>L, i, e<span style="color: #008000;">&#41;</span> <span style="color: #000080;">==</span> ERROR<span style="color: #008000;">&#41;</span> <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;插入位置不正确!<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
				<span style="color: #0000ff;">break</span><span style="color: #008080;">;</span>
			<span style="color: #008000;">&#125;</span>
		<span style="color: #0000ff;">case</span> <span style="color: #0000dd;">3</span><span style="color: #008080;">:</span>
			<span style="color: #008000;">&#123;</span>
				<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>输入删除位置: &quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
				<span style="color: #0000dd;">scanf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%d&quot;</span>, <span style="color: #000040;">&amp;</span>i<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
				<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>ListDelete_L<span style="color: #008000;">&#40;</span>L, i, e<span style="color: #008000;">&#41;</span> <span style="color: #000080;">==</span> ERROR<span style="color: #008000;">&#41;</span>
					<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;删除位置不存在!<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
				<span style="color: #0000ff;">else</span>
					<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>被删除的数据是: %s.&quot;</span>, e<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
				<span style="color: #0000ff;">break</span><span style="color: #008080;">;</span>
			<span style="color: #008000;">&#125;</span>
		<span style="color: #0000ff;">case</span> <span style="color: #0000dd;">4</span><span style="color: #008080;">:</span>
			<span style="color: #008000;">&#123;</span>
				<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>输入你要定位的数据: &quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
				<span style="color: #0000dd;">gets</span><span style="color: #008000;">&#40;</span>e<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
				<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>LocateElem_L<span style="color: #008000;">&#40;</span>L, e<span style="color: #008000;">&#41;</span> <span style="color: #000040;">!</span><span style="color: #000080;">=</span> FALSE<span style="color: #008000;">&#41;</span>
					<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>数据 %s 在单链表中的位置为: %d.&quot;</span>, e, LocateElem_L<span style="color: #008000;">&#40;</span>L, e<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
				<span style="color: #0000ff;">else</span>
					<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>数据 %s 不在单链表中.<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span>, e<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
				<span style="color: #0000ff;">break</span><span style="color: #008080;">;</span>
			<span style="color: #008000;">&#125;</span>
		<span style="color: #0000ff;">case</span> <span style="color: #0000dd;">5</span><span style="color: #008080;">:</span> Clearlist_L<span style="color: #008000;">&#40;</span>L<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span> <span style="color: #0000ff;">break</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">case</span> <span style="color: #0000dd;">6</span><span style="color: #008080;">:</span> done <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
		<span style="color: #008000;">&#125;</span>
	<span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
<span style="color: #0000ff;">int</span> main<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	LinkList L<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">int</span> n<span style="color: #008080;">;</span>
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;请输入学生人数：&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">scanf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%d&quot;</span>,<span style="color: #000040;">&amp;</span>n<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">getchar</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	CreateList_L<span style="color: #008000;">&#40;</span>L,n<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	menuselect<span style="color: #008000;">&#40;</span>L<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">return</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></td></tr></table></div>

<p>来找Bug哦…………找出来的有奖。</p>
<p>我把单链表写成顺序表了，呵呵。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=451</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>数据结构：顺序表排序合并</title>
		<link>http://www.shuax.com/?p=449</link>
		<comments>http://www.shuax.com/?p=449#comments</comments>
		<pubDate>Mon, 28 Sep 2009 05:32:01 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[程序开发]]></category>
		<category><![CDATA[作业]]></category>
		<category><![CDATA[数据结构]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=449</guid>
		<description><![CDATA[和昨天的一样，还是数据结构的。马上就上课去啦~ /*顺序表的基本操作*/ /*舒俊杰 2009年9月28日*/ &#160; #include &#60;stdio.h&#62; #include &#60;conio.h&#62; #include &#60;stdlib.h&#62; &#160; #define LIST_INIT_SIZE 10 #define LISTINCREMENT 3 #define TRUE 1 #define FALSE 0 #define OK 1 #define ERROR -1 #define OVERFLOW -2 &#160; typedef int Status; typedef int ElemType; typedef struct &#123; int *elem; int length; int listsize; &#125; SqList; &#160; Status Initlist_Sq&#40;SqList &#38;L&#41;]]></description>
			<content:encoded><![CDATA[<p>和昨天的一样，还是数据结构的。马上就上课去啦~<br />
<span id="more-449"></span></p>

<div class="wp_codebox"><table><tr id="p449208"><td class="code" id="p449code208"><pre class="cpp" style="font-family:monospace;"><span style="color: #ff0000; font-style: italic;">/*顺序表的基本操作*/</span>
<span style="color: #ff0000; font-style: italic;">/*舒俊杰 2009年9月28日*/</span>
&nbsp;
<span style="color: #339900;">#include &lt;stdio.h&gt;</span>
<span style="color: #339900;">#include &lt;conio.h&gt;</span>
<span style="color: #339900;">#include &lt;stdlib.h&gt;</span>
&nbsp;
<span style="color: #339900;">#define LIST_INIT_SIZE 10</span>
<span style="color: #339900;">#define LISTINCREMENT 3</span>
<span style="color: #339900;">#define TRUE 1</span>
<span style="color: #339900;">#define FALSE 0</span>
<span style="color: #339900;">#define OK 1</span>
<span style="color: #339900;">#define ERROR -1</span>
<span style="color: #339900;">#define OVERFLOW -2</span>
&nbsp;
<span style="color: #0000ff;">typedef</span> <span style="color: #0000ff;">int</span> Status<span style="color: #008080;">;</span>
<span style="color: #0000ff;">typedef</span> <span style="color: #0000ff;">int</span> ElemType<span style="color: #008080;">;</span>
<span style="color: #0000ff;">typedef</span> <span style="color: #0000ff;">struct</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">int</span> <span style="color: #000040;">*</span>elem<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">int</span> length<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">int</span> listsize<span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
SqList<span style="color: #008080;">;</span>
&nbsp;
Status Initlist_Sq<span style="color: #008000;">&#40;</span>SqList <span style="color: #000040;">&amp;</span>L<span style="color: #008000;">&#41;</span> <span style="color: #ff0000; font-style: italic;">/*初始化顺序表*/</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #666666;">//函数体</span>
	L.<span style="color: #007788;">elem</span> <span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span>ElemType <span style="color: #000040;">*</span><span style="color: #008000;">&#41;</span><span style="color: #0000dd;">malloc</span><span style="color: #008000;">&#40;</span>LIST_INIT_SIZE <span style="color: #000040;">*</span> <span style="color: #0000dd;">sizeof</span><span style="color: #008000;">&#40;</span>ElemType<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>L.<span style="color: #007788;">elem</span> <span style="color: #000080;">==</span> <span style="color: #0000ff;">NULL</span><span style="color: #008000;">&#41;</span> <span style="color: #0000dd;">exit</span><span style="color: #008000;">&#40;</span>OVERFLOW<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	L.<span style="color: #007788;">length</span> <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
	L.<span style="color: #007788;">listsize</span> <span style="color: #000080;">=</span> LIST_INIT_SIZE<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">return</span> OK<span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
Status ListInsert_Sq<span style="color: #008000;">&#40;</span>SqList <span style="color: #000040;">&amp;</span>L, <span style="color: #0000ff;">int</span> i, ElemType e<span style="color: #008000;">&#41;</span> <span style="color: #ff0000; font-style: italic;">/*在第i个位置上插入一个元素*/</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #666666;">//函数体</span>
	<span style="color: #0000ff;">int</span> <span style="color: #000040;">*</span>q, <span style="color: #000040;">*</span>p<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>i <span style="color: #000080;">&lt;</span> <span style="color: #0000dd;">1</span> <span style="color: #000040;">||</span> i <span style="color: #000080;">&gt;</span> L.<span style="color: #007788;">length</span><span style="color: #000040;">+</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span> <span style="color: #0000ff;">return</span> ERROR<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>L.<span style="color: #007788;">length</span> <span style="color: #000080;">&gt;=</span> L.<span style="color: #007788;">listsize</span><span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000ff;">int</span> <span style="color: #000040;">*</span>newbase<span style="color: #008080;">;</span>
		newbase <span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span>ElemType <span style="color: #000040;">*</span><span style="color: #008000;">&#41;</span><span style="color: #0000dd;">realloc</span><span style="color: #008000;">&#40;</span>L.<span style="color: #007788;">elem</span>, <span style="color: #008000;">&#40;</span>LIST_INIT_SIZE <span style="color: #000040;">+</span> LISTINCREMENT<span style="color: #008000;">&#41;</span> <span style="color: #000040;">*</span> <span style="color: #0000dd;">sizeof</span><span style="color: #008000;">&#40;</span>ElemType<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>newbase <span style="color: #000080;">==</span> <span style="color: #0000ff;">NULL</span><span style="color: #008000;">&#41;</span> <span style="color: #0000dd;">exit</span><span style="color: #008000;">&#40;</span>OVERFLOW<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		L.<span style="color: #007788;">elem</span> <span style="color: #000080;">=</span> newbase<span style="color: #008080;">;</span>
		L.<span style="color: #007788;">length</span> <span style="color: #000040;">+</span><span style="color: #000080;">=</span> LISTINCREMENT<span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
&nbsp;
	q <span style="color: #000080;">=</span> <span style="color: #000040;">&amp;</span><span style="color: #008000;">&#40;</span>L.<span style="color: #007788;">elem</span><span style="color: #008000;">&#91;</span>i <span style="color: #000040;">-</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>p <span style="color: #000080;">=</span> <span style="color: #000040;">&amp;</span><span style="color: #008000;">&#40;</span>L.<span style="color: #007788;">elem</span><span style="color: #008000;">&#91;</span>L.<span style="color: #007788;">length</span> <span style="color: #000040;">-</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>p <span style="color: #000080;">&gt;=</span> q<span style="color: #008080;">;</span><span style="color: #000040;">--</span>p<span style="color: #008000;">&#41;</span> <span style="color: #000040;">*</span><span style="color: #008000;">&#40;</span>p <span style="color: #000040;">+</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span> <span style="color: #000080;">=</span> <span style="color: #000040;">*</span>p<span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #000040;">*</span>q <span style="color: #000080;">=</span> e<span style="color: #008080;">;</span>
	L.<span style="color: #007788;">length</span><span style="color: #000040;">++</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">return</span> OK<span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
<span style="color: #0000ff;">int</span> LocateElem_Sq<span style="color: #008000;">&#40;</span>SqList L, ElemType e<span style="color: #008000;">&#41;</span> <span style="color: #ff0000; font-style: italic;">/*返回元素e在顺序表中的位置*/</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #666666;">//函数体</span>
	<span style="color: #0000ff;">int</span> i <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>i <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>i <span style="color: #000080;">&lt;</span> L.<span style="color: #007788;">length</span><span style="color: #008080;">;</span>i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>L.<span style="color: #007788;">elem</span><span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #000080;">==</span> e<span style="color: #008000;">&#41;</span> <span style="color: #0000ff;">return</span> i <span style="color: #000040;">+</span> <span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000ff;">return</span> FALSE<span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
Status ListDelete_Sq<span style="color: #008000;">&#40;</span>SqList <span style="color: #000040;">&amp;</span>L, <span style="color: #0000ff;">int</span> i, <span style="color: #0000ff;">int</span> <span style="color: #000040;">&amp;</span>e<span style="color: #008000;">&#41;</span> <span style="color: #ff0000; font-style: italic;">/*删除第i个位置上的元素*/</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #666666;">//函数体</span>
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>i <span style="color: #000080;">&lt;</span> <span style="color: #0000dd;">1</span> <span style="color: #000040;">||</span> i <span style="color: #000080;">&gt;</span> L.<span style="color: #007788;">length</span><span style="color: #008000;">&#41;</span> <span style="color: #0000ff;">return</span> ERROR<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">int</span> <span style="color: #000040;">*</span>p, <span style="color: #000040;">*</span>q<span style="color: #008080;">;</span>
	p <span style="color: #000080;">=</span> <span style="color: #000040;">&amp;</span><span style="color: #008000;">&#40;</span>L.<span style="color: #007788;">elem</span><span style="color: #008000;">&#91;</span>i <span style="color: #000040;">-</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	e <span style="color: #000080;">=</span> <span style="color: #000040;">*</span>p<span style="color: #008080;">;</span>
	q <span style="color: #000080;">=</span> L.<span style="color: #007788;">elem</span> <span style="color: #000040;">+</span> L.<span style="color: #007788;">length</span> <span style="color: #000040;">-</span> <span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span><span style="color: #000040;">++</span>p<span style="color: #008080;">;</span>p <span style="color: #000080;">&lt;=</span> q<span style="color: #008080;">;</span><span style="color: #000040;">++</span>p<span style="color: #008000;">&#41;</span> <span style="color: #000040;">*</span><span style="color: #008000;">&#40;</span>p <span style="color: #000040;">-</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span> <span style="color: #000080;">=</span> <span style="color: #000040;">*</span>p<span style="color: #008080;">;</span>
	<span style="color: #000040;">--</span>L.<span style="color: #007788;">length</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">return</span> OK<span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
Status union_Sq<span style="color: #008000;">&#40;</span>SqList <span style="color: #000040;">&amp;</span>La, SqList <span style="color: #000040;">&amp;</span>Lb, <span style="color: #0000ff;">int</span> op<span style="color: #008000;">&#41;</span> <span style="color: #ff0000; font-style: italic;">/*对顺序表合并  参数0为并，参数1为交*/</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">int</span> j<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>op <span style="color: #000080;">==</span> <span style="color: #0000dd;">0</span><span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>j <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>j <span style="color: #000080;">&lt;</span> Lb.<span style="color: #007788;">length</span><span style="color: #008080;">;</span>j<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
			<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>LocateElem_Sq<span style="color: #008000;">&#40;</span>La, Lb.<span style="color: #007788;">elem</span><span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span> <span style="color: #000080;">==</span> FALSE<span style="color: #008000;">&#41;</span> 
                ListInsert_Sq<span style="color: #008000;">&#40;</span>La, La.<span style="color: #007788;">length</span>, Lb.<span style="color: #007788;">elem</span><span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000ff;">else</span> 
	<span style="color: #008000;">&#123;</span>
         <span style="color: #0000ff;">int</span> temp<span style="color: #008080;">;</span>
		 <span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>j <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>j <span style="color: #000080;">&lt;</span> La.<span style="color: #007788;">length</span><span style="color: #008080;">;</span>j<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
			<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>LocateElem_Sq<span style="color: #008000;">&#40;</span>Lb, La.<span style="color: #007788;">elem</span><span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span> <span style="color: #000080;">==</span> FALSE<span style="color: #008000;">&#41;</span>
            <span style="color: #008000;">&#123;</span>
                 ListDelete_Sq<span style="color: #008000;">&#40;</span>La, j<span style="color: #000040;">+</span><span style="color: #0000dd;">1</span>, temp<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
                 j<span style="color: #000040;">--</span><span style="color: #008080;">;</span>
            <span style="color: #008000;">&#125;</span>
	<span style="color: #008000;">&#125;</span>
&nbsp;
	<span style="color: #0000ff;">return</span> OK<span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
<span style="color: #0000ff;">void</span> Sort_Sq<span style="color: #008000;">&#40;</span>SqList <span style="color: #000040;">&amp;</span>L<span style="color: #008000;">&#41;</span> <span style="color: #ff0000; font-style: italic;">/*对顺序表排序*/</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #666666;">//函数体</span>
	<span style="color: #0000ff;">int</span> i,j<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>i<span style="color: #000080;">=</span><span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>i<span style="color: #000080;">&lt;</span>L.<span style="color: #007788;">length</span><span style="color: #000040;">-</span><span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
        <span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>j<span style="color: #000080;">=</span>i<span style="color: #000040;">+</span><span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>j<span style="color: #000080;">&lt;</span>L.<span style="color: #007788;">length</span><span style="color: #008080;">;</span>j<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
		<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>L.<span style="color: #007788;">elem</span><span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #000080;">&gt;</span>L.<span style="color: #007788;">elem</span><span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span>
		<span style="color: #008000;">&#123;</span>
			<span style="color: #0000ff;">int</span> temp<span style="color: #008080;">;</span>
			temp<span style="color: #000080;">=</span>L.<span style="color: #007788;">elem</span><span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
			L.<span style="color: #007788;">elem</span><span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #000080;">=</span>L.<span style="color: #007788;">elem</span><span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
			L.<span style="color: #007788;">elem</span><span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span><span style="color: #000080;">=</span>temp<span style="color: #008080;">;</span>
		<span style="color: #008000;">&#125;</span>
	<span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
<span style="color: #0000ff;">void</span> Print_Sq<span style="color: #008000;">&#40;</span>SqList L<span style="color: #008000;">&#41;</span> <span style="color: #ff0000; font-style: italic;">/*输出顺序表*/</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">int</span> i<span style="color: #008080;">;</span>
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>顺序表的长度为 %d. 它的元素有: &quot;</span>, L.<span style="color: #007788;">length</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>i <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>i <span style="color: #000080;">&lt;</span> L.<span style="color: #007788;">length</span><span style="color: #008080;">;</span>i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
		<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%d &quot;</span>, L.<span style="color: #007788;">elem</span><span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
<span style="color: #0000ff;">int</span> main<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	ElemType e<span style="color: #008080;">;</span>
	SqList La,Lb<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">int</span> n, i<span style="color: #008080;">;</span>
	Initlist_Sq<span style="color: #008000;">&#40;</span>La<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	Initlist_Sq<span style="color: #008000;">&#40;</span>Lb<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;请输入顺序表A的元素个数（&lt;=%d）:&quot;</span>, LIST_INIT_SIZE<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">scanf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%d&quot;</span>, <span style="color: #000040;">&amp;</span>n<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;输入这些元素:&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>i <span style="color: #000080;">=</span> <span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>i <span style="color: #000080;">&lt;=</span> n<span style="color: #008080;">;</span>i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000dd;">scanf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%d&quot;</span>, <span style="color: #000040;">&amp;</span>e<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		ListInsert_Sq<span style="color: #008000;">&#40;</span>La, i, e<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;请输入顺序表B的元素个数（&lt;=%d）:&quot;</span>, LIST_INIT_SIZE<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">scanf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%d&quot;</span>, <span style="color: #000040;">&amp;</span>n<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;输入这些元素:&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>i <span style="color: #000080;">=</span> <span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>i <span style="color: #000080;">&lt;=</span> n<span style="color: #008080;">;</span>i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000dd;">scanf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%d&quot;</span>, <span style="color: #000040;">&amp;</span>e<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		ListInsert_Sq<span style="color: #008000;">&#40;</span>Lb, i, e<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #666666;">//进行排序</span>
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>正在进行排序操作<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	Sort_Sq<span style="color: #008000;">&#40;</span>La<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	Sort_Sq<span style="color: #008000;">&#40;</span>Lb<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #666666;">//查看结果</span>
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>进行排序操作后的顺序表A,B<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	Print_Sq<span style="color: #008000;">&#40;</span>La<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	Print_Sq<span style="color: #008000;">&#40;</span>Lb<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #666666;">//合并A,B顺序表</span>
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span><span style="color: #000099; font-weight: bold;">\n</span>进行合并操作后的顺序表C<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    union_Sq<span style="color: #008000;">&#40;</span>La,Lb,<span style="color: #0000dd;">0</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    Print_Sq<span style="color: #008000;">&#40;</span>La<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span><span style="color: #000099; font-weight: bold;">\n</span>进行排序操作后的顺序表C<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    Sort_Sq<span style="color: #008000;">&#40;</span>La<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    Print_Sq<span style="color: #008000;">&#40;</span>La<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	getch<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">return</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=449</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>数据结构：顺序表</title>
		<link>http://www.shuax.com/?p=444</link>
		<comments>http://www.shuax.com/?p=444#comments</comments>
		<pubDate>Sun, 27 Sep 2009 11:15:28 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[程序开发]]></category>
		<category><![CDATA[作业]]></category>
		<category><![CDATA[学校]]></category>
		<category><![CDATA[数据结构]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=444</guid>
		<description><![CDATA[明天的实验，当然要现在就做好啦，不知道正不正确，欢迎指正…… /*顺序表的基本操作*/ /*舒俊杰 2009年9月27日*/ &#160; #include &#60;stdio.h&#62; #include &#60;conio.h&#62; #include &#60;stdlib.h&#62; &#160; #define LIST_INIT_SIZE 10 #define LISTINCREMENT 3 #define TRUE 1 #define FALSE 0 #define OK 1 #define ERROR -1 #define OVERFLOW -2 &#160; typedef int Status; typedef int ElemType; typedef struct &#123; int *elem; int length; int listsize; &#125; SqList; &#160; Status Initlist_Sq&#40;SqList &#38;L&#41;]]></description>
			<content:encoded><![CDATA[<p>明天的实验，当然要现在就做好啦，不知道正不正确，欢迎指正……</p>
<p><span id="more-444"></span></p>

<div class="wp_codebox"><table><tr id="p444210"><td class="code" id="p444code210"><pre class="cpp" style="font-family:monospace;"><span style="color: #ff0000; font-style: italic;">/*顺序表的基本操作*/</span>
<span style="color: #ff0000; font-style: italic;">/*舒俊杰 2009年9月27日*/</span>
&nbsp;
<span style="color: #339900;">#include &lt;stdio.h&gt;</span>
<span style="color: #339900;">#include &lt;conio.h&gt;</span>
<span style="color: #339900;">#include &lt;stdlib.h&gt;</span>
&nbsp;
<span style="color: #339900;">#define LIST_INIT_SIZE 10</span>
<span style="color: #339900;">#define LISTINCREMENT 3</span>
<span style="color: #339900;">#define TRUE 1</span>
<span style="color: #339900;">#define FALSE 0</span>
<span style="color: #339900;">#define OK 1</span>
<span style="color: #339900;">#define ERROR -1</span>
<span style="color: #339900;">#define OVERFLOW -2</span>
&nbsp;
<span style="color: #0000ff;">typedef</span> <span style="color: #0000ff;">int</span> Status<span style="color: #008080;">;</span>
<span style="color: #0000ff;">typedef</span> <span style="color: #0000ff;">int</span> ElemType<span style="color: #008080;">;</span>
<span style="color: #0000ff;">typedef</span> <span style="color: #0000ff;">struct</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">int</span> <span style="color: #000040;">*</span>elem<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">int</span> length<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">int</span> listsize<span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
SqList<span style="color: #008080;">;</span>
&nbsp;
Status Initlist_Sq<span style="color: #008000;">&#40;</span>SqList <span style="color: #000040;">&amp;</span>L<span style="color: #008000;">&#41;</span> <span style="color: #ff0000; font-style: italic;">/*初始化顺序表*/</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #666666;">//函数体</span>
	L.<span style="color: #007788;">elem</span> <span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span>ElemType <span style="color: #000040;">*</span><span style="color: #008000;">&#41;</span><span style="color: #0000dd;">malloc</span><span style="color: #008000;">&#40;</span>LIST_INIT_SIZE <span style="color: #000040;">*</span> <span style="color: #0000dd;">sizeof</span><span style="color: #008000;">&#40;</span>ElemType<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>L.<span style="color: #007788;">elem</span> <span style="color: #000080;">==</span> <span style="color: #0000ff;">NULL</span><span style="color: #008000;">&#41;</span> <span style="color: #0000dd;">exit</span><span style="color: #008000;">&#40;</span>OVERFLOW<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	L.<span style="color: #007788;">length</span> <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
	L.<span style="color: #007788;">listsize</span> <span style="color: #000080;">=</span> LIST_INIT_SIZE<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">return</span> OK<span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
<span style="color: #0000ff;">void</span> Destroylist<span style="color: #008000;">&#40;</span>SqList <span style="color: #000040;">&amp;</span>L<span style="color: #008000;">&#41;</span> <span style="color: #ff0000; font-style: italic;">/*销毁顺序表*/</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #666666;">//函数体</span>
	<span style="color: #0000dd;">free</span><span style="color: #008000;">&#40;</span>L.<span style="color: #007788;">elem</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
<span style="color: #0000ff;">void</span> Clearlist_Sq<span style="color: #008000;">&#40;</span>SqList <span style="color: #000040;">&amp;</span>L<span style="color: #008000;">&#41;</span> <span style="color: #ff0000; font-style: italic;">/*清空顺序表*/</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #666666;">//函数体</span>
	L.<span style="color: #007788;">length</span> <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
Status Listempty_Sq<span style="color: #008000;">&#40;</span>SqList L<span style="color: #008000;">&#41;</span> <span style="color: #ff0000; font-style: italic;">/*测试顺序表是否为空*/</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #666666;">//函数体</span>
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>L.<span style="color: #007788;">length</span> <span style="color: #000080;">==</span> <span style="color: #0000dd;">0</span><span style="color: #008000;">&#41;</span>
		<span style="color: #0000ff;">return</span> TRUE<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">else</span>
		<span style="color: #0000ff;">return</span> FALSE<span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
Status ListInsert_Sq<span style="color: #008000;">&#40;</span>SqList <span style="color: #000040;">&amp;</span>L, <span style="color: #0000ff;">int</span> i, ElemType e<span style="color: #008000;">&#41;</span> <span style="color: #ff0000; font-style: italic;">/*在第i个位置上插入一个元素*/</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #666666;">//函数体</span>
	<span style="color: #0000ff;">int</span> <span style="color: #000040;">*</span>q, <span style="color: #000040;">*</span>p<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>i <span style="color: #000080;">&lt;</span> <span style="color: #0000dd;">1</span> <span style="color: #000040;">||</span> i <span style="color: #000080;">&gt;</span> L.<span style="color: #007788;">length</span><span style="color: #000040;">+</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span> <span style="color: #0000ff;">return</span> ERROR<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>L.<span style="color: #007788;">length</span> <span style="color: #000080;">&gt;=</span> L.<span style="color: #007788;">listsize</span><span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000ff;">int</span> <span style="color: #000040;">*</span>newbase<span style="color: #008080;">;</span>
		newbase <span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span>ElemType <span style="color: #000040;">*</span><span style="color: #008000;">&#41;</span><span style="color: #0000dd;">realloc</span><span style="color: #008000;">&#40;</span>L.<span style="color: #007788;">elem</span>, <span style="color: #008000;">&#40;</span>LIST_INIT_SIZE <span style="color: #000040;">+</span> LISTINCREMENT<span style="color: #008000;">&#41;</span> <span style="color: #000040;">*</span> <span style="color: #0000dd;">sizeof</span><span style="color: #008000;">&#40;</span>ElemType<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>newbase <span style="color: #000080;">==</span> <span style="color: #0000ff;">NULL</span><span style="color: #008000;">&#41;</span> <span style="color: #0000dd;">exit</span><span style="color: #008000;">&#40;</span>OVERFLOW<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		L.<span style="color: #007788;">elem</span> <span style="color: #000080;">=</span> newbase<span style="color: #008080;">;</span>
		L.<span style="color: #007788;">length</span> <span style="color: #000040;">+</span><span style="color: #000080;">=</span> LISTINCREMENT<span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
&nbsp;
	q <span style="color: #000080;">=</span> <span style="color: #000040;">&amp;</span><span style="color: #008000;">&#40;</span>L.<span style="color: #007788;">elem</span><span style="color: #008000;">&#91;</span>i <span style="color: #000040;">-</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>p <span style="color: #000080;">=</span> <span style="color: #000040;">&amp;</span><span style="color: #008000;">&#40;</span>L.<span style="color: #007788;">elem</span><span style="color: #008000;">&#91;</span>L.<span style="color: #007788;">length</span> <span style="color: #000040;">-</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>p <span style="color: #000080;">&gt;=</span> q<span style="color: #008080;">;</span><span style="color: #000040;">--</span>p<span style="color: #008000;">&#41;</span> <span style="color: #000040;">*</span><span style="color: #008000;">&#40;</span>p <span style="color: #000040;">+</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span> <span style="color: #000080;">=</span> <span style="color: #000040;">*</span>p<span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #000040;">*</span>q <span style="color: #000080;">=</span> e<span style="color: #008080;">;</span>
	L.<span style="color: #007788;">length</span><span style="color: #000040;">++</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">return</span> OK<span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
<span style="color: #0000ff;">int</span> LocateElem_Sq<span style="color: #008000;">&#40;</span>SqList L, ElemType e<span style="color: #008000;">&#41;</span> <span style="color: #ff0000; font-style: italic;">/*返回元素e在顺序表中的位置*/</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #666666;">//函数体</span>
	<span style="color: #0000ff;">int</span> i <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>i <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>i <span style="color: #000080;">&lt;</span> L.<span style="color: #007788;">length</span><span style="color: #008080;">;</span>i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>L.<span style="color: #007788;">elem</span><span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #000080;">==</span> e<span style="color: #008000;">&#41;</span> <span style="color: #0000ff;">return</span> i <span style="color: #000040;">+</span> <span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000ff;">return</span> FALSE<span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
Status ListDelete_Sq<span style="color: #008000;">&#40;</span>SqList <span style="color: #000040;">&amp;</span>L, <span style="color: #0000ff;">int</span> i, <span style="color: #0000ff;">int</span> <span style="color: #000040;">&amp;</span>e<span style="color: #008000;">&#41;</span> <span style="color: #ff0000; font-style: italic;">/*删除第i个位置上的元素*/</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #666666;">//函数体</span>
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>i <span style="color: #000080;">&lt;</span> <span style="color: #0000dd;">1</span> <span style="color: #000040;">||</span> i <span style="color: #000080;">&gt;</span> L.<span style="color: #007788;">length</span><span style="color: #008000;">&#41;</span> <span style="color: #0000ff;">return</span> ERROR<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">int</span> <span style="color: #000040;">*</span>p, <span style="color: #000040;">*</span>q<span style="color: #008080;">;</span>
	p <span style="color: #000080;">=</span> <span style="color: #000040;">&amp;</span><span style="color: #008000;">&#40;</span>L.<span style="color: #007788;">elem</span><span style="color: #008000;">&#91;</span>i <span style="color: #000040;">-</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	e <span style="color: #000080;">=</span> <span style="color: #000040;">*</span>p<span style="color: #008080;">;</span>
	q <span style="color: #000080;">=</span> L.<span style="color: #007788;">elem</span> <span style="color: #000040;">+</span> L.<span style="color: #007788;">length</span> <span style="color: #000040;">-</span> <span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span><span style="color: #000040;">++</span>p<span style="color: #008080;">;</span>p <span style="color: #000080;">&lt;=</span> q<span style="color: #008080;">;</span><span style="color: #000040;">++</span>p<span style="color: #008000;">&#41;</span> <span style="color: #000040;">*</span><span style="color: #008000;">&#40;</span>p <span style="color: #000040;">-</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span> <span style="color: #000080;">=</span> <span style="color: #000040;">*</span>p<span style="color: #008080;">;</span>
	<span style="color: #000040;">--</span>L.<span style="color: #007788;">length</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">return</span> OK<span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
<span style="color: #0000ff;">void</span> Print_Sq<span style="color: #008000;">&#40;</span>SqList L<span style="color: #008000;">&#41;</span> <span style="color: #ff0000; font-style: italic;">/*输出顺序表*/</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">int</span> i<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>Listempty_Sq<span style="color: #008000;">&#40;</span>L<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span>
		<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>顺序表的长度为 %d. 它还是空的!&quot;</span>, L.<span style="color: #007788;">length</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">else</span>
		<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>顺序表的长度为 %d. 它的元素有: &quot;</span>, L.<span style="color: #007788;">length</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>i <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>i <span style="color: #000080;">&lt;</span> L.<span style="color: #007788;">length</span><span style="color: #008080;">;</span>i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
		<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%d &quot;</span>, L.<span style="color: #007788;">elem</span><span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
&nbsp;
<span style="color: #0000ff;">void</span> menu<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>* * * * * * * * * * * * * * * * * * * * * * * * * *<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;  1 ------- 打印这个顺序表<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;  2 ------- 在顺序表中插入数据<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;  3 ------- 在顺序表中删除数组<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;  4 ------- 获得数据位置<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;  5 ------- 清空数据表<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;  6 ------- 退出<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;* * * * * * * * * * * * * * * * * * * * * * * * * *<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
<span style="color: #0000ff;">void</span> menuselect<span style="color: #008000;">&#40;</span>SqList L<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">int</span> k, i, done <span style="color: #000080;">=</span> <span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>
	ElemType e<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">while</span> <span style="color: #008000;">&#40;</span>done<span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		menu<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;请选择一个功能: &quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">scanf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%d&quot;</span>, <span style="color: #000040;">&amp;</span>k<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">getchar</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">switch</span> <span style="color: #008000;">&#40;</span>k<span style="color: #008000;">&#41;</span>
		<span style="color: #008000;">&#123;</span>
		<span style="color: #0000ff;">case</span> <span style="color: #0000dd;">1</span><span style="color: #008080;">:</span> Print_Sq<span style="color: #008000;">&#40;</span>L<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span> <span style="color: #0000ff;">break</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">case</span> <span style="color: #0000dd;">2</span><span style="color: #008080;">:</span>
			<span style="color: #008000;">&#123;</span>
				<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>输入插入位置以及数据: &quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
				<span style="color: #0000dd;">scanf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%d %d&quot;</span>, <span style="color: #000040;">&amp;</span>i, <span style="color: #000040;">&amp;</span>e<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
				<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>ListInsert_Sq<span style="color: #008000;">&#40;</span>L, i, e<span style="color: #008000;">&#41;</span> <span style="color: #000080;">==</span> ERROR<span style="color: #008000;">&#41;</span> <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;插入位置不正确!<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
				<span style="color: #0000ff;">break</span><span style="color: #008080;">;</span>
			<span style="color: #008000;">&#125;</span>
&nbsp;
		<span style="color: #0000ff;">case</span> <span style="color: #0000dd;">3</span><span style="color: #008080;">:</span>
			<span style="color: #008000;">&#123;</span>
				<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>输入删除位置: &quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
				<span style="color: #0000dd;">scanf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%d&quot;</span>, <span style="color: #000040;">&amp;</span>i<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
				<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>ListDelete_Sq<span style="color: #008000;">&#40;</span>L, i, e<span style="color: #008000;">&#41;</span> <span style="color: #000080;">==</span> ERROR<span style="color: #008000;">&#41;</span>
					<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;删除位置不存在!<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
				<span style="color: #0000ff;">else</span>
					<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>被删除的数据是: %d.&quot;</span>, e<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
				<span style="color: #0000ff;">break</span><span style="color: #008080;">;</span>
			<span style="color: #008000;">&#125;</span>
		<span style="color: #0000ff;">case</span> <span style="color: #0000dd;">4</span><span style="color: #008080;">:</span>
			<span style="color: #008000;">&#123;</span>
				<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>输入你要定位的数据: &quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
				<span style="color: #0000dd;">scanf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%d&quot;</span>, <span style="color: #000040;">&amp;</span>e<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
				<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>LocateElem_Sq<span style="color: #008000;">&#40;</span>L, e<span style="color: #008000;">&#41;</span> <span style="color: #000040;">!</span><span style="color: #000080;">=</span> FALSE<span style="color: #008000;">&#41;</span>
					<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>数据 %d 在顺序表中的位置为: %d.&quot;</span>, e, LocateElem_Sq<span style="color: #008000;">&#40;</span>L, e<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
				<span style="color: #0000ff;">else</span>
					<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>数据 %d 不在顺序表中.<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span>, e<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
				<span style="color: #0000ff;">break</span><span style="color: #008080;">;</span>
			<span style="color: #008000;">&#125;</span>
		<span style="color: #0000ff;">case</span> <span style="color: #0000dd;">5</span><span style="color: #008080;">:</span> Clearlist_Sq<span style="color: #008000;">&#40;</span>L<span style="color: #008000;">&#41;</span><span style="color: #008080;">;;</span> <span style="color: #0000ff;">break</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">case</span> <span style="color: #0000dd;">6</span><span style="color: #008080;">:</span> done <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
		<span style="color: #008000;">&#125;</span>
	<span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">int</span> main<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	ElemType e<span style="color: #008080;">;</span>
	SqList La<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">int</span> n, i<span style="color: #008080;">;</span>
	Initlist_Sq<span style="color: #008000;">&#40;</span>La<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;请输入顺序表的元素个数（&lt;=%d）:&quot;</span>, LIST_INIT_SIZE<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">scanf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%d&quot;</span>, <span style="color: #000040;">&amp;</span>n<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;输入这些元素:&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>i <span style="color: #000080;">=</span> <span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>i <span style="color: #000080;">&lt;=</span> n<span style="color: #008080;">;</span>i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000dd;">scanf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%d&quot;</span>, <span style="color: #000040;">&amp;</span>e<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		ListInsert_Sq<span style="color: #008000;">&#40;</span>La, i, e<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	menuselect<span style="color: #008000;">&#40;</span>La<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">return</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=444</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>专用下载链接转换分析</title>
		<link>http://www.shuax.com/?p=436</link>
		<comments>http://www.shuax.com/?p=436#comments</comments>
		<pubDate>Sun, 27 Sep 2009 06:31:38 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[DIY]]></category>
		<category><![CDATA[QQ]]></category>
		<category><![CDATA[下载]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=436</guid>
		<description><![CDATA[前几天穿越火线CF更新了……所以需要更新(好像是废话) 但是TX很万恶啊，非要强制使用超级旋风来下载，可是超级旋风在教育网上慢的很…… 最后，还是我聪明啊，在班上的群一吼，直接用U盘拷贝了一个补丁回来。 我呢，喜欢把所有的安装文件都保存着，所以肯定不喜欢一个客户端，一个补丁那样的存放，所以想用汉魅把crossfire_042full.exe直接下载下来，上次的041我就是那样下载的，嘿嘿~~ 今天一搜索，居然有了，可是那个文件地址有点怪呢，就直接写的 http://down.qq.com/cf/CrossFire_OBV042_Full.exe 用迅雷试了一下，确实可以下载，到CF官网去看了一下源代码里面的地址，超级旋风的地址是 qqdl://aHR0cDovL2Rvd24ucXEuY29tL2NmL0Nyb3NzRmlyZV9PQlYwNDJfRnVsbC5leGU= 说实话，我看着怎么就像是base64加密呢（因为后面那个等号），马上开了个base64加密解密工具一试，我晕了，原来真是啊…… 这个加密真是太高档了，顺便又看了看迅雷和快车的地址~……。 迅雷地址： thunder://QUFmdHA6Ly9tb3ZpZTptb3ZpZUAyMTAuNDEuMjI0LjY2OjEwNz gvZjovbW92aWUvtefTsC/Psr7nxqwvtrfFoy+2t8WjLkNvdy4yMDA5LkNOLkRW RFJpcC5YdmlELVhUTS5DRDEuYXZpWlo= 解密后地址： AAftp://movie:movie@210.41.224.66:1078/f:/movie/电影/喜剧片/斗牛/斗 牛.Cow.2009.CN.DVDRip.XviD-XTM.CD1.aviZZ 很明显，前面加了AA，后面加了ZZ，注意大小写哦，看来比QQ的高档一点点啊…… 快车地址： Flashget://W0ZMQVNIR0VUXWh0dHA6Ly93d3cuYmJrbW9iaWxlLmN vbS9iYnMvc2hvd2ltZy5hc3A/Qm9hcmRJRD05NCZmaWxlbmFtZT0yMDA 5LTMvMjAwOTM1MjAyMzA5MDQ2NC5qcGdbRkxBU0hHRVRd&#038;2187 解密后地址： [FLASHGET]http://www.bbkmobile.com/bbs/showimg.asp?BoardID=94&#038;filename =2009-3/2009352023090464.jpg[FLASHGET 这个有点怪哈，可能是我的工具有点问题，不过基本上看得出来是怎么加密的。 好了，我的分析完成了，以后就自己转换地址吧，想用什么工具下载，就用什么工具下载，不再受限制了。 哦，快车好阴险，最后那里确实有点问题，不过不影响解密出原始地址哈。 （貌似是去掉最后的&#038;2187那一堆,解密地址从&#038;符号截断，后面是推广号码） —————————————————— PS：看见有人搜索汉魅地址转换搜索到这里了。 基本的SSN资源链接 SSN://&#124;file&#124;&#124;&#124;&#124;/ 一个ssn资源链接包含必要的文件描述像是名称, 大小及哈希值形成基本的格式 如：SSN://file&#124;007大战黑衣人.rm&#124;106636244&#124;ef193292c06e85738f3d11f3bc982bb0/ 所以我认为转换是不大可能的了~~~]]></description>
			<content:encoded><![CDATA[<p>前几天穿越火线CF更新了……所以需要更新(好像是废话)</p>
<p>但是TX很万恶啊，非要强制使用超级旋风来下载，可是超级旋风在教育网上慢的很……</p>
<p>最后，还是我聪明啊，在班上的群一吼，直接用U盘拷贝了一个补丁回来。</p>
<p>我呢，喜欢把所有的安装文件都保存着，所以肯定不喜欢一个客户端，一个补丁那样的存放，所以想用汉魅把crossfire_042full.exe直接下载下来，上次的041我就是那样下载的，嘿嘿~~</p>
<p><span id="more-436"></span></p>
<blockquote><p>
今天一搜索，居然有了，可是那个文件地址有点怪呢，就直接写的<br />
http://down.qq.com/cf/CrossFire_OBV042_Full.exe</p>
<p>用迅雷试了一下，确实可以下载，到CF官网去看了一下源代码里面的地址，超级旋风的地址是<br />
qqdl://aHR0cDovL2Rvd24ucXEuY29tL2NmL0Nyb3NzRmlyZV9PQlYwNDJfRnVsbC5leGU=</p>
</blockquote>
<p>说实话，我看着怎么就像是base64加密呢（因为后面那个等号），马上开了个base64加密解密工具一试，我晕了，原来真是啊……</p>
<p>这个加密真是太高档了，顺便又看了看迅雷和快车的地址~……。</p>
<blockquote><p>
迅雷地址：</p>
<p>thunder://QUFmdHA6Ly9tb3ZpZTptb3ZpZUAyMTAuNDEuMjI0LjY2OjEwNz<br />
gvZjovbW92aWUvtefTsC/Psr7nxqwvtrfFoy+2t8WjLkNvdy4yMDA5LkNOLkRW<br />
RFJpcC5YdmlELVhUTS5DRDEuYXZpWlo=</p>
<p>解密后地址：<br />
AAftp://movie:movie@210.41.224.66:1078/f:/movie/电影/喜剧片/斗牛/斗<br />
牛.Cow.2009.CN.DVDRip.XviD-XTM.CD1.aviZZ</p>
<p>很明显，前面加了AA，后面加了ZZ，注意大小写哦，看来比QQ的高档一点点啊……
</p></blockquote>
<blockquote>
<p>快车地址：</p>
<p>Flashget://W0ZMQVNIR0VUXWh0dHA6Ly93d3cuYmJrbW9iaWxlLmN<br />
vbS9iYnMvc2hvd2ltZy5hc3A/Qm9hcmRJRD05NCZmaWxlbmFtZT0yMDA<br />
5LTMvMjAwOTM1MjAyMzA5MDQ2NC5qcGdbRkxBU0hHRVRd&#038;2187</p>
<p>解密后地址：<br />
[FLASHGET]http://www.bbkmobile.com/bbs/showimg.asp?BoardID=94&#038;filename<br />
=2009-3/2009352023090464.jpg[FLASHGET</p>
<p>这个有点怪哈，可能是我的工具有点问题，不过基本上看得出来是怎么加密的。</p>
</blockquote>
<p>好了，我的分析完成了，以后就自己转换地址吧，想用什么工具下载，就用什么工具下载，不再受限制了。</p>
<p>哦，快车好阴险，最后那里确实有点问题，不过不影响解密出原始地址哈。<br />
（貌似是去掉最后的&#038;2187那一堆,解密地址从&#038;符号截断，后面是推广号码）</p>
<p>——————————————————<br />
PS：看见有人搜索汉魅地址转换搜索到这里了。</p>
<p>基本的SSN资源链接<br />
   SSN://|file|<文件名称>|<文件大小>|<文件哈希值>|/<br />
一个ssn资源链接包含必要的文件描述像是名称, 大小及哈希值形成基本的格式<br />
   如：SSN://file|007大战黑衣人.rm|106636244|ef193292c06e85738f3d11f3bc982bb0/</p>
<p>所以我认为转换是不大可能的了~~~</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=436</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Capture Screen With JPG</title>
		<link>http://www.shuax.com/?p=412</link>
		<comments>http://www.shuax.com/?p=412#comments</comments>
		<pubDate>Wed, 23 Sep 2009 06:31:19 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[汇编]]></category>
		<category><![CDATA[汉化软件]]></category>
		<category><![CDATA[汉化]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=412</guid>
		<description><![CDATA[最近又无聊了，想自己做一个简单的屏幕截图工具，找到一个很小巧的工具，才4.83kb。 比那些动辄几百kb的软件小多了。文件虽小，但是功能还行，进行一般的截图是够用了。 可以自定义区域大小，保存格式是jpg，比那些保存为bmp的好吧。 上两个图吧。 用它自己的功能截的图，因为在截图时，它会自动变成半透明，所以图片有点虚…… 我好笨哦，开两个窗口，有一个就不会发虚了，嘿嘿。 其实这个软件没什么意思了，完全可以用我自己做的SX-Helper替代，网址： http://www.shuax.com/?page_id=425    下载地址： Capture 汉化版 文件大小：5.1 KB&#12288;文件名称：Capture.rar]]></description>
			<content:encoded><![CDATA[<p>最近又无聊了，想自己做一个简单的屏幕截图工具，找到一个很小巧的工具，才4.83kb。</p>
<p>比那些动辄几百kb的软件小多了。文件虽小，但是功能还行，进行一般的截图是够用了。</p>
<p>可以自定义区域大小，保存格式是jpg，比那些保存为bmp的好吧。</p>
<p>上两个图吧。<br />
<span id="more-412"></span></p>
<p>用它自己的功能截的图，因为在截图时，它会自动变成半透明，所以图片有点虚……</p>
<p>我好笨哦，开两个窗口，有一个就不会发虚了，嘿嘿。<br />
<img class="size-full wp-image-415 alignnone" title="Snap001" src="http://www.shuax.com/wp-content/uploads/2009/09/Snap001.jpg" alt="Snap001" width="315" height="243" /></p>
<p>其实这个软件没什么意思了，完全可以用我自己做的SX-Helper替代，网址：</p>
<p><a href="http://www.shuax.com/?page_id=425">http://www.shuax.com/?page_id=425</a></p>
<p> </p>
<p> 下载地址：<br />
<div class='download-link'>
							<a href='http://www.shuax.com/download.php?file=http://www.shuax.com/wp-content/uploads/2009/09/Capture.rar'><img alt='Download' class='leftalign' src='http://www.shuax.com/wp-content/plugins/dBeautifier/icons/downloads.png' /></a>
							<h4>
								<a href='http://www.shuax.com/download.php?file=http://www.shuax.com/wp-content/uploads/2009/09/Capture.rar'>Capture 汉化版</a>
							</h4><p>文件大小：5.1 KB&#12288;文件名称：Capture.rar</p>
						</div></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=412</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>迅雷本地VIP破解</title>
		<link>http://www.shuax.com/?p=405</link>
		<comments>http://www.shuax.com/?p=405#comments</comments>
		<pubDate>Sat, 19 Sep 2009 08:04:01 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[DIY]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[破解]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=405</guid>
		<description><![CDATA[本来想做一个的，做的我好烦啊，也不知道对不对，我现在脑袋极度混乱。 主要原来就是修改特征码？用别人的工具破解的，然后…… fc /b 1.dll 2.dll 嘿嘿…… 又不小心删除了迅雷的一个文件，o(︶︿︶)o 唉 代码如下 //made by SUNGJIRA &#160; #include &#60;windows.h&#62; #include &#60;stdio.h&#62; #include &#60;shlobj.h&#62; char path&#91;512&#93;; void getPath&#40;&#41; &#123; DWORD len = 256; &#160; int i = 0; HKEY hKey; RegOpenKeyEx&#40;HKEY_LOCAL_MACHINE, &#34;SOFTWARE\\Thunder Network\\ThunderOem\\thunder_backwnd&#34;, 0, KEY_ALL_ACCESS, &#38;hKey&#41;; if &#40;RegQueryValueEx&#40;hKey, &#34;instdir&#34;, 0, 0, &#40;unsigned char*&#41;&#38;path, &#38;len&#41; != NULL&#41; &#123; char chose&#91;64&#93;]]></description>
			<content:encoded><![CDATA[<p>本来想做一个的，做的我好烦啊，也不知道对不对，我现在脑袋极度混乱。</p>
<p>主要原来就是修改特征码？用别人的工具破解的，然后……</p>
<p>fc /b 1.dll 2.dll</p>
<p>嘿嘿……</p>
<p>又不小心删除了迅雷的一个文件，o(︶︿︶)o 唉</p>
<p>代码如下<br />
<span id="more-405"></span></p>

<div class="wp_codebox"><table><tr id="p405212"><td class="code" id="p405code212"><pre class="cpp" style="font-family:monospace;"><span style="color: #666666;">//made by SUNGJIRA</span>
&nbsp;
<span style="color: #339900;">#include &lt;windows.h&gt;</span>
<span style="color: #339900;">#include &lt;stdio.h&gt;</span>
<span style="color: #339900;">#include &lt;shlobj.h&gt;</span>
<span style="color: #0000ff;">char</span> path<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">512</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
<span style="color: #0000ff;">void</span> getPath<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	DWORD len <span style="color: #000080;">=</span> <span style="color: #0000dd;">256</span><span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #0000ff;">int</span> i <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
	HKEY hKey<span style="color: #008080;">;</span>
	RegOpenKeyEx<span style="color: #008000;">&#40;</span>HKEY_LOCAL_MACHINE, <span style="color: #FF0000;">&quot;SOFTWARE<span style="color: #000099; font-weight: bold;">\\</span>Thunder Network<span style="color: #000099; font-weight: bold;">\\</span>ThunderOem<span style="color: #000099; font-weight: bold;">\\</span>thunder_backwnd&quot;</span>, <span style="color: #0000dd;">0</span>, KEY_ALL_ACCESS, <span style="color: #000040;">&amp;</span>hKey<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>RegQueryValueEx<span style="color: #008000;">&#40;</span>hKey, <span style="color: #FF0000;">&quot;instdir&quot;</span>, <span style="color: #0000dd;">0</span>, <span style="color: #0000dd;">0</span>, <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">unsigned</span> <span style="color: #0000ff;">char</span><span style="color: #000040;">*</span><span style="color: #008000;">&#41;</span><span style="color: #000040;">&amp;</span>path, <span style="color: #000040;">&amp;</span>len<span style="color: #008000;">&#41;</span> <span style="color: #000040;">!</span><span style="color: #000080;">=</span> <span style="color: #0000ff;">NULL</span><span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000ff;">char</span> chose<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">64</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #FF0000;">&quot;请选择迅雷的安装目录&quot;</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">char</span> dir<span style="color: #008000;">&#91;</span>MAX_PATH<span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
		dir<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #FF0000;">'<span style="color: #006699; font-weight: bold;">\0</span>'</span><span style="color: #008080;">;</span>
&nbsp;
		BROWSEINFO bi<span style="color: #008080;">;</span>
		bi.<span style="color: #007788;">hwndOwner</span> <span style="color: #000080;">=</span> <span style="color: #0000ff;">NULL</span><span style="color: #008080;">;</span>
		bi.<span style="color: #007788;">pidlRoot</span> <span style="color: #000080;">=</span> <span style="color: #0000ff;">NULL</span><span style="color: #008080;">;</span>
		bi.<span style="color: #007788;">pszDisplayName</span> <span style="color: #000080;">=</span> dir<span style="color: #008080;">;</span>
		bi.<span style="color: #007788;">lpszTitle</span> <span style="color: #000080;">=</span> chose<span style="color: #008080;">;</span>
		bi.<span style="color: #007788;">ulFlags</span> <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
		bi.<span style="color: #007788;">lpfn</span> <span style="color: #000080;">=</span> <span style="color: #0000ff;">NULL</span><span style="color: #008080;">;</span>
		bi.<span style="color: #007788;">lParam</span> <span style="color: #000080;">=</span> <span style="color: #0000ff;">NULL</span><span style="color: #008080;">;</span>
		bi.<span style="color: #007788;">iImage</span> <span style="color: #000080;">=</span> <span style="color: #0000ff;">NULL</span><span style="color: #008080;">;</span>
&nbsp;
		SHGetPathFromIDList<span style="color: #008000;">&#40;</span>SHBrowseForFolder<span style="color: #008000;">&#40;</span><span style="color: #000040;">&amp;</span>bi<span style="color: #008000;">&#41;</span>, dir<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span><span style="color: #0000dd;">strlen</span><span style="color: #008000;">&#40;</span>dir<span style="color: #008000;">&#41;</span> <span style="color: #000080;">&lt;</span> <span style="color: #0000dd;">2</span><span style="color: #008000;">&#41;</span>
		<span style="color: #008000;">&#123;</span>
			MessageBox<span style="color: #008000;">&#40;</span><span style="color: #0000dd;">0</span>, <span style="color: #FF0000;">&quot;你没有正确的选择迅雷安装目录。&quot;</span>, <span style="color: #FF0000;">&quot;迅雷5.9.11.1168会员补丁&quot;</span>, MB_OK <span style="color: #000040;">|</span> MB_ICONWARNING<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
			path<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #FF0000;">'<span style="color: #006699; font-weight: bold;">\0</span>'</span><span style="color: #008080;">;</span>
			<span style="color: #0000ff;">return</span> <span style="color: #008080;">;</span>
		<span style="color: #008000;">&#125;</span>
		<span style="color: #0000dd;">strcpy</span><span style="color: #008000;">&#40;</span>path, dir<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000dd;">strcat</span><span style="color: #008000;">&#40;</span>path, <span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\\</span>Program<span style="color: #000099; font-weight: bold;">\\</span>XLUser.dll&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">int</span> main<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #666666;">//获得文件路径</span>
	getPath<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">FILE</span> <span style="color: #000040;">*</span>fp<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span><span style="color: #008000;">&#40;</span>fp <span style="color: #000080;">=</span> <span style="color: #0000dd;">fopen</span><span style="color: #008000;">&#40;</span>path, <span style="color: #FF0000;">&quot;rb+&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span> <span style="color: #000080;">==</span> <span style="color: #0000ff;">NULL</span><span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		MessageBox<span style="color: #008000;">&#40;</span><span style="color: #0000dd;">0</span>, <span style="color: #FF0000;">&quot;文件打开失败或正在使用中。你确认已经关闭了迅雷吗？&quot;</span>, <span style="color: #FF0000;">&quot;迅雷5.9.11.1168会员补丁&quot;</span>, MB_OK <span style="color: #000040;">|</span> MB_ICONWARNING<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">return</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000ff;">char</span> bak<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">512</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">strcpy</span><span style="color: #008000;">&#40;</span>bak, path<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">strcat</span><span style="color: #008000;">&#40;</span>bak, <span style="color: #FF0000;">&quot;.bak&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	CopyFile<span style="color: #008000;">&#40;</span>path, bak, <span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #666666;">//替换数据</span>
	<span style="color: #0000dd;">fseek</span><span style="color: #008000;">&#40;</span>fp, <span style="color: #0000dd;">47261L</span>, <span style="color: #0000dd;">0</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #0000dd;">fputc</span><span style="color: #008000;">&#40;</span><span style="color: #208080;">0xB8</span>, fp<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">fputc</span><span style="color: #008000;">&#40;</span><span style="color: #208080;">0x01</span>, fp<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">fputc</span><span style="color: #008000;">&#40;</span><span style="color: #208080;">0x00</span>, fp<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">fputc</span><span style="color: #008000;">&#40;</span><span style="color: #208080;">0x00</span>, fp<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">fputc</span><span style="color: #008000;">&#40;</span><span style="color: #208080;">0x00</span>, fp<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">fputc</span><span style="color: #008000;">&#40;</span><span style="color: #208080;">0x90</span>, fp<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">fputc</span><span style="color: #008000;">&#40;</span><span style="color: #208080;">0x90</span>, fp<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">fclose</span><span style="color: #008000;">&#40;</span>fp<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
&nbsp;
	MessageBox<span style="color: #008000;">&#40;</span><span style="color: #0000dd;">0</span>, <span style="color: #FF0000;">&quot;恭喜，设置完成。欢迎访问我的博客：http://www.shuax.com<span style="color: #000099; font-weight: bold;">\n</span><span style="color: #000099; font-weight: bold;">\n</span>已经生成备份文件XLUser.dll.bak&quot;</span>, <span style="color: #FF0000;">&quot;迅雷5.9.11.1168会员补丁&quot;</span>, MB_OK<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></td></tr></table></div>

<p>可执行文件下载：<a href="http://www.shuax.com/?p=815">迅雷5.9通用会员补丁</a></p>
<p>看起来工作的很好哈，忽忽……</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=405</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>更改win7欢迎界面</title>
		<link>http://www.shuax.com/?p=398</link>
		<comments>http://www.shuax.com/?p=398#comments</comments>
		<pubDate>Thu, 17 Sep 2009 03:05:14 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[DIY]]></category>
		<category><![CDATA[WIN7]]></category>
		<category><![CDATA[界面]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=398</guid>
		<description><![CDATA[今天找到一个软件，名字叫：Win7LogonBackgroundChanger 看名字就知道是什么意思了，到网上去搜索了一下原理。 然后自己根据这个原理写了个小东西，希望大家能喜欢。 我又做了一个软件，名叫LogonChanger，大家搜索一下吧。 需要源代码，请查看全文。 //made by SUNGJIRA &#160; #include &#60;windows.h&#62; &#160; int WINAPI WinMain&#40;HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow&#41; &#123; char szTips&#91;256&#93;; wsprintf&#40;szTips, &#34;你应该选择一个图像大小为 %d * %d 的JPG文件。\n另外大小不要超过256kb，否则不会显示。&#34;, GetSystemMetrics&#40;SM_CXSCREEN&#41;, GetSystemMetrics&#40;SM_CYSCREEN&#41;&#41;; MessageBox&#40;NULL, szTips, &#34;提示&#34;, MB_OK &#124; MB_ICONINFORMATION&#41;; &#160; &#160; OPENFILENAME ofn; static char szFile&#91;256&#93;; static char szFileTitle&#91;256&#93;; memset&#40;&#38;ofn, 0, sizeof&#40;ofn&#41;&#41;; ofn.lStructSize = sizeof&#40;ofn&#41;;]]></description>
			<content:encoded><![CDATA[<p>今天找到一个软件，名字叫：Win7LogonBackgroundChanger</p>
<p>看名字就知道是什么意思了，到网上去搜索了一下原理。 </p>
<p>然后自己根据这个原理写了个小东西，希望大家能喜欢。</p>
<p>我又做了一个软件，名叫LogonChanger，大家搜索一下吧。</p>
<p>需要源代码，请查看全文。</p>
<p><span id="more-398"></span></p>

<div class="wp_codebox"><table><tr id="p398214"><td class="code" id="p398code214"><pre class="cpp" style="font-family:monospace;"><span style="color: #666666;">//made by SUNGJIRA</span>
&nbsp;
<span style="color: #339900;">#include &lt;windows.h&gt;</span>
&nbsp;
<span style="color: #0000ff;">int</span> WINAPI WinMain<span style="color: #008000;">&#40;</span>HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine,
		<span style="color: #0000ff;">int</span> iCmdShow<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">char</span> szTips<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">256</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
	wsprintf<span style="color: #008000;">&#40;</span>szTips, <span style="color: #FF0000;">&quot;你应该选择一个图像大小为 %d * %d 的JPG文件。<span style="color: #000099; font-weight: bold;">\n</span>另外大小不要超过256kb，否则不会显示。&quot;</span>, GetSystemMetrics<span style="color: #008000;">&#40;</span>SM_CXSCREEN<span style="color: #008000;">&#41;</span>, GetSystemMetrics<span style="color: #008000;">&#40;</span>SM_CYSCREEN<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	MessageBox<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">NULL</span>, szTips, <span style="color: #FF0000;">&quot;提示&quot;</span>, MB_OK <span style="color: #000040;">|</span> MB_ICONINFORMATION<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
&nbsp;
&nbsp;
	OPENFILENAME ofn<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">static</span> <span style="color: #0000ff;">char</span> szFile<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">256</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">static</span> <span style="color: #0000ff;">char</span> szFileTitle<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">256</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">memset</span><span style="color: #008000;">&#40;</span><span style="color: #000040;">&amp;</span>ofn, <span style="color: #0000dd;">0</span>, <span style="color: #0000dd;">sizeof</span><span style="color: #008000;">&#40;</span>ofn<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	ofn.<span style="color: #007788;">lStructSize</span> <span style="color: #000080;">=</span> <span style="color: #0000dd;">sizeof</span><span style="color: #008000;">&#40;</span>ofn<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	ofn.<span style="color: #007788;">lpstrFilter</span> <span style="color: #000080;">=</span> <span style="color: #FF0000;">&quot;JPG图像<span style="color: #006699; font-weight: bold;">\0</span>*.jpg;<span style="color: #006699; font-weight: bold;">\0</span><span style="color: #006699; font-weight: bold;">\0</span>&quot;</span><span style="color: #008080;">;</span>
	ofn.<span style="color: #007788;">nFilterIndex</span> <span style="color: #000080;">=</span> <span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>
	ofn.<span style="color: #007788;">lpstrFile</span> <span style="color: #000080;">=</span> szFile<span style="color: #008080;">;</span>
	ofn.<span style="color: #007788;">nMaxFile</span> <span style="color: #000080;">=</span> <span style="color: #0000dd;">sizeof</span><span style="color: #008000;">&#40;</span>szFile<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
&nbsp;
	ofn.<span style="color: #007788;">lpstrFileTitle</span> <span style="color: #000080;">=</span> szFileTitle<span style="color: #008080;">;</span>
	ofn.<span style="color: #007788;">nMaxFileTitle</span> <span style="color: #000080;">=</span> <span style="color: #0000dd;">sizeof</span><span style="color: #008000;">&#40;</span>szFileTitle<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
&nbsp;
	ofn.<span style="color: #007788;">Flags</span> <span style="color: #000080;">=</span> OFN_PATHMUSTEXIST <span style="color: #000040;">|</span> OFN_FILEMUSTEXIST <span style="color: #000040;">|</span> OFN_EXPLORER<span style="color: #008080;">;</span>
&nbsp;
&nbsp;
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>GetOpenFileName<span style="color: #008000;">&#40;</span><span style="color: #000040;">&amp;</span>ofn<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000ff;">char</span> SysDir<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">256</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
		GetSystemDirectory<span style="color: #008000;">&#40;</span>SysDir, <span style="color: #0000dd;">255</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">strcat</span><span style="color: #008000;">&#40;</span>SysDir, <span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\\</span>oobe<span style="color: #000099; font-weight: bold;">\\</span>info<span style="color: #000099; font-weight: bold;">\\</span>backgrounds<span style="color: #000099; font-weight: bold;">\\</span>backgroundDefault.jpg&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		CopyFile<span style="color: #008000;">&#40;</span>szFile, SysDir, <span style="color: #0000ff;">false</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		HKEY hKey<span style="color: #008080;">;</span>
		DWORD dwData <span style="color: #000080;">=</span> <span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>
		RegOpenKeyEx<span style="color: #008000;">&#40;</span>HKEY_LOCAL_MACHINE, <span style="color: #FF0000;">&quot;Software<span style="color: #000099; font-weight: bold;">\\</span>Microsoft<span style="color: #000099; font-weight: bold;">\\</span>Windows<span style="color: #000099; font-weight: bold;">\\</span>CurrentVersion<span style="color: #000099; font-weight: bold;">\\</span>Authentication<span style="color: #000099; font-weight: bold;">\\</span>LogonUI<span style="color: #000099; font-weight: bold;">\\</span>Background&quot;</span>, <span style="color: #0000dd;">0</span>, KEY_ALL_ACCESS, <span style="color: #000040;">&amp;</span>hKey<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		RegSetValueEx<span style="color: #008000;">&#40;</span>hKey, <span style="color: #FF0000;">&quot;OEMBackground&quot;</span>, <span style="color: #0000dd;">0</span>, REG_DWORD, <span style="color: #008000;">&#40;</span>LPBYTE<span style="color: #008000;">&#41;</span><span style="color: #000040;">&amp;</span>dwData, <span style="color: #0000dd;">sizeof</span><span style="color: #008000;">&#40;</span>DWORD<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		MessageBox<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">NULL</span>, <span style="color: #FF0000;">&quot;恭喜你，设置已经完成，按下WIN+L快速查看效果。&quot;</span>, <span style="color: #FF0000;">&quot;提示&quot;</span>, MB_OK <span style="color: #000040;">|</span> MB_ICONINFORMATION<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000ff;">else</span> MessageBox<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">NULL</span>, <span style="color: #FF0000;">&quot;你没有选择文件，程序退出。&quot;</span>, <span style="color: #FF0000;">&quot;提示&quot;</span>, MB_OK <span style="color: #000040;">|</span> MB_ICONWARNING<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">return</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=398</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>流感H1N1？</title>
		<link>http://www.shuax.com/?p=390</link>
		<comments>http://www.shuax.com/?p=390#comments</comments>
		<pubDate>Sat, 05 Sep 2009 14:23:02 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[我的生活]]></category>
		<category><![CDATA[学校]]></category>
		<category><![CDATA[生活]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=390</guid>
		<description><![CDATA[今天早上出去买包子，嘿嘿，16个哦，其实不是我一个人吃的啦，还帮同学带了有。 然后回来的时候呢，那个保安一句话也不说。直接走在我面前来，拦着我的路。 然后用一个看起来很高档的仪器，对着我的头照了一下。综合我们附近的某个学校出现的43人感染案例，我猜，那个保卫是在检测我的体温吧。 不知道你们怎么认为这是什么东东？？ 还有今天下午去了川大江安校区，离我们学校很近的那个，呵呵。 上次去的时候，被门卫拦下了，极度郁闷，这次么没有拦我，呵呵。结果，骑自行车，多骑了一会儿，我们找不到路了。丢脸噢。 其实是某个人想念他的同学吧，于是他把他的女同学叫了出来带我们，回到学校，我们已经骑了3个半小时，说实话，昨天才坐车，真的有点累，恐怕现在更累了。 今天抱着10本书去图书馆还书，结果已经闭馆了，我郁闷啊…… 明天交学费了，去行政楼看看吧。 END.]]></description>
			<content:encoded><![CDATA[<p>今天早上出去买包子，嘿嘿，16个哦，其实不是我一个人吃的啦，还帮同学带了有。</p>
<p>然后回来的时候呢，那个保安一句话也不说。直接走在我面前来，拦着我的路。</p>
<p>然后用一个看起来很高档的仪器，对着我的头照了一下。综合我们附近的某个学校出现的43人感染案例，我猜，那个保卫是在检测我的体温吧。</p>
<p>不知道你们怎么认为这是什么东东？？</p>
<p>还有今天下午去了川大江安校区，离我们学校很近的那个，呵呵。</p>
<p>上次去的时候，被门卫拦下了，极度郁闷，这次么没有拦我，呵呵。结果，骑自行车，多骑了一会儿，我们找不到路了。丢脸噢。</p>
<p>其实是某个人想念他的同学吧，于是他把他的女同学叫了出来带我们，回到学校，我们已经骑了3个半小时，说实话，昨天才坐车，真的有点累，恐怕现在更累了。</p>
<p>今天抱着10本书去图书馆还书，结果已经闭馆了，我郁闷啊……</p>
<p>明天交学费了，去行政楼看看吧。</p>
<p>END.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=390</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>到学校了</title>
		<link>http://www.shuax.com/?p=388</link>
		<comments>http://www.shuax.com/?p=388#comments</comments>
		<pubDate>Fri, 04 Sep 2009 11:16:47 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[我的生活]]></category>
		<category><![CDATA[学校]]></category>
		<category><![CDATA[生活]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=388</guid>
		<description><![CDATA[早上6点30起床，7点40发车。 到下午4点过，经过523的辗转跋涉，我终于来到了久违的学校。 咳咳，首先就是充话费，停机N天了，然后洗衣服(你没看见)，接着……省略N字 现在用着同学的电脑，唉，液晶的和家里的17英寸纯平就是不一样，比如在显示加粗的微软雅黑字体时，不会挤成一堆，不过呢，液晶的颜色确实差远了。 告诉大家一个好消息，我起床的时候才记起来，我暑假做的程序的代码没有复制，于是我用最快的时间，copy到了U盘。看来以后不能啥东西都放电脑上啊。万一我忘记了，那30kb的代码，我好难重新打呀，也许也没有心情打了。 顺便说一句，本站不欢迎广告色彩太浓厚的评论。 宁缺毋滥！]]></description>
			<content:encoded><![CDATA[<p>早上6点30起床，7点40发车。</p>
<p>到下午4点过，经过523的辗转跋涉，我终于来到了久违的学校。</p>
<p>咳咳，首先就是充话费，停机N天了，然后洗衣服(你没看见)，接着……省略N字</p>
<p>现在用着同学的电脑，唉，液晶的和家里的17英寸纯平就是不一样，比如在显示加粗的微软雅黑字体时，不会挤成一堆，不过呢，液晶的颜色确实差远了。</p>
<p>告诉大家一个好消息，我起床的时候才记起来，我暑假做的程序的代码没有复制，于是我用最快的时间，copy到了U盘。看来以后不能啥东西都放电脑上啊。万一我忘记了，那30kb的代码，我好难重新打呀，也许也没有心情打了。</p>
<p>顺便说一句，本站不欢迎广告色彩太浓厚的评论。</p>
<p>宁缺毋滥！</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=388</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>打造自己的WinRAR</title>
		<link>http://www.shuax.com/?p=385</link>
		<comments>http://www.shuax.com/?p=385#comments</comments>
		<pubDate>Thu, 03 Sep 2009 04:47:48 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[DIY]]></category>
		<category><![CDATA[原创]]></category>
		<category><![CDATA[实用]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=385</guid>
		<description><![CDATA[网上有许多各式各样的WinRAR，可是往往都加上了他们自己的网站。 我是不喜欢这种版本的。另外，他们的注册信息肯定不是用的你的名字吧。 想知道怎么做一个最个性化的，属于自己的WinRAR吗？ 请继续阅读本篇文章。 首先到官网去下载一个原版的(试用版)WinRAR。现在已经有3.9的了。个人感觉还不错。 然后当然需要集成自己的key了。 这里提供注册机。支持中文的。 使用方法很简单。 这里建议把rarreg.key注册文件设置为隐藏属性，为了好看嘛…… 最后就是把注册文件导入原版安装包了。 不好意思，这里需要用到修改版的WinRAR，推荐使用烈火版的。因为修改版可以直接对锁定的文件进行操作啦…… 用修改版打开原文件后，用鼠标选择添加rarreg.key，好了，大功告成。 切记不要直接拖动rarreg.key到原文件，因为那样会被认为是注册WinRAR。 下载地址： WinRAR注册机 文件大小：195.6 KB&#12288;文件名称：winrar_keygen.rar]]></description>
			<content:encoded><![CDATA[<p>网上有许多各式各样的WinRAR，可是往往都加上了他们自己的网站。</p>
<p>我是不喜欢这种版本的。另外，他们的注册信息肯定不是用的你的名字吧。</p>
<p>想知道怎么做一个最个性化的，属于自己的WinRAR吗？</p>
<p>请继续阅读本篇文章。</p>
<p><span id="more-385"></span></p>
<p>首先到官网去下载一个原版的(试用版)WinRAR。现在已经有3.9的了。个人感觉还不错。</p>
<p>然后当然需要集成自己的key了。</p>
<p>这里提供注册机。支持中文的。</p>
<p>使用方法很简单。</p>
<p>这里建议把rarreg.key注册文件设置为隐藏属性，为了好看嘛……</p>
<p>最后就是把注册文件导入原版安装包了。</p>
<p>不好意思，这里需要用到修改版的WinRAR，推荐使用烈火版的。因为修改版可以直接对锁定的文件进行操作啦……</p>
<p>用修改版打开原文件后，用鼠标选择添加rarreg.key，好了，大功告成。</p>
<p>切记不要直接拖动rarreg.key到原文件，因为那样会被认为是注册WinRAR。</p>
<p>下载地址：<br />
<div class='download-link'>
							<a href='http://www.shuax.com/download.php?file=http://www.shuax.com/wp-content/uploads/2009/09/winrar_keygen.rar'><img alt='Download' class='leftalign' src='http://www.shuax.com/wp-content/plugins/dBeautifier/icons/downloads.png' /></a>
							<h4>
								<a href='http://www.shuax.com/download.php?file=http://www.shuax.com/wp-content/uploads/2009/09/winrar_keygen.rar'>WinRAR注册机</a>
							</h4><p>文件大小：195.6 KB&#12288;文件名称：winrar_keygen.rar</p>
						</div></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=385</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>关于友情链接的声明</title>
		<link>http://www.shuax.com/?p=379</link>
		<comments>http://www.shuax.com/?p=379#comments</comments>
		<pubDate>Thu, 03 Sep 2009 01:23:19 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[我的生活]]></category>
		<category><![CDATA[网站]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=379</guid>
		<description><![CDATA[ 第一：我不太喜欢广告满天飞的网站。 第二：稳定，如果贵站连续两天还无法访问，请恕我当方面去除链接。 第三：尽量有顶级域名。 第四：大家交个朋友，满足上面三条的，大多数链接我都会做的。 第五：没有了，谢谢观看。]]></description>
			<content:encoded><![CDATA[<p> 第一：我不太喜欢广告满天飞的网站。</p>
<p>第二：稳定，如果贵站连续两天还无法访问，请恕我当方面去除链接。</p>
<p>第三：尽量有顶级域名。</p>
<p>第四：大家交个朋友，满足上面三条的，大多数链接我都会做的。</p>
<p>第五：没有了，谢谢观看。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=379</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>一份应聘考试的答卷</title>
		<link>http://www.shuax.com/?p=318</link>
		<comments>http://www.shuax.com/?p=318#comments</comments>
		<pubDate>Tue, 01 Sep 2009 23:57:23 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[我的生活]]></category>
		<category><![CDATA[搞笑]]></category>
		<category><![CDATA[生活]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=318</guid>
		<description><![CDATA[[转自某处] 话说这是某强人参见某广告公司应聘考试的时候的答卷，传言这份答卷雷倒了整个广告公司，但是最后是不是被聘用了就不得而知了。所以需要效仿的同学请下去考证一下故事的结尾…… 上图吧。]]></description>
			<content:encoded><![CDATA[<p>[转自某处]<br />
话说这是某强人参见某广告公司应聘考试的时候的答卷，传言这份答卷雷倒了整个广告公司，但是最后是不是被聘用了就不得而知了。所以需要效仿的同学请下去考证一下故事的结尾……<br />
上图吧。<br />
<img class="size-full wp-image-319 alignnone" title="1" src="http://www.shuax.com/wp-content/uploads/2009/09/1.jpg" alt="1" width="600" height="789" /><br />
<span id="more-318"></span><br />
<img class="size-full wp-image-320 alignnone" title="2" src="http://www.shuax.com/wp-content/uploads/2009/09/2.jpg" alt="2" width="600" height="845" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=318</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>一个超简单FLASH游戏</title>
		<link>http://www.shuax.com/?p=304</link>
		<comments>http://www.shuax.com/?p=304#comments</comments>
		<pubDate>Tue, 01 Sep 2009 06:34:51 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[DIY]]></category>
		<category><![CDATA[游戏]]></category>
		<category><![CDATA[生活]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=304</guid>
		<description><![CDATA[欢迎大家来玩玩。 玩家控制一个小人，行走在一天长长的道路上，道路上有补充HP的节点，路上的行走会增加经验，经验满级就会升级，升级之后HP上限就会提高，上限提高，能走了路就越长……不好意思，说了一大堆废话。其实大家玩玩就明白了的。 过关等级越低的人越厉害。我过关等级是39…这个……没办法。 不得不说的是外国人的创意比国人厉害啊，我们中国人就…… 而且这个是开源的。不知道为什么我的D版的Flash CS3打开就提示文件错误，看来是版本不够高吧。 GOGOGO！ 不好意思，网页大小有限制。你可以下载到本地玩。 http://www.shuax.com/wp-content/uploads/2009/09/lineRPG10.swf 来源地址：http://www.sophiehoulden.com/games/thelinearrpg/ 玩了半天，终于有次37级过关，汗啦…………]]></description>
			<content:encoded><![CDATA[<p>欢迎大家来玩玩。</p>
<p>玩家控制一个小人，行走在一天长长的道路上，道路上有补充HP的节点，路上的行走会增加经验，经验满级就会升级，升级之后HP上限就会提高，上限提高，能走了路就越长……不好意思，说了一大堆废话。其实大家玩玩就明白了的。</p>
<p>过关等级越低的人越厉害。我过关等级是39…这个……没办法。</p>
<p>不得不说的是外国人的创意比国人厉害啊，我们中国人就……</p>
<p>而且这个是开源的。不知道为什么我的D版的Flash CS3打开就提示文件错误，看来是版本不够高吧。</p>
<p>GOGOGO！<br />
<span id="more-304"></span><br />
不好意思，网页大小有限制。你可以下载到本地玩。<br />
http://www.shuax.com/wp-content/uploads/2009/09/lineRPG10.swf</p>
<hr />
<embed src="http://www.shuax.com/wp-content/uploads/2009/09/lineRPG10.swf" type="application/x-shockwave-flash" width="760" height="570" /></p>
<hr />
<p>来源地址：http://www.sophiehoulden.com/games/thelinearrpg/</p>
<p>玩了半天，终于有次37级过关，汗啦…………</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=304</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>QQ2009皮肤制作</title>
		<link>http://www.shuax.com/?p=301</link>
		<comments>http://www.shuax.com/?p=301#comments</comments>
		<pubDate>Tue, 01 Sep 2009 03:43:15 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[DIY]]></category>
		<category><![CDATA[QQ]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=301</guid>
		<description><![CDATA[第一步，当然是需要原材料咯，在官网随便下载一个2009的皮肤，当然，腾讯把那个称为主题。 第二步，下载下来的是.kipx文件，腾讯肯定不会有自己的格式的。用扫描工具扫了一下，原来是cab格式啊，这个就简单了。现在到网上去下载一个WinCAB，备用。 第三步，既然知道了格式，把扩展名改为cab就行咯，然后解压。 我们能发现。文件不是很多，更加方便了我们的修改。 第四步，对照着原来的皮肤自行修改吧。 xml文件是配置文件，你自己想怎么改就怎么改。 值得注意的是，有一个PackID属性，估计是验证升级的吧，建议自己改一个。 第五步，把修改过后的所有文件，用WinCAB重新打包，再修改扩展名为.kipx就行了。 第六步，没有了。安装你的QQ2009皮肤吧。如果不好看就再修改。]]></description>
			<content:encoded><![CDATA[<p>第一步，当然是需要原材料咯，在官网随便下载一个2009的皮肤，当然，腾讯把那个称为主题。</p>
<p>第二步，下载下来的是.kipx文件，腾讯肯定不会有自己的格式的。用扫描工具扫了一下，原来是cab格式啊，这个就简单了。现在到网上去下载一个WinCAB，备用。</p>
<p>第三步，既然知道了格式，把扩展名改为cab就行咯，然后解压。<br />
我们能发现。文件不是很多，更加方便了我们的修改。</p>
<p>第四步，对照着原来的皮肤自行修改吧。<br />
xml文件是配置文件，你自己想怎么改就怎么改。<br />
值得注意的是，有一个PackID属性，估计是验证升级的吧，建议自己改一个。</p>
<p>第五步，把修改过后的所有文件，用WinCAB重新打包，再修改扩展名为.kipx就行了。</p>
<p>第六步，没有了。安装你的QQ2009皮肤吧。如果不好看就再修改。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=301</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>一些j2ME的学习资料</title>
		<link>http://www.shuax.com/?p=294</link>
		<comments>http://www.shuax.com/?p=294#comments</comments>
		<pubDate>Mon, 31 Aug 2009 07:54:55 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[JAVA]]></category>
		<category><![CDATA[文件]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=294</guid>
		<description><![CDATA[j2ME发短信 public synchronized boolean send &#40;String content , String phoneNumber&#41; &#123; // 返回值 boolean result = true ; try &#123; // 地址 String address = &#34;sms://&#34; + phoneNumber ; // 建立连接 MessageConnection conn = &#40;MessageConnection&#41; Connector.open &#40; address&#41; ; // 设置短信息类型为文本，短信息有文本和二进制两种类型 TextMessage msg = &#40;TextMessage&#41; conn.newMessage &#40;MessageConnection. TEXT_MESSAGE&#41; ; // 设置信息内容 msg.setPayloadText &#40;content&#41; ; //]]></description>
			<content:encoded><![CDATA[<p><strong>j2ME发短信</strong></p>

<div class="wp_codebox"><table><tr id="p294217"><td class="code" id="p294code217"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">synchronized</span> <span style="color: #000066; font-weight: bold;">boolean</span> send <span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span> content , <span style="color: #003399;">String</span> phoneNumber<span style="color: #009900;">&#41;</span>
       <span style="color: #009900;">&#123;</span>
           <span style="color: #666666; font-style: italic;">// 返回值</span>
           <span style="color: #000066; font-weight: bold;">boolean</span> result <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">true</span> <span style="color: #339933;">;</span>
           <span style="color: #000000; font-weight: bold;">try</span>
           <span style="color: #009900;">&#123;</span>
               <span style="color: #666666; font-style: italic;">// 地址</span>
               <span style="color: #003399;">String</span> address <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;sms://&quot;</span> <span style="color: #339933;">+</span> phoneNumber <span style="color: #339933;">;</span>
               <span style="color: #666666; font-style: italic;">// 建立连接</span>
               MessageConnection conn <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span>MessageConnection<span style="color: #009900;">&#41;</span> Connector.<span style="color: #006633;">open</span> <span style="color: #009900;">&#40;</span>
                       address<span style="color: #009900;">&#41;</span> <span style="color: #339933;">;</span>
               <span style="color: #666666; font-style: italic;">// 设置短信息类型为文本，短信息有文本和二进制两种类型</span>
               TextMessage msg <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span>TextMessage<span style="color: #009900;">&#41;</span> conn.<span style="color: #006633;">newMessage</span> <span style="color: #009900;">&#40;</span>MessageConnection.
                       <span style="color: #006633;">TEXT_MESSAGE</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">;</span>
               <span style="color: #666666; font-style: italic;">// 设置信息内容</span>
               msg.<span style="color: #006633;">setPayloadText</span> <span style="color: #009900;">&#40;</span>content<span style="color: #009900;">&#41;</span> <span style="color: #339933;">;</span>
               <span style="color: #666666; font-style: italic;">// 发送</span>
               conn.<span style="color: #006633;">send</span> <span style="color: #009900;">&#40;</span>msg<span style="color: #009900;">&#41;</span> <span style="color: #339933;">;</span>
               conn.<span style="color: #006633;">close</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">;</span>
           <span style="color: #009900;">&#125;</span>
           <span style="color: #000000; font-weight: bold;">catch</span> <span style="color: #009900;">&#40;</span><span style="color: #003399;">Exception</span> e<span style="color: #009900;">&#41;</span>
           <span style="color: #009900;">&#123;</span>
               e.<span style="color: #006633;">printStackTrace</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">;</span>
               result <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">false</span> <span style="color: #339933;">;</span>
               <span style="color: #666666; font-style: italic;">// 未处理</span>
           <span style="color: #009900;">&#125;</span>
           <span style="color: #000000; font-weight: bold;">return</span> result <span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>个人意见：注意要使用多线程来发送，否则会引起阻塞。使用WTK测试也不会通过的，虽然能够在手机里运行，但是有风险。<br />
<span id="more-294"></span><br />
<strong>J2ME文件操作</strong></p>
<p>最近由于开发需要，研究了一下J2ME的文件系统操作（JSR75），对常用操作进行了一下总结。<br />
（1）判断 手机是否支持文件系统</p>
<p>/**<br />
    * 检测手机是否支持文件系统<br />
    * @return<br />
    */<br />
public boolean isSupportFileSystem(){<br />
    String v = System<br />
    .getProperty(&#8220;microedition.io.file.FileConnection.version&#8221;);<br />
    if(v!=null)return true;<br />
    return false;<br />
}<br />
通过判断System的Property是否存在来判断。</p>
<p>（2）打开文件连接</p>
<p>            无论是要读文件还是要写文件，首先必须得到该文件的Connection。</p>
<p>            使用Connector.open方法，有2个参数，第一个参数是路径，第二个参数是权限。</p>
<p>            权限没什么好说的了，一共就3个可能：Connector.READ、Connector.WRITE、Connector.READ_WRITE。</p>
<p>            现在来说说路径，路径是以URL形式书写的，以&#8221;file://&#8221;开头，如果是本机上的文件就加上localhost,即如果是E:/a.dat文件的路径应该是&#8221;file://localhost/E:/a.dat&#8221;。</p>
<p>            顺便说说手机的目录结果，由于我是使用S60第3版的机器进行测试，所以介绍一下其目录结构。KJava程序可访问的驱动器就2个：C和E（如果有扩展卡）。E驱动器下所有目录文件都可以访问，路径是E:/开始；C驱动则不是，只有图片、声音和影像三个目录可以访问，访问其它目录将抛SecurityException，其这三个目录的路径分别是C:/data/Images、C:/data/Sounds、C:/data/Videos。怎么知道有哪些目录可以访问呢，很简单把WTK自带的PDADemo放在手机上，运行FileBrowser测试一下就行了。</p>
<p>              FileConnection fc = (FileConnection)<br />
                  Connector.open(file://localhost/E:/a.dat    , Connector_READ_WRITE);</p>
<p>（3）读文件</p>
<p>             InputStream fis = fc.openInputStream();    </p>
<p>            很简单，就是用openInputStream打开一个流，和读取网络数据一样，这里就不赘述了。</p>
<p>（4）写文件</p>
<p>          byte[] b=&#8221;Hello World&#8221;.getBytes();</p>
<p>            OutputStream fos = fc.openOutputStream();   </p>
<p>            fos.write(b,0,b.length);</p>
<p>            使用方法也是和写网络数据一样，打开一个OutputStream就可以了，不过有一点要注意的（在N93上测试的结果，其它机器不清楚），写文件总是从开头开始写，而且不会清空原来的内容。例如本来文件中有内容abcdefghijk,再打开文件往里面写入123，最后文件的内容是什么呢？不是abcdefghijk123，也不是123，而是123defghijk。那么需要续写文件怎么办？我的做法的先把原内容读出到一个StringBuffer中，再续写在StringBuffer里，再写入文件，不知道还有没有更方便的方法。</p>
<p>====================</p>
<p>   String    szFileName=&#8221;file:///root1/text.txt&#8221;<br />
   FileConnection    fconn    =    (FileConnection)    Connector.open(szFileName);<br />
   InputStream    in    =    fconn.openInputStream();</p>
<p><strong>J2ME读取本地文件的方法</strong></p>

<div class="wp_codebox"><table><tr id="p294218"><td class="code" id="p294code218"><pre class="java" style="font-family:monospace;">&nbsp;
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">byte</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> readFile<span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span> filepath<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
<span style="color: #000066; font-weight: bold;">byte</span> data<span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">try</span> <span style="color: #009900;">&#123;</span>
   FileConnection fc <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span>FileConnection<span style="color: #009900;">&#41;</span> Connector.<span style="color: #006633;">open</span><span style="color: #009900;">&#40;</span>filepath<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   <span style="color: #003399;">DataInputStream</span> dis <span style="color: #339933;">=</span> fc.<span style="color: #006633;">openDataInputStream</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   <span style="color: #008000; font-style: italic; font-weight: bold;">/** ********************************************************** */</span>
   <span style="color: #000066; font-weight: bold;">int</span> ch<span style="color: #339933;">;</span><span style="color: #666666; font-style: italic;">// 每次读出的数据</span>
   <span style="color: #000066; font-weight: bold;">int</span> index <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span><span style="color: #666666; font-style: italic;">// 读取的数据的总索引</span>
   <span style="color: #000066; font-weight: bold;">int</span> len <span style="color: #339933;">=</span> <span style="color: #cc66cc;">1024</span><span style="color: #339933;">;</span><span style="color: #666666; font-style: italic;">// 放数据的空间不够时，每次扩充空间的大小为1024字节</span>
   <span style="color: #000066; font-weight: bold;">byte</span> buf<span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><span style="color: #666666; font-style: italic;">// 暂时存放从data[]拷贝出来的数据</span>
   data <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #000066; font-weight: bold;">byte</span><span style="color: #009900;">&#91;</span>len<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><span style="color: #666666; font-style: italic;">// 先初步设定一个1k的内存空间</span>
   <span style="color: #000000; font-weight: bold;">while</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>ch <span style="color: #339933;">=</span> dis.<span style="color: #006633;">read</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">!=</span> <span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    data<span style="color: #009900;">&#91;</span>index<span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">byte</span><span style="color: #009900;">&#41;</span> ch<span style="color: #339933;">;</span>
    index<span style="color: #339933;">++;</span>
    <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>index <span style="color: #339933;">&gt;=</span> len<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
     len <span style="color: #339933;">+=</span> <span style="color: #cc66cc;">1024</span><span style="color: #339933;">;</span>
     buf <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #000066; font-weight: bold;">byte</span><span style="color: #009900;">&#91;</span>len<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
     <span style="color: #003399;">System</span>.<span style="color: #006633;">arraycopy</span><span style="color: #009900;">&#40;</span>data, <span style="color: #cc66cc;">0</span>, buf, <span style="color: #cc66cc;">0</span>, index<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
     data <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #339933;">;</span>
     data <span style="color: #339933;">=</span> buf<span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
   <span style="color: #009900;">&#125;</span>
   <span style="color: #666666; font-style: italic;">// 此时data[]的长度可能要比实际数据多，最后的一些字节可能是一些无效的数据，去掉无效数据</span>
   <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>index <span style="color: #339933;">%</span> <span style="color: #cc66cc;">1024</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    buf <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #000066; font-weight: bold;">byte</span><span style="color: #009900;">&#91;</span>index<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><span style="color: #666666; font-style: italic;">// index的值是数据的实际大小</span>
    <span style="color: #003399;">System</span>.<span style="color: #006633;">arraycopy</span><span style="color: #009900;">&#40;</span>data, <span style="color: #cc66cc;">0</span>, buf, <span style="color: #cc66cc;">0</span>, index<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    data <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #339933;">;</span>
    data <span style="color: #339933;">=</span> buf<span style="color: #339933;">;</span>
   <span style="color: #009900;">&#125;</span>
   <span style="color: #008000; font-style: italic; font-weight: bold;">/** ********************************************************** */</span>
   <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>dis <span style="color: #339933;">!=</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    dis.<span style="color: #006633;">close</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    dis <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #339933;">;</span>
   <span style="color: #009900;">&#125;</span>
   <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>fc <span style="color: #339933;">!=</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    fc.<span style="color: #006633;">close</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    fc <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #339933;">;</span>
   <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">catch</span> <span style="color: #009900;">&#40;</span><span style="color: #003399;">IOException</span> e<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
   e.<span style="color: #006633;">printStackTrace</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #000000; font-weight: bold;">return</span> data<span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=294</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>ACM不是我混的地方</title>
		<link>http://www.shuax.com/?p=281</link>
		<comments>http://www.shuax.com/?p=281#comments</comments>
		<pubDate>Sun, 30 Aug 2009 09:04:49 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[C/C++]]></category>
		<category><![CDATA[我的生活]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[算法]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=281</guid>
		<description><![CDATA[今天闲着没事做，就把珍藏N年的杭电ACM习题拿出来看看。（N]]></description>
			<content:encoded><![CDATA[<p>今天闲着没事做，就把珍藏N年的杭电ACM习题拿出来看看。（N<1）<br />
其中发现一个比较有趣的题目。（我以为适合我，不算太难）</p>
<p>呃......变形课上Harry碰到了一点小麻烦,因为他并不像Hermione那样能够记住所有的咒语而随意的将一个棒球变成刺猬什么的,但是他发现了变形咒语的一个统一规律:如果咒语是以a开头b结尾的一个单词,那么它的作用就恰好是使A物体变成B物体. </p>
<p><span id="more-281"></span></p>
<blockquote><p>
变形课</p>
<p>Problem Description</p>
<p>呃&#8230;&#8230;变形课上Harry碰到了一点小麻烦,因为他并不像Hermione那样能够记住所有的咒语而随意的将一个棒球变成刺猬什么的,但是他发现了变形咒语的一个统一规律:如果咒语是以a开头b结尾的一个单词,那么它的作用就恰好是使A物体变成B物体.<br />
Harry已经将他所会的所有咒语都列成了一个表,他想让你帮忙计算一下他是否能完成老师的作业,将一个B(ball)变成一个M(Mouse),你知道,如果他自己不能完成的话,他就只好向Hermione请教,并且被迫听一大堆好好学习的道理.</p>
<p>Input<br />
测试数据有多组。每组有多行，每行一个单词,仅包括小写字母,是Harry所会的所有咒语.数字0表示一组输入结束.</p>
<p>Output<br />
如果Harry可以完成他的作业,就输出&#8221;Yes.&#8221;,否则就输出&#8221;No.&#8221;(不要忽略了句号)</p>
<p>Sample Input</p>
<p>so<br />
soon<br />
river<br />
goes<br />
them<br />
got<br />
moon<br />
begin<br />
big<br />
0</p>
<p>Sample Output</p>
<p>Yes.</p>
<p>Hint<br />
Harry 可以念这个咒语:&#8221;big-got-them&#8221;.
</p></blockquote>
<p><!--more--></p>
<p>自己呢也做了一会儿，感觉还是能做出来，不过我的思路是用递归，别扔砖头，我读大学就学过这个东西高档一点。</p>
<p>现在又浮躁啊，所以就不自己动手编出来了。<br />
还是上网直接搜索答案方便一点。Google幸不辱使命，成功找到答案。</p>
<p>问题是，我就傻眼了，那个人说，这是一个很简单的题目。<br />
咳咳，其实我没有觉得简单，我以为加法那种才叫简单。</p>
<p>接着又出来一个名词：闭包传递。请原谅我的孤陋寡闻，我确实没有听说过。</p>
<p>接着又去搜索吧，剩下的没什么事情可以说了。</p>
<p>贴出源代码：</p>

<div class="wp_codebox"><table><tr id="p281220"><td class="code" id="p281code220"><pre class="cpp" style="font-family:monospace;"><span style="color: #339900;">#include &lt;stdio.h&gt;</span>
<span style="color: #339900;">#include &lt;string.h&gt;</span>
<span style="color: #0000ff;">bool</span> a<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">30</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span><span style="color: #0000dd;">30</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
<span style="color: #0000ff;">int</span> main <span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">int</span> i, j, k, n, m, l<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">char</span> s<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">100</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">while</span> <span style="color: #008000;">&#40;</span><span style="color: #0000dd;">gets</span><span style="color: #008000;">&#40;</span>s<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000dd;">memset</span><span style="color: #008000;">&#40;</span>a, <span style="color: #0000dd;">0</span>, <span style="color: #0000dd;">sizeof</span><span style="color: #008000;">&#40;</span>a<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">while</span> <span style="color: #008000;">&#40;</span>s<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#93;</span> <span style="color: #000040;">!</span><span style="color: #000080;">=</span> <span style="color: #FF0000;">'0'</span><span style="color: #008000;">&#41;</span>
		<span style="color: #008000;">&#123;</span>
			l <span style="color: #000080;">=</span> <span style="color: #0000dd;">strlen</span><span style="color: #008000;">&#40;</span>s<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
			a<span style="color: #008000;">&#91;</span>s<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#93;</span> <span style="color: #000040;">-</span> <span style="color: #FF0000;">'a'</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>s<span style="color: #008000;">&#91;</span>l <span style="color: #000040;">-</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span> <span style="color: #000040;">-</span> <span style="color: #FF0000;">'a'</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>
			<span style="color: #0000dd;">gets</span><span style="color: #008000;">&#40;</span>s<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #008000;">&#125;</span>
		<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>k <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>k <span style="color: #000080;">&lt;</span> <span style="color: #0000dd;">26</span><span style="color: #008080;">;</span>k<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
		<span style="color: #008000;">&#123;</span>
			<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>i <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>i <span style="color: #000080;">&lt;</span> <span style="color: #0000dd;">26</span><span style="color: #008080;">;</span>i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
			<span style="color: #008000;">&#123;</span>
				<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>i <span style="color: #000080;">==</span> k <span style="color: #000040;">||</span> a<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>k<span style="color: #008000;">&#93;</span> <span style="color: #000080;">==</span> <span style="color: #0000dd;">0</span><span style="color: #008000;">&#41;</span> <span style="color: #0000ff;">continue</span><span style="color: #008080;">;</span>
				<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>j <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>j <span style="color: #000080;">&lt;</span> <span style="color: #0000dd;">26</span><span style="color: #008080;">;</span>j<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
				<span style="color: #008000;">&#123;</span>
					<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>a<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span> <span style="color: #000040;">||</span> a<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>k<span style="color: #008000;">&#93;</span> <span style="color: #000040;">&amp;&amp;</span> a<span style="color: #008000;">&#91;</span>k<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span> a<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>
				<span style="color: #008000;">&#125;</span>
			<span style="color: #008000;">&#125;</span>
		<span style="color: #008000;">&#125;</span>
		<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>a<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span><span style="color: #0000dd;">12</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span> <span style="color: #0000dd;">printf</span> <span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;Yes.<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">else</span> <span style="color: #0000dd;">printf</span> <span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;No.<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000ff;">return</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=281</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>速算24 C++</title>
		<link>http://www.shuax.com/?p=278</link>
		<comments>http://www.shuax.com/?p=278#comments</comments>
		<pubDate>Sun, 30 Aug 2009 05:44:09 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[C/C++]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[算法]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=278</guid>
		<description><![CDATA[几十年前全世界就流行一种数字游戏，至今仍有人乐此不疲。在中国我们把这种游戏称为“算24点”。你作为游戏者将得到4个1-9之间的自然数作为操作数，而你的任务是对这4个操作数进行适当的算术运算，要求运算结果等于24。 你可以使用的运算只有：+，-，*，/，你还可以使用()来改变运算顺序。 这个是一个标准的ACM题目，我不明白的是，为什么出题者在后面又加了一句： 注意：所有的中间结果必须是整数，所以一些除法运算是不允许的（例如（2*2)/4是合法的，2*（2/4)是不合法的。下面我们给出一个游戏的具体例子： 若给出的4个操作数是：1、2、3、7，则一种可能的解答是1+2+3*7=24。 难道是不相信ACMer的实力吗？这里给出一个C++写的解法，声明不是我写的。不过我还能看懂就是了，呵呵。 #include &#60;iostream&#62; #include &#60;string&#62; #include &#60;cmath&#62; &#160; using namespace std; &#160; const double PRECISION = 1E-6; const int COUNT_OF_NUMBER = 4; const int NUMBER_TO_BE_CAL = 24; &#160; double number&#91;COUNT_OF_NUMBER&#93;; string expression&#91;COUNT_OF_NUMBER&#93;; &#160; bool Search&#40;int n&#41; &#123; if &#40;n == 1&#41; &#123; if &#40; fabs&#40;number&#91;0&#93; - NUMBER_TO_BE_CAL&#41; &#60; PRECISION &#41;]]></description>
			<content:encoded><![CDATA[<p>几十年前全世界就流行一种数字游戏，至今仍有人乐此不疲。在中国我们把这种游戏称为“算24点”。你作为游戏者将得到4个1-9之间的自然数作为操作数，而你的任务是对这4个操作数进行适当的算术运算，要求运算结果等于24。<br />
你可以使用的运算只有：+，-，*，/，你还可以使用()来改变运算顺序。<br />
这个是一个标准的ACM题目，我不明白的是，为什么出题者在后面又加了一句：</p>
<blockquote><p>注意：所有的中间结果必须是整数，所以一些除法运算是不允许的（例如（2*2)/4是合法的，2*（2/4)是不合法的。下面我们给出一个游戏的具体例子：<br />
若给出的4个操作数是：1、2、3、7，则一种可能的解答是1+2+3*7=24。</p></blockquote>
<p>难道是不相信ACMer的实力吗？这里给出一个C++写的解法，声明不是我写的。不过我还能看懂就是了，呵呵。<br />
<span id="more-278"></span></p>

<div class="wp_codebox"><table><tr id="p278222"><td class="code" id="p278code222"><pre class="cpp" style="font-family:monospace;"><span style="color: #339900;">#include &lt;iostream&gt;</span>
<span style="color: #339900;">#include &lt;string&gt;</span>
<span style="color: #339900;">#include &lt;cmath&gt;</span>
&nbsp;
<span style="color: #0000ff;">using</span> <span style="color: #0000ff;">namespace</span> std<span style="color: #008080;">;</span>
&nbsp;
<span style="color: #0000ff;">const</span> <span style="color: #0000ff;">double</span> PRECISION <span style="color: #000080;">=</span> <span style="color:#800080;">1E-6</span><span style="color: #008080;">;</span>
<span style="color: #0000ff;">const</span> <span style="color: #0000ff;">int</span> COUNT_OF_NUMBER <span style="color: #000080;">=</span> <span style="color: #0000dd;">4</span><span style="color: #008080;">;</span>
<span style="color: #0000ff;">const</span> <span style="color: #0000ff;">int</span> NUMBER_TO_BE_CAL <span style="color: #000080;">=</span> <span style="color: #0000dd;">24</span><span style="color: #008080;">;</span>
&nbsp;
<span style="color: #0000ff;">double</span> number<span style="color: #008000;">&#91;</span>COUNT_OF_NUMBER<span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
string expression<span style="color: #008000;">&#91;</span>COUNT_OF_NUMBER<span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
&nbsp;
<span style="color: #0000ff;">bool</span> Search<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> n<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>n <span style="color: #000080;">==</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> <span style="color: #0000dd;">fabs</span><span style="color: #008000;">&#40;</span>number<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#93;</span> <span style="color: #000040;">-</span> NUMBER_TO_BE_CAL<span style="color: #008000;">&#41;</span> <span style="color: #000080;">&lt;</span> PRECISION <span style="color: #008000;">&#41;</span>
		<span style="color: #008000;">&#123;</span>
			<span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> expression<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">&lt;&lt;</span> endl<span style="color: #008080;">;</span>
			<span style="color: #0000ff;">return</span> <span style="color: #0000ff;">true</span><span style="color: #008080;">;</span>
		<span style="color: #008000;">&#125;</span>
		<span style="color: #0000ff;">else</span>
		<span style="color: #008000;">&#123;</span>
			<span style="color: #0000ff;">return</span> <span style="color: #0000ff;">false</span><span style="color: #008080;">;</span>
		<span style="color: #008000;">&#125;</span>
	<span style="color: #008000;">&#125;</span>
&nbsp;
	<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> i <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span> i <span style="color: #000080;">&lt;</span> n<span style="color: #008080;">;</span> i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> j <span style="color: #000080;">=</span> i <span style="color: #000040;">+</span> <span style="color: #0000dd;">1</span><span style="color: #008080;">;</span> j <span style="color: #000080;">&lt;</span> n<span style="color: #008080;">;</span> j<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
		<span style="color: #008000;">&#123;</span>
			<span style="color: #0000ff;">double</span> a, b<span style="color: #008080;">;</span>
			string expa, expb<span style="color: #008080;">;</span>
&nbsp;
			a <span style="color: #000080;">=</span> number<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
			b <span style="color: #000080;">=</span> number<span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
			number<span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> number<span style="color: #008000;">&#91;</span>n <span style="color: #000040;">-</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
&nbsp;
			expa <span style="color: #000080;">=</span> expression<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
			expb <span style="color: #000080;">=</span> expression<span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
			expression<span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> expression<span style="color: #008000;">&#91;</span>n <span style="color: #000040;">-</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
&nbsp;
			expression<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #FF0000;">'('</span> <span style="color: #000040;">+</span> expa <span style="color: #000040;">+</span> <span style="color: #FF0000;">'+'</span> <span style="color: #000040;">+</span> expb <span style="color: #000040;">+</span> <span style="color: #FF0000;">')'</span><span style="color: #008080;">;</span>
			number<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> a <span style="color: #000040;">+</span> b<span style="color: #008080;">;</span>
			<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> Search<span style="color: #008000;">&#40;</span>n <span style="color: #000040;">-</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#41;</span> <span style="color: #0000ff;">return</span> <span style="color: #0000ff;">true</span><span style="color: #008080;">;</span>
&nbsp;
			expression<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #FF0000;">'('</span> <span style="color: #000040;">+</span> expa <span style="color: #000040;">+</span> <span style="color: #FF0000;">'-'</span> <span style="color: #000040;">+</span> expb <span style="color: #000040;">+</span> <span style="color: #FF0000;">')'</span><span style="color: #008080;">;</span>
			number<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> a <span style="color: #000040;">-</span> b<span style="color: #008080;">;</span>
			<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> Search<span style="color: #008000;">&#40;</span>n <span style="color: #000040;">-</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#41;</span> <span style="color: #0000ff;">return</span> <span style="color: #0000ff;">true</span><span style="color: #008080;">;</span>
&nbsp;
			expression<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #FF0000;">'('</span> <span style="color: #000040;">+</span> expb <span style="color: #000040;">+</span> <span style="color: #FF0000;">'-'</span> <span style="color: #000040;">+</span> expa <span style="color: #000040;">+</span> <span style="color: #FF0000;">')'</span><span style="color: #008080;">;</span>
			number<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> b <span style="color: #000040;">-</span> a<span style="color: #008080;">;</span>
			<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> Search<span style="color: #008000;">&#40;</span>n <span style="color: #000040;">-</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#41;</span> <span style="color: #0000ff;">return</span> <span style="color: #0000ff;">true</span><span style="color: #008080;">;</span>
&nbsp;
&nbsp;
			expression<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #FF0000;">'('</span> <span style="color: #000040;">+</span> expa <span style="color: #000040;">+</span> <span style="color: #FF0000;">'*'</span> <span style="color: #000040;">+</span> expb <span style="color: #000040;">+</span> <span style="color: #FF0000;">')'</span><span style="color: #008080;">;</span>
			number<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> a <span style="color: #000040;">*</span> b<span style="color: #008080;">;</span>
			<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> Search<span style="color: #008000;">&#40;</span>n <span style="color: #000040;">-</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#41;</span> <span style="color: #0000ff;">return</span> <span style="color: #0000ff;">true</span><span style="color: #008080;">;</span>
&nbsp;
			<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>b <span style="color: #000040;">!</span><span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008000;">&#41;</span>
			<span style="color: #008000;">&#123;</span>
				expression<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #FF0000;">'('</span> <span style="color: #000040;">+</span> expa <span style="color: #000040;">+</span> <span style="color: #FF0000;">'/'</span> <span style="color: #000040;">+</span> expb <span style="color: #000040;">+</span> <span style="color: #FF0000;">')'</span><span style="color: #008080;">;</span>
				number<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> a <span style="color: #000040;">/</span> b<span style="color: #008080;">;</span>
				<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> Search<span style="color: #008000;">&#40;</span>n <span style="color: #000040;">-</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#41;</span> <span style="color: #0000ff;">return</span> <span style="color: #0000ff;">true</span><span style="color: #008080;">;</span>
			<span style="color: #008000;">&#125;</span>
			<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>a <span style="color: #000040;">!</span><span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008000;">&#41;</span>
			<span style="color: #008000;">&#123;</span>
				expression<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #FF0000;">'('</span> <span style="color: #000040;">+</span> expb <span style="color: #000040;">+</span> <span style="color: #FF0000;">'/'</span> <span style="color: #000040;">+</span> expa <span style="color: #000040;">+</span> <span style="color: #FF0000;">')'</span><span style="color: #008080;">;</span>
				number<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> b <span style="color: #000040;">/</span> a<span style="color: #008080;">;</span>
				<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> Search<span style="color: #008000;">&#40;</span>n <span style="color: #000040;">-</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#41;</span> <span style="color: #0000ff;">return</span> <span style="color: #0000ff;">true</span><span style="color: #008080;">;</span>
			<span style="color: #008000;">&#125;</span>
&nbsp;
			number<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> a<span style="color: #008080;">;</span>
			number<span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> b<span style="color: #008080;">;</span>
			expression<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> expa<span style="color: #008080;">;</span>
			expression<span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> expb<span style="color: #008080;">;</span>
		<span style="color: #008000;">&#125;</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000ff;">return</span> <span style="color: #0000ff;">false</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
<span style="color: #0000ff;">int</span> main<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> i <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span> i <span style="color: #000080;">&lt;</span> COUNT_OF_NUMBER<span style="color: #008080;">;</span> i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000ff;">char</span> buffer<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">20</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">int</span> x<span style="color: #008080;">;</span>
		<span style="color: #0000dd;">cin</span> <span style="color: #000080;">&gt;&gt;</span> x<span style="color: #008080;">;</span>
		number<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> x<span style="color: #008080;">;</span>
		itoa<span style="color: #008000;">&#40;</span>x, buffer, <span style="color: #0000dd;">10</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		expression<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> buffer<span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
&nbsp;
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span> Search<span style="color: #008000;">&#40;</span>COUNT_OF_NUMBER<span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot;Success.&quot;</span> <span style="color: #000080;">&lt;&lt;</span> endl<span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000ff;">else</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot;Fail.&quot;</span> <span style="color: #000080;">&lt;&lt;</span> endl<span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=278</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>第250篇日志[from my Qzone]</title>
		<link>http://www.shuax.com/?p=276</link>
		<comments>http://www.shuax.com/?p=276#comments</comments>
		<pubDate>Sat, 29 Aug 2009 01:45:08 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[我的生活]]></category>
		<category><![CDATA[Xiao]]></category>
		<category><![CDATA[爱情]]></category>
		<category><![CDATA[生活]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=276</guid>
		<description><![CDATA[偶然发现，已经有249篇日志了，但是绝大部分都是转载的，也许是太懒了吧，好久好久没有过自己的文字了。不想高中的时候，居然写日记，唉。­ 好吧，今天我就来一篇原创文章，呵呵，欢迎转载，不过你肯定不会转载的，哈哈。就说点我和她的故事吧。­ 这个年头，都称女朋友为老婆了，所以我也不例外，下面我都称她为老婆了。­ 她姓肖，是我的高中同学。我呢时常叫她肖肖，嘿嘿，要是你和她关系不错也可以这样叫啊。不过老婆这个词可是只准我叫的，谁这么叫她，我就跟睡拼命，就算是女的也不行哦。­ (哎哟，外面打雷了，该不会把我辟死吧，应该不会吧，我又没说你的坏话)­ 她以前啊，在我的心目中就是那种没有烦恼的人，你知道吗，跟她在一起，你也会忘记烦恼的。也许就是那样…久而久之我就喜欢上她了。但是我那个时候又胆小，害怕跟她说，另外由于种种原因，我就这样和她错过了。高考过后就没了联系。补习那年，我终于还是发疯了，耍了女朋友，唉，真的很对不起她呀，老是惹她哭，哭的我都快心碎了。可能是强扭的瓜不甜，坚持了1年后，还是和她分手了，具体是多久，我也算不清楚，因为都没有具体的开始时间。在这里，我真诚的向邓艳说一句：我对不起你。在和邓艳分手的之前N个月，我已经和她联系到了，好像是毕业以后吧，不过那个时候联系的并不多。后来慢慢的又经过了重重“劫难”，我和她又开始熟悉了。所以，在我分手后不久，我又和她恋爱了，想说我花心的人就尽管说吧，我又没否认。不过我很想引用一句话：爱情不是追来的。当两个人有默契的时候，他们的心很自然的就靠在了一起。说不清楚是谁追谁，反正我们就在一起了。­ 我的妈呀，用手机打字好累哦，我还怕死机了，暂时就这么多吧。以后再写写，我和她现在的故事。­ 谢谢观看，舒俊杰写于2009年8月的某一个雷雨交加的夜里。­]]></description>
			<content:encoded><![CDATA[<p>偶然发现，已经有249篇日志了，但是绝大部分都是转载的，也许是太懒了吧，好久好久没有过自己的文字了。不想高中的时候，居然写日记，唉。­</p>
<p>好吧，今天我就来一篇原创文章，呵呵，欢迎转载，不过你肯定不会转载的，哈哈。就说点我和她的故事吧。­</p>
<p>这个年头，都称女朋友为老婆了，所以我也不例外，下面我都称她为老婆了。­</p>
<p>她姓肖，是我的高中同学。我呢时常叫她肖肖，嘿嘿，要是你和她关系不错也可以这样叫啊。不过老婆这个词可是只准我叫的，谁这么叫她，我就跟睡拼命，就算是女的也不行哦。­</p>
<p>(哎哟，外面打雷了，该不会把我辟死吧，应该不会吧，我又没说你的坏话)­<br />
<span id="more-276"></span><br />
她以前啊，在我的心目中就是那种没有烦恼的人，你知道吗，跟她在一起，你也会忘记烦恼的。也许就是那样…久而久之我就喜欢上她了。但是我那个时候又胆小，害怕跟她说，另外由于种种原因，我就这样和她错过了。高考过后就没了联系。补习那年，我终于还是发疯了，耍了女朋友，唉，真的很对不起她呀，老是惹她哭，哭的我都快心碎了。可能是强扭的瓜不甜，坚持了1年后，还是和她分手了，具体是多久，我也算不清楚，因为都没有具体的开始时间。在这里，我真诚的向邓艳说一句：我对不起你。在和邓艳分手的之前N个月，我已经和她联系到了，好像是毕业以后吧，不过那个时候联系的并不多。后来慢慢的又经过了重重“劫难”，我和她又开始熟悉了。所以，在我分手后不久，我又和她恋爱了，想说我花心的人就尽管说吧，我又没否认。不过我很想引用一句话：爱情不是追来的。当两个人有默契的时候，他们的心很自然的就靠在了一起。说不清楚是谁追谁，反正我们就在一起了。­</p>
<p>我的妈呀，用手机打字好累哦，我还怕死机了，暂时就这么多吧。以后再写写，我和她现在的故事。­</p>
<p>谢谢观看，舒俊杰写于2009年8月的某一个雷雨交加的夜里。­</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=276</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>丢脸啊</title>
		<link>http://www.shuax.com/?p=270</link>
		<comments>http://www.shuax.com/?p=270#comments</comments>
		<pubDate>Fri, 28 Aug 2009 10:37:03 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[实用软件]]></category>
		<category><![CDATA[我的生活]]></category>
		<category><![CDATA[搞笑]]></category>
		<category><![CDATA[生活]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=270</guid>
		<description><![CDATA[今天突然想搜索一下XP的游戏彩蛋，因为以前看过，现在又记不住了。 出现一篇下面的帖子。 WINDOWS XP隐藏游戏彩蛋~~~~！！！ 最近被某些电脑高人发现的！！大名鼎鼎的微软windows XP操作系统居然隐藏着一个游戏彩蛋！！ 运行方法是： 注意：操作之前关闭所有窗口，否则彩蛋不会出现！！切记！！ 1，点击windows的开始键（就是Ctrl 与 alt中间那个键），然后选择运行 2，输入：cmd 3，在弹出窗口输入：win game unlock 4，好了，现在你已经成功解除了游戏的锁定 5，然后关掉这个窗口，按住刚刚那个windows开始键3秒以上（本人测试5-7秒最稳定） 6，放开windows开始键的同时，迅速在键盘上顺序敲击：uurncher 如果这是你的电脑屏幕闪了一下，祝贺你，你成功了！ 挺有意思的，你要控制一辆汽车不停的狂奔，期间还会有人用东西砍你。 玩了之后记着回来报一下自己玩到底机关，我第一关就挂了，呵呵，丢脸啊 于是，我就天真的照做了。 可是过了几秒没反应，却突然发现窗口在消失，然后出现一个我非常熟悉非常熟悉的画面。恍然大悟。 呜呜……还自以为是精通电脑了，我怎么就没有动动脑子想想呢。 按下Win+两个U不就是关机么，呜呜……只怪自己那么笨啊。 不过我做人很厚道的，下面给点真实的彩蛋。 纸牌:按Alt+Shift+2=不战而胜 空当接龙:按Ctrl+Shift+F10=自己看&#8230;要赢要输随你&#8230; 扫雷:游戏中输入“xyzzy”,然后按下Shift约2秒钟,将鼠标移动到任意方块上,屏幕左上角的边缘处就会出现一个像素点.很小,移动鼠标到不同格子看看(黑代表有雷,白则没有) 三维弹球:这个最经典了:游戏开始时输入“1max”，就能获得一颗额外的弹珠、“gmax”能够修改重力、“rmax”直接进入下一关、“hidden test”进入测试模式(用鼠标能拖拽弹珠了！)、“bmax”得到无限的弹珠。 希望大家能喜欢，呵呵，血与泪的教训啊。]]></description>
			<content:encoded><![CDATA[<p>今天突然想搜索一下XP的游戏彩蛋，因为以前看过，现在又记不住了。</p>
<p>出现一篇下面的帖子。<br />
<span id="more-270"></span></p>
<blockquote><p>WINDOWS XP隐藏游戏彩蛋~~~~！！！<br />
最近被某些电脑高人发现的！！大名鼎鼎的微软windows XP操作系统居然隐藏着一个游戏彩蛋！！<br />
运行方法是：<br />
注意：操作之前关闭所有窗口，否则彩蛋不会出现！！切记！！<br />
1，点击windows的开始键（就是Ctrl 与 alt中间那个键），然后选择运行<br />
2，输入：cmd<br />
3，在弹出窗口输入：win game unlock<br />
4，好了，现在你已经成功解除了游戏的锁定<br />
5，然后关掉这个窗口，按住刚刚那个windows开始键3秒以上（本人测试5-7秒最稳定）<br />
6，放开windows开始键的同时，迅速在键盘上顺序敲击：uurncher<br />
如果这是你的电脑屏幕闪了一下，祝贺你，你成功了！<br />
挺有意思的，你要控制一辆汽车不停的狂奔，期间还会有人用东西砍你。<br />
玩了之后记着回来报一下自己玩到底机关，我第一关就挂了，呵呵，丢脸啊</p></blockquote>
<p>于是，我就天真的照做了。</p>
<p>可是过了几秒没反应，却突然发现窗口在消失，然后出现一个我非常熟悉非常熟悉的画面。恍然大悟。</p>
<p>呜呜……还自以为是精通电脑了，我怎么就没有动动脑子想想呢。</p>
<p>按下Win+两个U不就是关机么，呜呜……只怪自己那么笨啊。</p>
<p>不过我做人很厚道的，下面给点真实的彩蛋。</p>
<blockquote><p>纸牌:按Alt+Shift+2=不战而胜<br />
空当接龙:按Ctrl+Shift+F10=自己看&#8230;要赢要输随你&#8230;<br />
扫雷:游戏中输入“xyzzy”,然后按下Shift约2秒钟,将鼠标移动到任意方块上,屏幕左上角的边缘处就会出现一个像素点.很小,移动鼠标到不同格子看看(黑代表有雷,白则没有)<br />
三维弹球:这个最经典了:游戏开始时输入“1max”，就能获得一颗额外的弹珠、“gmax”能够修改重力、“rmax”直接进入下一关、“hidden test”进入测试模式(用鼠标能拖拽弹珠了！)、“bmax”得到无限的弹珠。</p></blockquote>
<p>希望大家能喜欢，呵呵，血与泪的教训啊。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=270</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>C语言 – JAVA程序演示</title>
		<link>http://www.shuax.com/?p=264</link>
		<comments>http://www.shuax.com/?p=264#comments</comments>
		<pubDate>Fri, 28 Aug 2009 01:17:07 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[C/C++]]></category>
		<category><![CDATA[JAVA]]></category>
		<category><![CDATA[原创软件]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[代码]]></category>
		<category><![CDATA[文件]]></category>
		<category><![CDATA[算法]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=264</guid>
		<description><![CDATA[老师叫我们做了一个JAVA程序演示这一学期的JAVA程序。 说实话，非要硬要用JAVA来演示，效果实在是不好，我搞到凌晨一点过，终于把JNI调用学会了，才学会一个简简单单的清屏，如果是用C语言来写，那该多方便呀，所以呢，我自己又用C写了一个JAVA程序演示。 主要运用的就是读取文件下下的所有.java文件啦。有点相当于DIR的功能了，呵呵…… 好了，不说废话了，上代码。 // // Made By SUNGJIRA 2009 // #include &#60;stdio.h&#62; #include &#60;dirent.h&#62; #include &#60;windows.h&#62; #include &#60;string.h&#62; #include &#60;conio.h&#62; int TestIsJava&#40;char *src&#41;; int Show&#40;char num&#41;; void PAUSE&#40;int i&#41;; char *GetFileList&#40;int index&#41;; struct FileList *GetJavaFile&#40;char *dir&#41;; struct FileList &#123; char filename&#91;512&#93;; struct FileList *next; &#125; *head, *node; int filenum = 0; HANDLE consolehwnd =]]></description>
			<content:encoded><![CDATA[<p>老师叫我们做了一个JAVA程序演示这一学期的JAVA程序。</p>
<p>说实话，非要硬要用JAVA来演示，效果实在是不好，我搞到凌晨一点过，终于把JNI调用学会了，才学会一个简简单单的清屏，如果是用C语言来写，那该多方便呀，所以呢，我自己又用C写了一个JAVA程序演示。</p>
<p>主要运用的就是读取文件下下的所有.java文件啦。有点相当于DIR的功能了，呵呵……</p>
<p>好了，不说废话了，上代码。<br />
<span id="more-264"></span></p>

<div class="wp_codebox"><table><tr id="p264224"><td class="code" id="p264code224"><pre class="cpp" style="font-family:monospace;"><span style="color: #666666;">//</span>
<span style="color: #666666;">//    Made By SUNGJIRA   2009</span>
<span style="color: #666666;">//</span>
<span style="color: #339900;">#include &lt;stdio.h&gt;</span>
<span style="color: #339900;">#include &lt;dirent.h&gt;</span>
<span style="color: #339900;">#include &lt;windows.h&gt;</span>
<span style="color: #339900;">#include &lt;string.h&gt;</span>
<span style="color: #339900;">#include &lt;conio.h&gt;</span>
<span style="color: #0000ff;">int</span> TestIsJava<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">char</span> <span style="color: #000040;">*</span>src<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #0000ff;">int</span> Show<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">char</span> num<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #0000ff;">void</span> PAUSE<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> i<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #0000ff;">char</span> <span style="color: #000040;">*</span>GetFileList<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> index<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #0000ff;">struct</span> FileList <span style="color: #000040;">*</span>GetJavaFile<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">char</span> <span style="color: #000040;">*</span>dir<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #0000ff;">struct</span> FileList
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">char</span> filename<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">512</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">struct</span> FileList <span style="color: #000040;">*</span>next<span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #000040;">*</span>head, <span style="color: #000040;">*</span>node<span style="color: #008080;">;</span>
<span style="color: #0000ff;">int</span> filenum <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
HANDLE consolehwnd <span style="color: #000080;">=</span> GetStdHandle<span style="color: #008000;">&#40;</span>STD_OUTPUT_HANDLE<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #0000ff;">int</span> main<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> argc, <span style="color: #0000ff;">char</span> <span style="color: #000040;">*</span>argv<span style="color: #008000;">&#91;</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
&nbsp;
	head <span style="color: #000080;">=</span> GetJavaFile<span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;java&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>filenum <span style="color: #000080;">==</span> <span style="color: #0000dd;">0</span><span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		SetConsoleTextAttribute<span style="color: #008000;">&#40;</span>consolehwnd, <span style="color: #0000dd;">15</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">puts</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;*******************************************************************************&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">puts</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;                                舒俊杰JAVA程序演示                             &quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">puts</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;*******************************************************************************<span style="color: #000099; font-weight: bold;">\n</span><span style="color: #000099; font-weight: bold;">\n</span><span style="color: #000099; font-weight: bold;">\n</span><span style="color: #000099; font-weight: bold;">\n</span><span style="color: #000099; font-weight: bold;">\n</span><span style="color: #000099; font-weight: bold;">\n</span><span style="color: #000099; font-weight: bold;">\n</span><span style="color: #000099; font-weight: bold;">\n</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		SetConsoleTextAttribute<span style="color: #008000;">&#40;</span>consolehwnd, <span style="color: #0000dd;">14</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">puts</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;                          请将JAVA源程序放到JAVA文件夹中。<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;                          按任意键退出...&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		getch<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">return</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000ff;">while</span> <span style="color: #008000;">&#40;</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000ff;">int</span> key<span style="color: #008080;">;</span>
		<span style="color: #0000ff;">int</span> i<span style="color: #008080;">;</span>
		<span style="color: #0000dd;">system</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;CLS&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		SetConsoleTextAttribute<span style="color: #008000;">&#40;</span>consolehwnd, <span style="color: #0000dd;">15</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">puts</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;*******************************************************************************&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">puts</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;                                舒俊杰JAVA程序演示                             &quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">puts</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;*******************************************************************************&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;共有%d个需要演示的JAVA程序。<span style="color: #000099; font-weight: bold;">\n</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span>, filenum<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		SetConsoleTextAttribute<span style="color: #008000;">&#40;</span>consolehwnd, <span style="color: #0000dd;">14</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>i <span style="color: #000080;">=</span> <span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>i <span style="color: #000080;">&lt;=</span> filenum<span style="color: #008080;">;</span>i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
		<span style="color: #008000;">&#123;</span>
			<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;   %d) %s<span style="color: #000099; font-weight: bold;">\n</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span>, i, GetFileList<span style="color: #008000;">&#40;</span>i<span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #008000;">&#125;</span>
		<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;   0) exit<span style="color: #000099; font-weight: bold;">\n</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		SetConsoleTextAttribute<span style="color: #008000;">&#40;</span>consolehwnd, <span style="color: #0000dd;">15</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;请选择一个功能:&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		key <span style="color: #000080;">=</span> getche<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span> <span style="color: #000040;">-</span> <span style="color: #FF0000;">'0'</span><span style="color: #008080;">;</span>
		Sleep<span style="color: #008000;">&#40;</span><span style="color: #0000dd;">200</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>key <span style="color: #000080;">==</span> <span style="color: #0000dd;">0</span><span style="color: #008000;">&#41;</span> <span style="color: #0000ff;">break</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>key <span style="color: #000080;">&lt;=</span> <span style="color: #0000dd;">0</span> <span style="color: #000040;">||</span> key <span style="color: #000080;">&gt;</span> filenum<span style="color: #008000;">&#41;</span>
		<span style="color: #008000;">&#123;</span>
			<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span><span style="color: #000099; font-weight: bold;">\n</span>您的输入错误！请重新选择。&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
			PAUSE<span style="color: #008000;">&#40;</span><span style="color: #0000dd;">2000</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
			<span style="color: #0000ff;">continue</span><span style="color: #008080;">;</span>
		<span style="color: #008000;">&#125;</span>
		Show<span style="color: #008000;">&#40;</span>key<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000dd;">puts</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span><span style="color: #000099; font-weight: bold;">\n</span>Good bye!&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	PAUSE<span style="color: #008000;">&#40;</span><span style="color: #0000dd;">2000</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">return</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">int</span> Show<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">char</span> num<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">while</span> <span style="color: #008000;">&#40;</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000ff;">int</span> key<span style="color: #008080;">;</span>
		<span style="color: #0000dd;">system</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;CLS&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		SetConsoleTextAttribute<span style="color: #008000;">&#40;</span>consolehwnd, <span style="color: #0000dd;">15</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">puts</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;*******************************************************************************&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">puts</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;                                舒俊杰JAVA程序演示                             &quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">puts</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;*******************************************************************************&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;您现在选择的是:<span style="color: #000099; font-weight: bold;">\&quot;</span>%s<span style="color: #000099; font-weight: bold;">\&quot;</span>。<span style="color: #000099; font-weight: bold;">\n</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span>, GetFileList<span style="color: #008000;">&#40;</span>num<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		SetConsoleTextAttribute<span style="color: #008000;">&#40;</span>consolehwnd, <span style="color: #0000dd;">14</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;   1) 查看代码<span style="color: #000099; font-weight: bold;">\n</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;   2) 运行程序<span style="color: #000099; font-weight: bold;">\n</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;   0) 返回上级<span style="color: #000099; font-weight: bold;">\n</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		SetConsoleTextAttribute<span style="color: #008000;">&#40;</span>consolehwnd, <span style="color: #0000dd;">15</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;请选择一个功能:&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		key <span style="color: #000080;">=</span> getche<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span> <span style="color: #000040;">-</span> <span style="color: #FF0000;">'0'</span><span style="color: #008080;">;</span>
		Sleep<span style="color: #008000;">&#40;</span><span style="color: #0000dd;">200</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>key <span style="color: #000080;">==</span> <span style="color: #0000dd;">0</span><span style="color: #008000;">&#41;</span> <span style="color: #0000ff;">break</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>key <span style="color: #000080;">==</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span>
		<span style="color: #008000;">&#123;</span>
			<span style="color: #0000dd;">system</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;CLS&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
			<span style="color: #0000ff;">char</span> comm<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">512</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #FF0000;">&quot;cd java&amp;TYPE &quot;</span><span style="color: #008080;">;</span>
			<span style="color: #0000dd;">strcat</span><span style="color: #008000;">&#40;</span>comm, GetFileList<span style="color: #008000;">&#40;</span>num<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
			<span style="color: #0000dd;">strcat</span><span style="color: #008000;">&#40;</span>comm, <span style="color: #FF0000;">&quot;.java&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
			<span style="color: #0000dd;">system</span><span style="color: #008000;">&#40;</span>comm<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
			SetConsoleTextAttribute<span style="color: #008000;">&#40;</span>consolehwnd, <span style="color: #0000dd;">14</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
			<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span><span style="color: #000099; font-weight: bold;">\n</span>按任意键返回&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
			getch<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #008000;">&#125;</span>
		<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>key <span style="color: #000080;">==</span> <span style="color: #0000dd;">2</span><span style="color: #008000;">&#41;</span>
		<span style="color: #008000;">&#123;</span>
&nbsp;
			<span style="color: #0000dd;">system</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;CLS&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
			SetConsoleTextAttribute<span style="color: #008000;">&#40;</span>consolehwnd, <span style="color: #0000dd;">14</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
			<span style="color: #0000ff;">char</span> comm<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">512</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #FF0000;">&quot;cd java&amp;javac <span style="color: #000099; font-weight: bold;">\&quot;</span>&quot;</span><span style="color: #008080;">;</span>
			<span style="color: #0000dd;">strcat</span><span style="color: #008000;">&#40;</span>comm, GetFileList<span style="color: #008000;">&#40;</span>num<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
			<span style="color: #0000dd;">strcat</span><span style="color: #008000;">&#40;</span>comm, <span style="color: #FF0000;">&quot;.java<span style="color: #000099; font-weight: bold;">\&quot;</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
			<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;javac %s.java<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span>, GetFileList<span style="color: #008000;">&#40;</span>num<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
			<span style="color: #0000dd;">system</span><span style="color: #008000;">&#40;</span>comm<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
			<span style="color: #0000dd;">strcpy</span><span style="color: #008000;">&#40;</span>comm, <span style="color: #FF0000;">&quot;cd java&amp;java <span style="color: #000099; font-weight: bold;">\&quot;</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
			<span style="color: #0000dd;">strcat</span><span style="color: #008000;">&#40;</span>comm, GetFileList<span style="color: #008000;">&#40;</span>num<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
			<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;java %s &quot;</span>, GetFileList<span style="color: #008000;">&#40;</span>num<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
			<span style="color: #0000ff;">char</span> args<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">512</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
			<span style="color: #0000dd;">gets</span><span style="color: #008000;">&#40;</span>args<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
			<span style="color: #0000dd;">strcat</span><span style="color: #008000;">&#40;</span>comm, <span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\&quot;</span> &quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
			<span style="color: #0000dd;">strcat</span><span style="color: #008000;">&#40;</span>comm, args<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
			SetConsoleTextAttribute<span style="color: #008000;">&#40;</span>consolehwnd, <span style="color: #0000dd;">15</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
			<span style="color: #0000dd;">system</span><span style="color: #008000;">&#40;</span>comm<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
			SetConsoleTextAttribute<span style="color: #008000;">&#40;</span>consolehwnd, <span style="color: #0000dd;">14</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
			<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span><span style="color: #000099; font-weight: bold;">\n</span>按任意键返回&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
			getch<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #008000;">&#125;</span>
	<span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">int</span> TestIsJava<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">char</span> <span style="color: #000040;">*</span>src<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">int</span> i <span style="color: #000080;">=</span> <span style="color: #0000dd;">strlen</span><span style="color: #008000;">&#40;</span>src<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>i <span style="color: #000080;">&lt;</span> <span style="color: #0000dd;">4</span><span style="color: #008000;">&#41;</span> <span style="color: #0000ff;">return</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>src<span style="color: #008000;">&#91;</span>i <span style="color: #000040;">-</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span> <span style="color: #000040;">!</span><span style="color: #000080;">=</span> <span style="color: #FF0000;">'a'</span> <span style="color: #000040;">&amp;&amp;</span> src<span style="color: #008000;">&#91;</span>i <span style="color: #000040;">-</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span> <span style="color: #000040;">!</span><span style="color: #000080;">=</span> <span style="color: #FF0000;">'A'</span><span style="color: #008000;">&#41;</span> <span style="color: #0000ff;">return</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>src<span style="color: #008000;">&#91;</span>i <span style="color: #000040;">-</span><span style="color: #0000dd;">2</span><span style="color: #008000;">&#93;</span> <span style="color: #000040;">!</span><span style="color: #000080;">=</span> <span style="color: #FF0000;">'v'</span> <span style="color: #000040;">&amp;&amp;</span> src<span style="color: #008000;">&#91;</span>i <span style="color: #000040;">-</span> <span style="color: #0000dd;">2</span><span style="color: #008000;">&#93;</span> <span style="color: #000040;">!</span><span style="color: #000080;">=</span> <span style="color: #FF0000;">'V'</span><span style="color: #008000;">&#41;</span> <span style="color: #0000ff;">return</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>src<span style="color: #008000;">&#91;</span>i <span style="color: #000040;">-</span><span style="color: #0000dd;">3</span><span style="color: #008000;">&#93;</span> <span style="color: #000040;">!</span><span style="color: #000080;">=</span> <span style="color: #FF0000;">'a'</span> <span style="color: #000040;">&amp;&amp;</span> src<span style="color: #008000;">&#91;</span>i <span style="color: #000040;">-</span> <span style="color: #0000dd;">3</span><span style="color: #008000;">&#93;</span> <span style="color: #000040;">!</span><span style="color: #000080;">=</span> <span style="color: #FF0000;">'A'</span><span style="color: #008000;">&#41;</span> <span style="color: #0000ff;">return</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>src<span style="color: #008000;">&#91;</span>i <span style="color: #000040;">-</span><span style="color: #0000dd;">4</span><span style="color: #008000;">&#93;</span> <span style="color: #000040;">!</span><span style="color: #000080;">=</span> <span style="color: #FF0000;">'j'</span> <span style="color: #000040;">&amp;&amp;</span> src<span style="color: #008000;">&#91;</span>i <span style="color: #000040;">-</span> <span style="color: #0000dd;">4</span><span style="color: #008000;">&#93;</span> <span style="color: #000040;">!</span><span style="color: #000080;">=</span> <span style="color: #FF0000;">'J'</span><span style="color: #008000;">&#41;</span> <span style="color: #0000ff;">return</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>src<span style="color: #008000;">&#91;</span>i <span style="color: #000040;">-</span><span style="color: #0000dd;">5</span><span style="color: #008000;">&#93;</span> <span style="color: #000040;">!</span><span style="color: #000080;">=</span> <span style="color: #FF0000;">'.'</span><span style="color: #008000;">&#41;</span> <span style="color: #0000ff;">return</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
	src<span style="color: #008000;">&#91;</span>i <span style="color: #000040;">-</span><span style="color: #0000dd;">5</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">return</span> <span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">void</span> PAUSE<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> j<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> i <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>i <span style="color: #000080;">&lt;</span> j <span style="color: #000040;">/</span> <span style="color: #0000dd;">100</span><span style="color: #008080;">;</span>i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot; <span style="color: #000099; font-weight: bold;">\b</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		Sleep<span style="color: #008000;">&#40;</span><span style="color: #0000dd;">100</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">struct</span> FileList <span style="color: #000040;">*</span>GetJavaFile<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">char</span> <span style="color: #000040;">*</span>directory<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	DIR <span style="color: #000040;">*</span>directory_pointer<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">struct</span> dirent <span style="color: #000040;">*</span>entry<span style="color: #008080;">;</span>
	directory_pointer <span style="color: #000080;">=</span> opendir<span style="color: #008000;">&#40;</span>directory<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	node <span style="color: #000080;">=</span> head <span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">struct</span> FileList <span style="color: #000040;">*</span><span style="color: #008000;">&#41;</span><span style="color: #0000dd;">malloc</span><span style="color: #008000;">&#40;</span><span style="color: #0000dd;">sizeof</span><span style="color: #008000;">&#40;</span><span style="color: #0000ff;">struct</span> FileList<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">while</span> <span style="color: #008000;">&#40;</span><span style="color: #008000;">&#40;</span>entry <span style="color: #000080;">=</span> readdir<span style="color: #008000;">&#40;</span>directory_pointer<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span> <span style="color: #000040;">!</span><span style="color: #000080;">=</span> <span style="color: #0000ff;">NULL</span><span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span><span style="color: #0000dd;">strcmp</span><span style="color: #008000;">&#40;</span>entry<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>d_name, <span style="color: #FF0000;">&quot;.&quot;</span><span style="color: #008000;">&#41;</span> <span style="color: #000080;">==</span> <span style="color: #0000dd;">0</span><span style="color: #008000;">&#41;</span> <span style="color: #0000ff;">continue</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span><span style="color: #0000dd;">strcmp</span><span style="color: #008000;">&#40;</span>entry<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>d_name, <span style="color: #FF0000;">&quot;..&quot;</span><span style="color: #008000;">&#41;</span> <span style="color: #000080;">==</span> <span style="color: #0000dd;">0</span><span style="color: #008000;">&#41;</span> <span style="color: #0000ff;">continue</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>TestIsJava<span style="color: #008000;">&#40;</span>entry<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>d_name<span style="color: #008000;">&#41;</span> <span style="color: #000080;">==</span> <span style="color: #0000dd;">0</span><span style="color: #008000;">&#41;</span> <span style="color: #0000ff;">continue</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">strcpy</span><span style="color: #008000;">&#40;</span>node<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>filename, entry<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>d_name<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		node<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>next <span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">struct</span> FileList <span style="color: #000040;">*</span><span style="color: #008000;">&#41;</span><span style="color: #0000dd;">malloc</span><span style="color: #008000;">&#40;</span><span style="color: #0000dd;">sizeof</span><span style="color: #008000;">&#40;</span><span style="color: #0000ff;">struct</span> FileList<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		node <span style="color: #000080;">=</span> node<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>next<span style="color: #008080;">;</span>
		filenum<span style="color: #000040;">++</span><span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	closedir<span style="color: #008000;">&#40;</span>directory_pointer<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	node<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>next <span style="color: #000080;">=</span> <span style="color: #0000ff;">NULL</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">return</span> head<span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">char</span> <span style="color: #000040;">*</span>GetFileList<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> i<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">int</span> j <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">struct</span> FileList <span style="color: #000040;">*</span>temp <span style="color: #000080;">=</span> head<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">while</span> <span style="color: #008000;">&#40;</span>temp<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>next<span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		j<span style="color: #000040;">++</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>j <span style="color: #000080;">==</span> i<span style="color: #008000;">&#41;</span> <span style="color: #0000ff;">break</span><span style="color: #008080;">;</span>
		temp <span style="color: #000080;">=</span> temp<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>next<span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000ff;">return</span> temp<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>filename<span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></td></tr></table></div>

<p>下载压缩包吧，包含了所有的东西，还有用来演示的程序。</p>
<p>下载地址：<br />
<a href="http://www.shuax.com/wp-content/uploads/2009/08/JAVAshow.rar">JAVA程序演示</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=264</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>凯撒密码破解器</title>
		<link>http://www.shuax.com/?p=259</link>
		<comments>http://www.shuax.com/?p=259#comments</comments>
		<pubDate>Fri, 28 Aug 2009 01:05:19 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[C/C++]]></category>
		<category><![CDATA[原创软件]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[密码]]></category>
		<category><![CDATA[算法]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=259</guid>
		<description><![CDATA[自己写的一个破解凯撒密码的工具，主要原理呢就是把所有可能结果列出来，然后与关键词相对比，最后快速找出可能的答案。 加上人工判断，基本上就没问题了。 另外本工具还会把结果输出到txt文件中，并自动用记事本打开。方便复制。 直接编译就可以运行了，我就不提供exe执行文件咯。 感谢你的使用，(*^__^*)&#8230;嘻嘻。 &#160; #include &#34;stdio.h&#34; #include &#34;conio.h&#34; #include &#34;string.h&#34; #include &#34;windows.h&#34; #define TITLE SetConsoleTextAttribute(consolehwnd,10);printf(&#34;************************************************************ 凯撒密码破解器 v1.03 舒俊杰制作 ************************************************************&#34;); char Caesar&#91;200&#93;; main&#40;&#41; &#123; HANDLE consolehwnd; consolehwnd = GetStdHandle&#40;STD_OUTPUT_HANDLE&#41;; FILE *in,*out; out=fopen&#40;&#34;out.txt&#34;,&#34;w&#34;&#41;; char key&#91;30&#93;,orgCaesar&#91;200&#93;; system&#40;&#34;color 2f&#34;&#41;; SetConsoleTitle&#40;&#34;凯撒密码破解器&#34;&#41;; system&#40;&#34;mode con cols=60 lines=16&#34;&#41;; system&#40;&#34;CLS&#34;&#41;; TITLE; SetConsoleTextAttribute&#40;consolehwnd,47&#41;; int n,i,j=0,x; if &#40;&#40;in=fopen&#40;&#34;in.txt&#34;,&#34;r&#34;&#41;&#41;==NULL&#41; &#123; printf&#40;&#34;没有找到输入文件in.txt，请手动输入。\n密文：&#34;&#41;; gets&#40;orgCaesar&#41;; &#125; else &#123;]]></description>
			<content:encoded><![CDATA[<p>自己写的一个破解凯撒密码的工具，主要原理呢就是把所有可能结果列出来，然后与关键词相对比，最后快速找出可能的答案。</p>
<p>加上人工判断，基本上就没问题了。<br />
另外本工具还会把结果输出到txt文件中，并自动用记事本打开。方便复制。</p>
<p>直接编译就可以运行了，我就不提供exe执行文件咯。</p>
<p>感谢你的使用，(*^__^*)&#8230;嘻嘻。</p>
<p><span id="more-259"></span></p>

<div class="wp_codebox"><table><tr id="p259226"><td class="code" id="p259code226"><pre class="cpp" style="font-family:monospace;">&nbsp;
<span style="color: #339900;">#include &quot;stdio.h&quot;</span>
<span style="color: #339900;">#include &quot;conio.h&quot;</span>
<span style="color: #339900;">#include &quot;string.h&quot;</span>
<span style="color: #339900;">#include &quot;windows.h&quot;</span>
<span style="color: #339900;">#define TITLE       SetConsoleTextAttribute(consolehwnd,10);printf(&quot;************************************************************                    凯撒密码破解器 v1.03         舒俊杰制作 ************************************************************&quot;);</span>
<span style="color: #0000ff;">char</span> Caesar<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">200</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
main<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
      HANDLE consolehwnd<span style="color: #008080;">;</span> 
      consolehwnd <span style="color: #000080;">=</span> GetStdHandle<span style="color: #008000;">&#40;</span>STD_OUTPUT_HANDLE<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>      
      <span style="color: #0000ff;">FILE</span> <span style="color: #000040;">*</span>in,<span style="color: #000040;">*</span>out<span style="color: #008080;">;</span>
      out<span style="color: #000080;">=</span><span style="color: #0000dd;">fopen</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;out.txt&quot;</span>,<span style="color: #FF0000;">&quot;w&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
      <span style="color: #0000ff;">char</span> key<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">30</span><span style="color: #008000;">&#93;</span>,orgCaesar<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">200</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
      <span style="color: #0000dd;">system</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;color 2f&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
      SetConsoleTitle<span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;凯撒密码破解器&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
      <span style="color: #0000dd;">system</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;mode con cols=60 lines=16&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>   
      <span style="color: #0000dd;">system</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;CLS&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
      TITLE<span style="color: #008080;">;</span>
      SetConsoleTextAttribute<span style="color: #008000;">&#40;</span>consolehwnd,<span style="color: #0000dd;">47</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
      <span style="color: #0000ff;">int</span> n,i,j<span style="color: #000080;">=</span><span style="color: #0000dd;">0</span>,x<span style="color: #008080;">;</span>
      <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span><span style="color: #008000;">&#40;</span>in<span style="color: #000080;">=</span><span style="color: #0000dd;">fopen</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;in.txt&quot;</span>,<span style="color: #FF0000;">&quot;r&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #000080;">==</span><span style="color: #0000ff;">NULL</span><span style="color: #008000;">&#41;</span>
       <span style="color: #008000;">&#123;</span>   <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;没有找到输入文件in.txt，请手动输入。<span style="color: #000099; font-weight: bold;">\n</span>密文：&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
           <span style="color: #0000dd;">gets</span><span style="color: #008000;">&#40;</span>orgCaesar<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
       <span style="color: #008000;">&#125;</span>
      <span style="color: #0000ff;">else</span> 
       <span style="color: #008000;">&#123;</span>
           <span style="color: #0000dd;">fgets</span><span style="color: #008000;">&#40;</span>orgCaesar,<span style="color: #0000dd;">200</span>,in<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
           <span style="color: #0000dd;">fclose</span><span style="color: #008000;">&#40;</span>in<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
           <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;从文件in.txt中输入了密文。<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
       <span style="color: #008000;">&#125;</span>
      <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;关键字：&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
      <span style="color: #0000dd;">gets</span><span style="color: #008000;">&#40;</span>key<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
      <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>破解结果为：<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
&nbsp;
      <span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>n<span style="color: #000080;">=</span><span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>n<span style="color: #000080;">&lt;</span><span style="color: #0000dd;">26</span><span style="color: #008080;">;</span>n<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
       <span style="color: #008000;">&#123;</span>
         <span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>i<span style="color: #000080;">=</span><span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>orgCaesar<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #000040;">!</span><span style="color: #000080;">=</span><span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span> 
           <span style="color: #008000;">&#123;</span>
                  <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>orgCaesar<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #000080;">&gt;=</span><span style="color: #FF0000;">'A'</span><span style="color: #000040;">&amp;&amp;</span>orgCaesar<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #000080;">&lt;=</span><span style="color: #FF0000;">'Z'</span><span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span>Caesar<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #000080;">=</span><span style="color: #FF0000;">'A'</span><span style="color: #000040;">+</span><span style="color: #008000;">&#40;</span>orgCaesar<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #000040;">-</span><span style="color: #FF0000;">'A'</span><span style="color: #000040;">+</span>n<span style="color: #008000;">&#41;</span><span style="color: #000040;">%</span><span style="color:#800080;">26</span><span style="color: #008080;">;</span><span style="color: #0000ff;">continue</span><span style="color: #008080;">;</span><span style="color: #008000;">&#125;</span>
                  <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>orgCaesar<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #000080;">&gt;=</span><span style="color: #FF0000;">'a'</span><span style="color: #000040;">&amp;&amp;</span>orgCaesar<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #000080;">&lt;=</span><span style="color: #FF0000;">'z'</span><span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span>Caesar<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #000080;">=</span><span style="color: #FF0000;">'a'</span><span style="color: #000040;">+</span><span style="color: #008000;">&#40;</span>orgCaesar<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #000040;">-</span><span style="color: #FF0000;">'a'</span><span style="color: #000040;">+</span>n<span style="color: #008000;">&#41;</span><span style="color: #000040;">%</span><span style="color:#800080;">26</span><span style="color: #008080;">;</span><span style="color: #0000ff;">continue</span><span style="color: #008080;">;</span><span style="color: #008000;">&#125;</span>
                  Caesar<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #000080;">=</span>orgCaesar<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
           <span style="color: #008000;">&#125;</span>
         <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span><span style="color: #0000dd;">strstr</span><span style="color: #008000;">&#40;</span>Caesar,key<span style="color: #008000;">&#41;</span><span style="color: #000040;">!</span><span style="color: #000080;">=</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#41;</span>
           <span style="color: #008000;">&#123;</span>  
                  <span style="color: #0000dd;">puts</span><span style="color: #008000;">&#40;</span>Caesar<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
                  <span style="color: #0000dd;">fputs</span><span style="color: #008000;">&#40;</span>Caesar,out<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
                  <span style="color: #0000dd;">fputc</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">'<span style="color: #000099; font-weight: bold;">\n</span>'</span>,out<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
                  j<span style="color: #000040;">++</span><span style="color: #008080;">;</span>
           <span style="color: #008000;">&#125;</span>
        <span style="color: #008000;">&#125;</span>
       <span style="color: #0000dd;">fclose</span><span style="color: #008000;">&#40;</span>out<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span> 
       j<span style="color: #000080;">==</span><span style="color: #0000dd;">0</span><span style="color: #008080;">?</span><span style="color: #008000;">&#40;</span><span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;没有找到任何记录！&quot;</span>,j<span style="color: #008000;">&#41;</span>,<span style="color: #0000dd;">remove</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;out.txt&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">:</span><span style="color: #008000;">&#40;</span><span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;共找到%d条记录，请自行寻找合适记录。<span style="color: #000099; font-weight: bold;">\n</span><span style="color: #000099; font-weight: bold;">\n</span>输出记录已经保存到out.txt中。&quot;</span>,j<span style="color: #008000;">&#41;</span>,<span style="color: #0000dd;">system</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;notepad out.txt&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
       getch<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=259</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>自己写的C语言文件加密</title>
		<link>http://www.shuax.com/?p=240</link>
		<comments>http://www.shuax.com/?p=240#comments</comments>
		<pubDate>Wed, 26 Aug 2009 02:46:00 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[原创软件]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[文件]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=240</guid>
		<description><![CDATA[这个是程序编码训练我做的题目。 加密采用右键方式调用，具体参见程序说明。 应该说加密强度还是比较高的，就是速度太慢了，因为需要大量的CPU计算。 而且我还不会利用双核的资源。 /***********************************************************/ /* 主要源代码 */ /***********************************************************/ &#160; #include &#60;stdlib.h&#62; #include &#60;stdio.h&#62; #include &#60;conio.h&#62; #include &#60;string.h&#62; #include &#60;time.h&#62; #include &#34;md5.cpp&#34; &#160; char S1&#91;&#93; = &#34;PbWuLYL'p@MY&#38;H5T;S1q](v8SW@Mo)s`&#34;; char S2&#91;&#93; = &#34;v8SWT;S@q](@Mo)s`PbMY&#38;WLYL'puH51&#34;; &#160; /***************************获取密码***************************/ void getpass&#40;char *psw, int len&#41; &#123; int i = 0; char cKEY; while &#40;1&#41; &#123; cKEY = getch&#40;&#41;; if &#40;cKEY == -32]]></description>
			<content:encoded><![CDATA[<p>这个是程序编码训练我做的题目。<br />
加密采用右键方式调用，具体参见程序说明。<br />
应该说加密强度还是比较高的，就是速度太慢了，因为需要大量的CPU计算。<br />
而且我还不会利用双核的资源。<br />
<span id="more-240"></span></p>

<div class="wp_codebox"><table><tr id="p240228"><td class="code" id="p240code228"><pre class="cpp" style="font-family:monospace;"><span style="color: #ff0000; font-style: italic;">/***********************************************************/</span>
<span style="color: #ff0000; font-style: italic;">/*                           主要源代码                    */</span>
<span style="color: #ff0000; font-style: italic;">/***********************************************************/</span>
&nbsp;
<span style="color: #339900;">#include &lt;stdlib.h&gt;</span>
<span style="color: #339900;">#include &lt;stdio.h&gt;</span>
<span style="color: #339900;">#include &lt;conio.h&gt;</span>
<span style="color: #339900;">#include &lt;string.h&gt;</span>
<span style="color: #339900;">#include &lt;time.h&gt;</span>
<span style="color: #339900;">#include &quot;md5.cpp&quot;</span>
&nbsp;
<span style="color: #0000ff;">char</span> S1<span style="color: #008000;">&#91;</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #FF0000;">&quot;PbWuLYL'p@MY&amp;H5T;S1q](v8SW@Mo)s`&quot;</span><span style="color: #008080;">;</span>
<span style="color: #0000ff;">char</span> S2<span style="color: #008000;">&#91;</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #FF0000;">&quot;v8SWT;S@q](@Mo)s`PbMY&amp;WLYL'puH51&quot;</span><span style="color: #008080;">;</span>
&nbsp;
<span style="color: #ff0000; font-style: italic;">/***************************获取密码***************************/</span>
<span style="color: #0000ff;">void</span> getpass<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">char</span> <span style="color: #000040;">*</span>psw, <span style="color: #0000ff;">int</span> len<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">int</span> i <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">char</span> cKEY<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">while</span> <span style="color: #008000;">&#40;</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		cKEY <span style="color: #000080;">=</span> getch<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>cKEY <span style="color: #000080;">==</span> <span style="color: #000040;">-</span><span style="color: #0000dd;">32</span> <span style="color: #000040;">||</span> cKEY <span style="color: #000080;">==</span> <span style="color: #0000dd;">0</span><span style="color: #008000;">&#41;</span> getch<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>i <span style="color: #000080;">&lt;</span> len <span style="color: #000040;">&amp;&amp;</span> <span style="color: #008000;">&#40;</span>cKEY <span style="color: #000080;">&gt;=</span> <span style="color: #0000dd;">32</span> <span style="color: #000040;">&amp;&amp;</span> cKEY <span style="color: #000080;">&lt;=</span> <span style="color: #0000dd;">126</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span>
		<span style="color: #008000;">&#123;</span>
			<span style="color: #0000dd;">putchar</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">'*'</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
			psw<span style="color: #008000;">&#91;</span>i<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> cKEY<span style="color: #008080;">;</span>
		<span style="color: #008000;">&#125;</span>
		<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>i <span style="color: #000080;">&gt;</span> <span style="color: #0000dd;">0</span> <span style="color: #000040;">&amp;&amp;</span> cKEY <span style="color: #000080;">==</span> <span style="color: #0000dd;">8</span><span style="color: #008000;">&#41;</span>
		<span style="color: #008000;">&#123;</span>
			<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\b</span> <span style="color: #000099; font-weight: bold;">\b</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
			i<span style="color: #000040;">--</span><span style="color: #008080;">;</span>
		<span style="color: #008000;">&#125;</span>
		<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>i <span style="color: #000080;">&gt;</span> <span style="color: #0000dd;">0</span> <span style="color: #000040;">&amp;&amp;</span> <span style="color: #008000;">&#40;</span>cKEY <span style="color: #000080;">==</span> <span style="color: #0000dd;">9</span> <span style="color: #000040;">||</span> cKEY <span style="color: #000080;">==</span> <span style="color: #0000dd;">13</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span>
		<span style="color: #008000;">&#123;</span>
			psw<span style="color: #008000;">&#91;</span>i<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
			<span style="color: #0000dd;">putchar</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">'<span style="color: #000099; font-weight: bold;">\n</span>'</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
			<span style="color: #0000ff;">break</span> <span style="color: #008080;">;</span>
		<span style="color: #008000;">&#125;</span>
	<span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
&nbsp;
<span style="color: #ff0000; font-style: italic;">/***************************转换16进制数为字符串***************************/</span>
<span style="color: #0000ff;">void</span> convHEX<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">char</span> <span style="color: #000040;">*</span>src, <span style="color: #0000ff;">char</span> <span style="color: #000040;">*</span>des, <span style="color: #0000ff;">int</span> len<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">int</span> i, j<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">unsigned</span> <span style="color: #0000ff;">char</span> ch<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>i <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span>, j <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span> i <span style="color: #000080;">&lt;</span> len<span style="color: #008080;">;</span> i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		ch<span style="color: #000080;">=</span><span style="color: #008000;">&#40;</span><span style="color: #0000ff;">unsigned</span> <span style="color: #0000ff;">char</span><span style="color: #008000;">&#41;</span>src<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>ch <span style="color: #000040;">/</span> <span style="color: #0000dd;">16</span> <span style="color: #000080;">&gt;=</span> <span style="color: #0000dd;">10</span><span style="color: #008000;">&#41;</span> des<span style="color: #008000;">&#91;</span>j<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> ch <span style="color: #000040;">/</span> <span style="color: #0000dd;">16</span> <span style="color: #000040;">+</span> <span style="color: #0000dd;">87</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">else</span> des<span style="color: #008000;">&#91;</span>j<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> ch <span style="color: #000040;">/</span> <span style="color: #0000dd;">16</span> <span style="color: #000040;">+</span> <span style="color: #FF0000;">'0'</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>ch <span style="color: #000040;">%</span> <span style="color: #0000dd;">16</span> <span style="color: #000080;">&gt;=</span> <span style="color: #0000dd;">10</span><span style="color: #008000;">&#41;</span> des<span style="color: #008000;">&#91;</span>j<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> ch <span style="color: #000040;">%</span> <span style="color: #0000dd;">16</span> <span style="color: #000040;">+</span> <span style="color: #0000dd;">87</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">else</span> des<span style="color: #008000;">&#91;</span>j<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> ch <span style="color: #000040;">%</span> <span style="color: #0000dd;">16</span> <span style="color: #000040;">+</span> <span style="color: #FF0000;">'0'</span><span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	des<span style="color: #008000;">&#91;</span>j<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
&nbsp;
<span style="color: #ff0000; font-style: italic;">/***************************注册功能***************************/</span>
<span style="color: #0000ff;">void</span> reg<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">char</span> <span style="color: #000040;">*</span>path<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">char</span> command<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">1024</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
	<span style="color: #666666;">//使用vbscript脚本进行注册</span>
	<span style="color: #0000ff;">char</span> DATA<span style="color: #008000;">&#91;</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #FF0000;">&quot;'The script is made by sungjira<span style="color: #000099; font-weight: bold;">\n</span>On Error Resume Next<span style="color: #000099; font-weight: bold;">\n</span>Set w = WScript.CreateObject(<span style="color: #000099; font-weight: bold;">\&quot;</span>WScript.Shell<span style="color: #000099; font-weight: bold;">\&quot;</span>)<span style="color: #000099; font-weight: bold;">\n</span>Set a = WScript.Arguments<span style="color: #000099; font-weight: bold;">\n</span>if StrComp(<span style="color: #000099; font-weight: bold;">\&quot;</span>文件加密<span style="color: #000099; font-weight: bold;">\&quot;</span>,w.regread(<span style="color: #000099; font-weight: bold;">\&quot;</span>HKCR<span style="color: #000099; font-weight: bold;">\\</span>*<span style="color: #000099; font-weight: bold;">\\</span>shell<span style="color: #000099; font-weight: bold;">\\</span>en<span style="color: #000099; font-weight: bold;">\\</span><span style="color: #000099; font-weight: bold;">\&quot;</span>))=0 then call unreg<span style="color: #000099; font-weight: bold;">\n</span>w.regwrite <span style="color: #000099; font-weight: bold;">\&quot;</span>HKCR<span style="color: #000099; font-weight: bold;">\\</span>*<span style="color: #000099; font-weight: bold;">\\</span>shell<span style="color: #000099; font-weight: bold;">\\</span>en<span style="color: #000099; font-weight: bold;">\\</span><span style="color: #000099; font-weight: bold;">\&quot;</span>,<span style="color: #000099; font-weight: bold;">\&quot;</span>文件加密<span style="color: #000099; font-weight: bold;">\&quot;</span>, <span style="color: #000099; font-weight: bold;">\&quot;</span>REG_SZ<span style="color: #000099; font-weight: bold;">\&quot;</span><span style="color: #000099; font-weight: bold;">\n</span>w.regwrite <span style="color: #000099; font-weight: bold;">\&quot;</span>HKCR<span style="color: #000099; font-weight: bold;">\\</span>*<span style="color: #000099; font-weight: bold;">\\</span>shell<span style="color: #000099; font-weight: bold;">\\</span>de<span style="color: #000099; font-weight: bold;">\\</span><span style="color: #000099; font-weight: bold;">\&quot;</span>,<span style="color: #000099; font-weight: bold;">\&quot;</span>文件解密<span style="color: #000099; font-weight: bold;">\&quot;</span>, <span style="color: #000099; font-weight: bold;">\&quot;</span>REG_SZ<span style="color: #000099; font-weight: bold;">\&quot;</span><span style="color: #000099; font-weight: bold;">\n</span>w.regwrite <span style="color: #000099; font-weight: bold;">\&quot;</span>HKCR<span style="color: #000099; font-weight: bold;">\\</span>*<span style="color: #000099; font-weight: bold;">\\</span>shell<span style="color: #000099; font-weight: bold;">\\</span>en<span style="color: #000099; font-weight: bold;">\\</span>command<span style="color: #000099; font-weight: bold;">\\</span><span style="color: #000099; font-weight: bold;">\&quot;</span>,chr(34)&amp;a(0)&amp;chr(34)&amp;<span style="color: #000099; font-weight: bold;">\&quot;</span> 0 <span style="color: #000099; font-weight: bold;">\&quot;</span>&amp;chr(34)&amp;<span style="color: #000099; font-weight: bold;">\&quot;</span>%1<span style="color: #000099; font-weight: bold;">\&quot;</span>&amp;chr(34), <span style="color: #000099; font-weight: bold;">\&quot;</span>REG_SZ<span style="color: #000099; font-weight: bold;">\&quot;</span><span style="color: #000099; font-weight: bold;">\n</span>w.regwrite <span style="color: #000099; font-weight: bold;">\&quot;</span>HKCR<span style="color: #000099; font-weight: bold;">\\</span>*<span style="color: #000099; font-weight: bold;">\\</span>shell<span style="color: #000099; font-weight: bold;">\\</span>de<span style="color: #000099; font-weight: bold;">\\</span>command<span style="color: #000099; font-weight: bold;">\\</span><span style="color: #000099; font-weight: bold;">\&quot;</span>,chr(34)&amp;a(0)&amp;chr(34)&amp;<span style="color: #000099; font-weight: bold;">\&quot;</span> 1 <span style="color: #000099; font-weight: bold;">\&quot;</span>&amp;chr(34)&amp;<span style="color: #000099; font-weight: bold;">\&quot;</span>%1<span style="color: #000099; font-weight: bold;">\&quot;</span>&amp;chr(34), <span style="color: #000099; font-weight: bold;">\&quot;</span>REG_SZ<span style="color: #000099; font-weight: bold;">\&quot;</span><span style="color: #000099; font-weight: bold;">\n</span>wscript.quit<span style="color: #000099; font-weight: bold;">\n</span>sub unreg<span style="color: #000099; font-weight: bold;">\n</span>w.RegDelete(<span style="color: #000099; font-weight: bold;">\&quot;</span>HKCR<span style="color: #000099; font-weight: bold;">\\</span>*<span style="color: #000099; font-weight: bold;">\\</span>shell<span style="color: #000099; font-weight: bold;">\\</span>en<span style="color: #000099; font-weight: bold;">\\</span>command<span style="color: #000099; font-weight: bold;">\\</span><span style="color: #000099; font-weight: bold;">\&quot;</span>)<span style="color: #000099; font-weight: bold;">\n</span>w.RegDelete(<span style="color: #000099; font-weight: bold;">\&quot;</span>HKCR<span style="color: #000099; font-weight: bold;">\\</span>*<span style="color: #000099; font-weight: bold;">\\</span>shell<span style="color: #000099; font-weight: bold;">\\</span>en<span style="color: #000099; font-weight: bold;">\\</span><span style="color: #000099; font-weight: bold;">\&quot;</span>)<span style="color: #000099; font-weight: bold;">\n</span>w.RegDelete(<span style="color: #000099; font-weight: bold;">\&quot;</span>HKCR<span style="color: #000099; font-weight: bold;">\\</span>*<span style="color: #000099; font-weight: bold;">\\</span>shell<span style="color: #000099; font-weight: bold;">\\</span>de<span style="color: #000099; font-weight: bold;">\\</span>command<span style="color: #000099; font-weight: bold;">\\</span><span style="color: #000099; font-weight: bold;">\&quot;</span>)<span style="color: #000099; font-weight: bold;">\n</span>w.RegDelete(<span style="color: #000099; font-weight: bold;">\&quot;</span>HKCR<span style="color: #000099; font-weight: bold;">\\</span>*<span style="color: #000099; font-weight: bold;">\\</span>shell<span style="color: #000099; font-weight: bold;">\\</span>de<span style="color: #000099; font-weight: bold;">\\</span><span style="color: #000099; font-weight: bold;">\&quot;</span>)<span style="color: #000099; font-weight: bold;">\n</span>wscript.quit<span style="color: #000099; font-weight: bold;">\n</span>end sub&quot;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">FILE</span> <span style="color: #000040;">*</span>vbsfile<span style="color: #008080;">;</span>
	vbsfile <span style="color: #000080;">=</span> <span style="color: #0000dd;">fopen</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;reg.vbs&quot;</span>, <span style="color: #FF0000;">&quot;w&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">fputs</span><span style="color: #008000;">&#40;</span>DATA, vbsfile<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">fclose</span><span style="color: #008000;">&#40;</span>vbsfile<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #666666;">//传递程序路径给vbs</span>
	<span style="color: #0000dd;">strcpy</span><span style="color: #008000;">&#40;</span>command, <span style="color: #FF0000;">&quot;wscript.exe reg.vbs <span style="color: #000099; font-weight: bold;">\&quot;</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">strcat</span><span style="color: #008000;">&#40;</span>command, path<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">strcat</span><span style="color: #008000;">&#40;</span>command, <span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\&quot;</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">system</span><span style="color: #008000;">&#40;</span>command<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">remove</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;reg.vbs&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	HANDLE consolehwnd<span style="color: #008080;">;</span> 
    consolehwnd <span style="color: #000080;">=</span> GetStdHandle<span style="color: #008000;">&#40;</span>STD_OUTPUT_HANDLE<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">system</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;CLS&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	SetConsoleTextAttribute<span style="color: #008000;">&#40;</span>consolehwnd,<span style="color: #0000dd;">10</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;************************************************************&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;                        文件加密程序                        &quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;************************************************************&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	SetConsoleTextAttribute<span style="color: #008000;">&#40;</span>consolehwnd,<span style="color: #0000dd;">15</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;程序功能:<span style="color: #000099; font-weight: bold;">\n</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;    ·运行一次即可完成注册。<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;    ·再次运行即可完成卸载。<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;    ·采用md5加密。<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;    ·右键方式快捷调用。<span style="color: #000099; font-weight: bold;">\n</span><span style="color: #000099; font-weight: bold;">\n</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;成员：刘迎、张小容、简琳、舒俊杰<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;联系QQ:369339353<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;2009年5月<span style="color: #000099; font-weight: bold;">\n</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;按任意键退出...&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
&nbsp;
	getch<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">exit</span><span style="color: #008000;">&#40;</span><span style="color: #0000ff;">EXIT_SUCCESS</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
&nbsp;
<span style="color: #ff0000; font-style: italic;">/***************************主函数***************************/</span>
<span style="color: #0000ff;">int</span> main<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> argc, <span style="color: #0000ff;">char</span> <span style="color: #000040;">**</span>argv<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	SetConsoleTitle<span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;文件加密程序&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">system</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;mode con cols=60 lines=16&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>argc <span style="color: #000080;">==</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span> reg<span style="color: #008000;">&#40;</span>argv<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #666666;">//开始</span>
	<span style="color: #0000ff;">char</span> password1<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">512</span><span style="color: #008000;">&#93;</span>, password2<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">512</span><span style="color: #008000;">&#93;</span>, szDigest<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">16</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">double</span> begin, end<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">int</span> i<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">FILE</span> <span style="color: #000040;">*</span>fp, <span style="color: #000040;">*</span>temp<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">long</span> filelen, speed<span style="color: #008080;">;</span>
&nbsp;
	fp <span style="color: #000080;">=</span> <span style="color: #0000dd;">fopen</span><span style="color: #008000;">&#40;</span>argv<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #008000;">&#93;</span>, <span style="color: #FF0000;">&quot;rb&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">fseek</span><span style="color: #008000;">&#40;</span>fp, <span style="color: #0000dd;">0L</span>, <span style="color: #0000dd;">2</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	filelen <span style="color: #000080;">=</span> <span style="color: #0000dd;">ftell</span><span style="color: #008000;">&#40;</span>fp<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>argv<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">==</span> <span style="color: #FF0000;">'0'</span><span style="color: #008000;">&#41;</span>   <span style="color: #666666;">//参数为0则为加密</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #666666;">//加密</span>
		<span style="color: #0000ff;">while</span> <span style="color: #008000;">&#40;</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span>
		<span style="color: #008000;">&#123;</span>
			<span style="color: #0000dd;">system</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;CLS&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
			<span style="color: #0000dd;">puts</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;您正在进行的是加密操作。&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
			<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;文件：<span style="color: #000099; font-weight: bold;">\&quot;</span>%s<span style="color: #000099; font-weight: bold;">\&quot;</span><span style="color: #000099; font-weight: bold;">\n</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span>, argv<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
			<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;加密密码：&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
			getpass<span style="color: #008000;">&#40;</span>password1, <span style="color: #0000dd;">50</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
			<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;确认密码：&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
			getpass<span style="color: #008000;">&#40;</span>password2, <span style="color: #0000dd;">50</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
			<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span><span style="color: #0000dd;">strcmp</span><span style="color: #008000;">&#40;</span>password1, password2<span style="color: #008000;">&#41;</span> <span style="color: #000040;">!</span><span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008000;">&#41;</span>
			<span style="color: #008000;">&#123;</span>
				<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span><span style="color: #000099; font-weight: bold;">\n</span>你输入的两次密码不相同，请重新输入。&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
				Sleep<span style="color: #008000;">&#40;</span><span style="color: #0000dd;">800</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
			<span style="color: #008000;">&#125;</span>
			<span style="color: #0000ff;">else</span> <span style="color: #0000ff;">break</span><span style="color: #008080;">;</span>
		<span style="color: #008000;">&#125;</span>
&nbsp;
		<span style="color: #666666;">//密码验证通过，生成md5值，并且转换成字符串，然后参与加密</span>
		MD5Digest<span style="color: #008000;">&#40;</span>password1, <span style="color: #0000dd;">strlen</span><span style="color: #008000;">&#40;</span>password1<span style="color: #008000;">&#41;</span>, szDigest<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		convHEX<span style="color: #008000;">&#40;</span>szDigest, password1, <span style="color: #0000dd;">16</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>i <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>i <span style="color: #000080;">&lt;</span> <span style="color: #0000dd;">32</span><span style="color: #008080;">;</span>i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span> S1<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #000040;">+</span><span style="color: #000080;">=</span> password1<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
&nbsp;
		<span style="color: #666666;">//开始加密算法，原来的数据加上S1</span>
		<span style="color: #0000dd;">puts</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span><span style="color: #000099; font-weight: bold;">\n</span>正在进行加密,请耐心等待....&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		begin <span style="color: #000080;">=</span> <span style="color: #0000dd;">clock</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		temp <span style="color: #000080;">=</span> <span style="color: #0000dd;">fopen</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;temp&quot;</span>, <span style="color: #FF0000;">&quot;wb&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">fseek</span><span style="color: #008000;">&#40;</span>fp, <span style="color: #0000dd;">0L</span>, <span style="color: #0000dd;">0</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span><span style="color: #008080;">;</span><span style="color: #0000dd;">ftell</span><span style="color: #008000;">&#40;</span>fp<span style="color: #008000;">&#41;</span> <span style="color: #000080;">&lt;</span> filelen<span style="color: #008080;">;</span><span style="color: #008000;">&#41;</span>
			<span style="color: #0000dd;">fputc</span><span style="color: #008000;">&#40;</span><span style="color: #0000dd;">fgetc</span><span style="color: #008000;">&#40;</span>fp<span style="color: #008000;">&#41;</span> <span style="color: #000040;">+</span> S1<span style="color: #008000;">&#91;</span><span style="color: #008000;">&#40;</span><span style="color: #0000dd;">ftell</span><span style="color: #008000;">&#40;</span>fp<span style="color: #008000;">&#41;</span> <span style="color: #000040;">+</span> <span style="color: #0000dd;">32</span><span style="color: #008000;">&#41;</span> <span style="color: #000040;">%</span> <span style="color: #0000dd;">32</span><span style="color: #008000;">&#93;</span>, temp<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #666666;">//加密密码，然后输出到文件尾</span>
		<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>i <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>i <span style="color: #000080;">&lt;</span> <span style="color: #0000dd;">32</span><span style="color: #008080;">;</span>i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span> password1<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #000040;">^</span><span style="color: #000080;">=</span> S2<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">fputs</span><span style="color: #008000;">&#40;</span>password1, temp<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">fclose</span><span style="color: #008000;">&#40;</span>temp<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">fclose</span><span style="color: #008000;">&#40;</span>fp<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #666666;">//用临时文件覆盖源文件</span>
		<span style="color: #0000dd;">remove</span><span style="color: #008000;">&#40;</span>argv<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">rename</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;temp&quot;</span>, argv<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		end <span style="color: #000080;">=</span> <span style="color: #0000dd;">clock</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">puts</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span><span style="color: #000099; font-weight: bold;">\n</span>加密完成。&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #666666;">//统计信息，程序结束</span>
		<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;总共耗时:%.2f秒<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span>, <span style="color: #008000;">&#40;</span>end <span style="color: #000040;">-</span> begin<span style="color: #008000;">&#41;</span> <span style="color: #000040;">/</span> <span style="color: #0000dd;">1000</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		speed <span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">long</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#40;</span><span style="color: #0000ff;">double</span><span style="color: #008000;">&#41;</span>filelen <span style="color: #000040;">/</span> <span style="color: #008000;">&#40;</span>end <span style="color: #000040;">-</span> begin<span style="color: #008000;">&#41;</span> <span style="color: #000040;">/</span> <span style="color:#800080;">1.024</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>filelen <span style="color: #000080;">&lt;</span> <span style="color: #0000dd;">1024</span><span style="color: #008000;">&#41;</span> speed <span style="color: #000080;">=</span> <span style="color: #0000dd;">500</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;处理速度:%dkb/s<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span>, speed<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">puts</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>按任意键退出.&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		getch<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000ff;">else</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #666666;">//解密</span>
		<span style="color: #0000ff;">while</span> <span style="color: #008000;">&#40;</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span>
		<span style="color: #008000;">&#123;</span>
			<span style="color: #0000dd;">system</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;CLS&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
			<span style="color: #0000dd;">puts</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;您正在进行的是解密操作。&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
			<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;文件：<span style="color: #000099; font-weight: bold;">\&quot;</span>%s<span style="color: #000099; font-weight: bold;">\&quot;</span><span style="color: #000099; font-weight: bold;">\n</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span>, argv<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
			<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;解密密码：&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
			getpass<span style="color: #008000;">&#40;</span>password1, <span style="color: #0000dd;">50</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
			MD5Digest<span style="color: #008000;">&#40;</span>password1, <span style="color: #0000dd;">strlen</span><span style="color: #008000;">&#40;</span>password1<span style="color: #008000;">&#41;</span>, szDigest<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
			convHEX<span style="color: #008000;">&#40;</span>szDigest, password1, <span style="color: #0000dd;">16</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
			<span style="color: #666666;">//从文件尾读取密码，并还原成md5</span>
			<span style="color: #0000dd;">fseek</span><span style="color: #008000;">&#40;</span>fp, <span style="color: #000040;">-</span><span style="color: #0000dd;">32L</span>, <span style="color: #0000dd;">2</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
			<span style="color: #0000dd;">fgets</span><span style="color: #008000;">&#40;</span>password2, <span style="color: #0000dd;">33</span>, fp<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
			<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>i <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>i <span style="color: #000080;">&lt;</span> <span style="color: #0000dd;">32</span><span style="color: #008080;">;</span>i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span> password2<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #000040;">^</span><span style="color: #000080;">=</span> S2<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
			<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span><span style="color: #0000dd;">strcmp</span><span style="color: #008000;">&#40;</span>password1, password2<span style="color: #008000;">&#41;</span> <span style="color: #000040;">!</span><span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008000;">&#41;</span>
			<span style="color: #008000;">&#123;</span>
				<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span><span style="color: #000099; font-weight: bold;">\n</span>你输入的解密密码不正确，请重新输入。&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
				Sleep<span style="color: #008000;">&#40;</span><span style="color: #0000dd;">800</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
			<span style="color: #008000;">&#125;</span>
			<span style="color: #0000ff;">else</span> <span style="color: #0000ff;">break</span><span style="color: #008080;">;</span>
		<span style="color: #008000;">&#125;</span>
		<span style="color: #666666;">//密码验证通过，密码然后参与解密，这里再减回来，抛弃文件末尾的密码信息。</span>
		<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>i <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>i <span style="color: #000080;">&lt;</span> <span style="color: #0000dd;">32</span><span style="color: #008080;">;</span>i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span> S1<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #000040;">+</span><span style="color: #000080;">=</span> password1<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">puts</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span><span style="color: #000099; font-weight: bold;">\n</span>正在进行解密,请耐心等待....&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		begin <span style="color: #000080;">=</span> <span style="color: #0000dd;">clock</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		temp <span style="color: #000080;">=</span> <span style="color: #0000dd;">fopen</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;temp&quot;</span>, <span style="color: #FF0000;">&quot;wb&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">fseek</span><span style="color: #008000;">&#40;</span>fp, <span style="color: #0000dd;">0L</span>, <span style="color: #0000dd;">0</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span><span style="color: #008080;">;</span><span style="color: #0000dd;">ftell</span><span style="color: #008000;">&#40;</span>fp<span style="color: #008000;">&#41;</span> <span style="color: #000080;">&lt;</span> filelen <span style="color: #000040;">-</span> <span style="color: #0000dd;">32</span><span style="color: #008080;">;</span><span style="color: #008000;">&#41;</span>
			<span style="color: #0000dd;">fputc</span><span style="color: #008000;">&#40;</span><span style="color: #0000dd;">fgetc</span><span style="color: #008000;">&#40;</span>fp<span style="color: #008000;">&#41;</span> <span style="color: #000040;">-</span> S1<span style="color: #008000;">&#91;</span><span style="color: #008000;">&#40;</span><span style="color: #0000dd;">ftell</span><span style="color: #008000;">&#40;</span>fp<span style="color: #008000;">&#41;</span> <span style="color: #000040;">+</span> <span style="color: #0000dd;">32</span><span style="color: #008000;">&#41;</span> <span style="color: #000040;">%</span> <span style="color: #0000dd;">32</span><span style="color: #008000;">&#93;</span>, temp<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">fclose</span><span style="color: #008000;">&#40;</span>temp<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">fclose</span><span style="color: #008000;">&#40;</span>fp<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #666666;">//用临时文件覆盖源文件</span>
		<span style="color: #0000dd;">remove</span><span style="color: #008000;">&#40;</span>argv<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">rename</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;temp&quot;</span>, argv<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		end <span style="color: #000080;">=</span> <span style="color: #0000dd;">clock</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">puts</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span><span style="color: #000099; font-weight: bold;">\n</span>解密完成。&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #666666;">//统计信息，程序结束</span>
		<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;总共耗时:%.2f秒<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span>, <span style="color: #008000;">&#40;</span>end <span style="color: #000040;">-</span> begin<span style="color: #008000;">&#41;</span> <span style="color: #000040;">/</span> <span style="color: #0000dd;">1000</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		speed <span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">long</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#40;</span><span style="color: #0000ff;">double</span><span style="color: #008000;">&#41;</span>filelen <span style="color: #000040;">/</span> <span style="color: #008000;">&#40;</span>end <span style="color: #000040;">-</span> begin<span style="color: #008000;">&#41;</span> <span style="color: #000040;">/</span> <span style="color:#800080;">1.024</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>filelen <span style="color: #000080;">&lt;</span> <span style="color: #0000dd;">1024</span><span style="color: #008000;">&#41;</span> speed <span style="color: #000080;">=</span> <span style="color: #0000dd;">500</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;处理速度:%dkb/s<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span>, speed<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">puts</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>按任意键退出.&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		getch<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span></pre></td></tr></table></div>

<p>这个本来是一个小组完成的，不过所有的代码都是我写的，呜呜……<br />
其他的几个全是女生，我带着她们。<br />
下载附件：<br />
<a href="http://www.shuax.com/wp-content/uploads/2009/08/jiami.rar">编码训练(包含源代码，执行程序，课程报告书)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=240</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>忆·七夕</title>
		<link>http://www.shuax.com/?p=238</link>
		<comments>http://www.shuax.com/?p=238#comments</comments>
		<pubDate>Tue, 25 Aug 2009 23:36:51 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[我的生活]]></category>
		<category><![CDATA[Xiao]]></category>
		<category><![CDATA[七夕]]></category>
		<category><![CDATA[爱情]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=238</guid>
		<description><![CDATA[中国情人节。 站位。 没什么说的。 谈不上悲伤，快乐也不足够。 我是不是不知足？ 大哲学家叔本华曾经说过：“生命是一团欲望，欲望不满足便会带来痛苦”。 不过我不痛苦，搞不懂啊。         早上开机看见DengYan给我发了短信，可是她不知道，昨晚我和Mrs. Xiao聊天聊到了凌晨一点半。上面说我没觉得高兴，是乱说的，其实我高兴惨了。得妻如此，我想我一幸福，我都会长命百岁了吧。         想用多种语言说“我爱你”的同学，去试试谷歌翻译吧，呵呵，不知道短信能不能发那啥的阿拉伯语。等会儿试试……PhoneSuite。]]></description>
			<content:encoded><![CDATA[<p>中国情人节。</p>
<p>站位。</p>
<p>没什么说的。</p>
<p>谈不上悲伤，快乐也不足够。</p>
<p>我是不是不知足？</p>
<p>大哲学家叔本华曾经说过：“生命是一团欲望，欲望不满足便会带来痛苦”。</p>
<p>不过我不痛苦，搞不懂啊。</p>
<p><span id="more-238"></span></p>
<p>        早上开机看见DengYan给我发了短信，可是她不知道，昨晚我和Mrs. Xiao聊天聊到了凌晨一点半。上面说我没觉得高兴，是乱说的，其实我高兴惨了。得妻如此，我想我一幸福，我都会长命百岁了吧。</p>
<p>        想用多种语言说“我爱你”的同学，去试试谷歌翻译吧，呵呵，不知道短信能不能发那啥的阿拉伯语。等会儿试试……PhoneSuite。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=238</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>C语言文件操作函数大全</title>
		<link>http://www.shuax.com/?p=234</link>
		<comments>http://www.shuax.com/?p=234#comments</comments>
		<pubDate>Mon, 24 Aug 2009 11:56:26 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[C/C++]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[文件]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=234</guid>
		<description><![CDATA[clearerr（清除文件流的错误旗标） 相关函数 feof 表头文件 #include&#60;stdio.h&#62; 定义函数 void clearerr(FILE * stream); 函数说明 clearerr（）清除参数stream指定的文件流所使用的错误旗标。 返回值 　 fclose（关闭文件） 相关函数 close，fflush，fopen，setbuf 表头文件 #include&#60;stdio.h&#62; 定义函数 int fclose(FILE * stream); 函数说明 fclose()用来关闭先前fopen()打开的文件。此动作会让缓冲区内的数据写入文件中，并释放系统所提供的文件资源。 返回值 若关文件动作成功则返回0，有错误发生时则返回EOF并把错误代码存到errno。 错误代码 EBADF表示参数stream非已打开的文件。 范例 请参考fopen（）。 　 fdopen（将文件描述词转为文件指针） 相关函数 fopen，open，fclose 表头文件 #include&#60;stdio.h&#62; 定义函数 FILE * fdopen(int fildes,const char * mode); 函数说明 fdopen()会将参数fildes 的文件描述词，转换为对应的文件指针后返回。参数mode 字符串则代表着文件指针的流形态，此形态必须和原先文件描述词读写模式相同。关于mode 字符串格式请参考fopen()。 返回值 转换成功时返回指向该流的文件指针。失败则返回NULL，并把错误代码存在errno中。 范例 #include&#60;stdio.h&#62;]]></description>
			<content:encoded><![CDATA[<div>
<p>clearerr（清除文件流的错误旗标）</p>
<p>相关函数 feof</p>
<p>表头文件 #include&lt;stdio.h&gt;</p>
<p>定义函数 void clearerr(FILE * stream);</p>
<p>函数说明 clearerr（）清除参数stream指定的文件流所使用的错误旗标。</p>
<p>返回值</p>
<p>　</p>
<p>fclose（关闭文件）</p>
<p><span id="more-234"></span></p>
<p>相关函数 close，fflush，fopen，setbuf</p>
<p>表头文件 #include&lt;stdio.h&gt;</p>
<p>定义函数 int fclose(FILE * stream);</p>
<p>函数说明 fclose()用来关闭先前fopen()打开的文件。此动作会让缓冲区内的数据写入文件中，并释放系统所提供的文件资源。</p>
<p>返回值 若关文件动作成功则返回0，有错误发生时则返回EOF并把错误代码存到errno。</p>
<p>错误代码 EBADF表示参数stream非已打开的文件。</p>
<p>范例 请参考fopen（）。</p>
<p>　</p>
<p>fdopen（将文件描述词转为文件指针）</p>
<p>相关函数 fopen，open，fclose</p>
<p>表头文件 #include&lt;stdio.h&gt;</p>
<p>定义函数 FILE * fdopen(int fildes,const char * mode);</p>
<p>函数说明 fdopen()会将参数fildes 的文件描述词，转换为对应的文件指针后返回。参数mode 字符串则代表着文件指针的流形态，此形态必须和原先文件描述词读写模式相同。关于mode 字符串格式请参考fopen()。</p>
<p>返回值 转换成功时返回指向该流的文件指针。失败则返回NULL，并把错误代码存在errno中。</p>
<p>范例</p>
<p>#include&lt;stdio.h&gt;</p>
<p>main()</p>
<p>{</p>
<p>FILE * fp =fdopen(0,”w+”);</p>
<p>fprintf(fp,”%s\n”,”hello!”);</p>
<p>fclose(fp);</p>
<p>}</p>
<p>执行 hello!</p>
<p>feof（检查文件流是否读到了文件尾）</p>
<p>相关函数 fopen，fgetc，fgets，fread</p>
<p>表头文件 #include&lt;stdio.h&gt;</p>
<p>定义函数 int feof(FILE * stream);</p>
<p>函数说明 feof()用来侦测是否读取到了文件尾，尾数stream为fopen（）所返回之文件指针。如果已到文件尾则返回非零值，其他情况返回0。</p>
<p>返回值 返回非零值代表已到达文件尾。</p>
<p>fflush（更新缓冲区）</p>
<p>相关函数 write，fopen，fclose，setbuf</p>
<p>表头文件 #include&lt;stdio.h&gt;</p>
<p>定义函数 int fflush(FILE* stream);</p>
<p>函数说明 fflush()会强迫将缓冲区内的数据写回参数stream指定的文件中。如果参数stream为NULL，fflush()会将所有打开的文件数据更新。</p>
<p>返回值 成功返回0，失败返回EOF，错误代码存于errno中。</p>
<p>错误代码 EBADF 参数stream 指定的文件未被打开，或打开状态为只读。其它错误代码参考write（）。</p>
<p>fgetc（由文件中读取一个字符）</p>
<p>相关函数 open，fread，fscanf，getc</p>
<p>表头文件 include&lt;stdio.h&gt;</p>
<p>定义函数 nt fgetc(FILE * stream);</p>
<p>函数说明 fgetc()从参数stream所指的文件中读取一个字符。若读到文件尾而无数据时便返回EOF。</p>
<p>返回值 getc()会返回读取到的字符，若返回EOF则表示到了文件尾。</p>
<p>范例</p>
<p>#include&lt;stdio.h&gt;</p>
<p>main()</p>
<p>{</p>
<p>FILE *fp;</p>
<p>int c;</p>
<p>fp=fopen(“exist”,”r”);</p>
<p>while((c=fgetc(fp))!=EOF)</p>
<p>printf(“%c”,c);</p>
<p>fclose(fp);</p>
<p>}</p>
<p>fgets（由文件中读取一字符串）</p>
<p>相关函数 open，fread，fscanf，getc</p>
<p>表头文件 include&lt;stdio.h&gt;</p>
<p>定义函数 har * fgets(char * s,int size,FILE * stream);</p>
<p>函数说明 fgets()用来从参数stream所指的文件内读入字符并存到参数s所指的内存空间，直到出现换行字符、读到文件尾或是已读了size-1个字符为止，最后会加上NULL作为字符串结束。</p>
<p>返回值 gets()若成功则返回s指针，返回NULL则表示有错误发生。</p>
<p>范例</p>
<p>#include&lt;stdio.h&gt;</p>
<p>main()</p>
<p>{</p>
<p>char s[80];</p>
<p>fputs(fgets(s,80,stdin),stdout);</p>
<p>}</p>
<p>执行 this is a test /*输入*/</p>
<p>this is a test /*输出*/</p>
<p>　</p>
<p>fileno（返回文件流所使用的文件描述词）</p>
<p>相关函数 open，fopen</p>
<p>表头文件 #include&lt;stdio.h&gt;</p>
<p>定义函数 int fileno(FILE * stream);</p>
<p>函数说明 fileno()用来取得参数stream指定的文件流所使用的文件描述词。</p>
<p>返回值 返回文件描述词。</p>
<p>范例</p>
<p>#include&lt;stdio.h&gt;</p>
<p>main()</p>
<p>{</p>
<p>FILE * fp;</p>
<p>int fd;</p>
<p>fp=fopen(“/etc/passwd”,”r”);</p>
<p>fd=fileno(fp);</p>
<p>printf(“fd=%d\n”,fd);</p>
<p>fclose(fp);</p>
<p>}</p>
<p>执行 fd=3</p>
<p>　</p>
<p>fopen（打开文件）</p>
<p>相关函数 open，fclose</p>
<p>表头文件 #include&lt;stdio.h&gt;</p>
<p>定义函数 FILE * fopen(const char * path,const char * mode);</p>
<p>函数说明 参数path字符串包含欲打开的文件路径及文件名，参数mode字符串则代表着流形态。</p>
<p>mode有下列几种形态字符串:</p>
<p>r 打开只读文件，该文件必须存在。</p>
<p>r+ 打开可读写的文件，该文件必须存在。</p>
<p>w 打开只写文件，若文件存在则文件长度清为0，即该文件内容会消失。若文件不存在则建立该文件。</p>
<p>w+ 打开可读写文件，若文件存在则文件长度清为零，即该文件内容会消失。若文件不存在则建立该文件。</p>
<p>a 以附加的方式打开只写文件。若文件不存在，则会建立该文件，如果文件存在，写入的数据会被加到文件尾，即文件原先的内容会被保留。</p>
<p>a+ 以附加方式打开可读写的文件。若文件不存在，则会建立该文件，如果文件存在，写入的数据会被加到文件尾后，即文件原先的内容会被保留。</p>
<p>上述的形态字符串都可以再加一个b字符，如rb、w+b或ab＋等组合，加入b 字符用来告诉函数库打开的文件为二进制文件，而非纯文字文件。不过在POSIX系统，包含Linux都会忽略该字符。由fopen()所建立的新文件会具有S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH(0666)权限，此文件权限也会参考umask值。</p>
<p>返回值 文件顺利打开后，指向该流的文件指针就会被返回。若果文件打开失败则返回NULL，并把错误代码存在errno 中。</p>
<p>附加说明 一般而言，开文件后会作一些文件读取或写入的动作，若开文件失败，接下来的读写动作也无法顺利进行，所以在fopen()后请作错误判断及处理。</p>
<p>范例</p>
<p>#include&lt;stdio.h&gt;</p>
<p>main()</p>
<p>{</p>
<p>FILE * fp;</p>
<p>fp=fopen(“noexist”,”a+”);</p>
<p>if(fp= =NULL) return;</p>
<p>fclose(fp);</p>
<p>}</p>
<p>fputc（将一指定字符写入文件流中）</p>
<p>相关函数 fopen，fwrite，fscanf，putc</p>
<p>表头文件 #include&lt;stdio.h&gt;</p>
<p>定义函数 int fputc(int c,FILE * stream);</p>
<p>函数说明 fputc 会将参数c 转为unsigned char 后写入参数stream 指定的文件中。</p>
<p>返回值 fputc()会返回写入成功的字符，即参数c。若返回EOF则代表写入失败。</p>
<p>范例</p>
<p>#include&lt;stdio.h&gt;</p>
<p>main()</p>
<p>{</p>
<p>FILE * fp;</p>
<p>char a[26]=”abcdefghijklmnopqrstuvwxyz”;</p>
<p>int i;</p>
<p>fp= fopen(“noexist”,”w”);</p>
<p>for(i=0;i&lt;26;i++)</p>
<p>fputc(a,fp);</p>
<p>fclose(fp);</p>
<p>}</p>
<p>fputs（将一指定的字符串写入文件内）</p>
<p>相关函数 fopen，fwrite，fscanf，fputc，putc</p>
<p>表头文件 #include&lt;stdio.h&gt;</p>
<p>定义函数 int fputs(const char * s,FILE * stream);</p>
<p>函数说明 fputs()用来将参数s所指的字符串写入到参数stream所指的文件内。</p>
<p>返回值 若成功则返回写出的字符个数，返回EOF则表示有错误发生。</p>
<p>范例 请参考fgets（）。</p>
<p>fread（从文件流读取数据）</p>
<p>相关函数 fopen，fwrite，fseek，fscanf</p>
<p>表头文件 #include&lt;stdio.h&gt;</p>
<p>定义函数 size_t fread(void * ptr,size_t size,size_t nmemb,FILE * stream);</p>
<p>函数说明 fread()用来从文件流中读取数据。参数stream为已打开的文件指针，参数ptr 指向欲存放读取进来的数据空间，读取的字符数以参数size*nmemb来决定。Fread()会返回实际读取到的nmemb数目，如果此值比参数nmemb 来得小，则代表可能读到了文件尾或有错误发生，这时必须用feof()或ferror()来决定发生什么情况。</p>
<p>返回值 返回实际读取到的nmemb数目。</p>
<p>附加说明</p>
<p>范例</p>
<p>#include&lt;stdio.h&gt;</p>
<p>#define nmemb 3</p>
<p>struct test</p>
<p>{</p>
<p>char name[20];</p>
<p>int size;</p>
<p>}s[nmemb];</p>
<p>int main(){</p>
<p>FILE * stream;</p>
<p>int i;</p>
<p>stream = fopen(“/tmp/fwrite”,”r”);</p>
<p>fread(s,sizeof(struct test),nmemb,stream);</p>
<p>fclose(stream);</p>
<p>for(i=0;i&lt;nmemb;i++)</p>
<p>printf(“name[%d]=%-20s:size[%d]=%d\n”,i,s.name,i,s.size);</p>
<p>}</p>
<p>执行</p>
<p>name[0]=Linux! size[0]=6</p>
<p>name[1]=FreeBSD! size[1]=8</p>
<p>name[2]=Windows2000 size[2]=11</p>
<p>　</p>
<p>freopen（打开文件）</p>
<p>相关函数 fopen，fclose</p>
<p>表头文件 #include&lt;stdio.h&gt;</p>
<p>定义函数 FILE * freopen(const char * path,const char * mode,FILE * stream);</p>
<p>函数说明 参数path字符串包含欲打开的文件路径及文件名，参数mode请参考fopen()说明。参数stream为已打开的文件指针。Freopen()会将原stream所打开的文件流关闭，然后打开参数path的文件。</p>
<p>返回值 文件顺利打开后，指向该流的文件指针就会被返回。如果文件打开失败则返回NULL，并把错误代码存在errno 中。</p>
<p>范例</p>
<p>#include&lt;stdio.h&gt;</p>
<p>main()</p>
<p>{</p>
<p>FILE * fp;</p>
<p>fp=fopen(“/etc/passwd”,”r”);</p>
<p>fp=freopen(“/etc/group”,”r”,fp);</p>
<p>fclose(fp);</p>
<p>}</p>
<p>fseek（移动文件流的读写位置）</p>
<p>相关函数 rewind，ftell，fgetpos，fsetpos，lseek</p>
<p>表头文件 #include&lt;stdio.h&gt;</p>
<p>定义函数 int fseek(FILE * stream,long offset,int whence);</p>
<p>函数说明 fseek()用来移动文件流的读写位置。参数stream为已打开的文件指针，参数offset为根据参数whence来移动读写位置的位移数。</p>
<p>参数 whence为下列其中一种:</p>
<p>SEEK_SET从距文件开头offset位移量为新的读写位置。SEEK_CUR 以目前的读写位置往后增加offset个位移量。</p>
<p>SEEK_END将读写位置指向文件尾后再增加offset个位移量。</p>
<p>当whence值为SEEK_CUR 或SEEK_END时，参数offset允许负值的出现。</p>
<p>下列是较特别的使用方式:</p>
<p>1) 欲将读写位置移动到文件开头时:fseek(FILE *stream,0,SEEK_SET);</p>
<p>2) 欲将读写位置移动到文件尾时:fseek(FILE *stream,0,0SEEK_END);</p>
<p>返回值 当调用成功时则返回0，若有错误则返回-1，errno会存放错误代码。</p>
<p>附加说明 fseek()不像lseek()会返回读写位置，因此必须使用ftell()来取得目前读写的位置。</p>
<p>范例</p>
<p>#include&lt;stdio.h&gt;</p>
<p>main()</p>
<p>{</p>
<p>FILE * stream;</p>
<p>long offset;</p>
<p>fpos_t pos;</p>
<p>stream=fopen(“/etc/passwd”,”r”);</p>
<p>fseek(stream,5,SEEK_SET);</p>
<p>printf(“offset=%d\n”,ftell(stream));</p>
<p>rewind(stream);</p>
<p>fgetpos(stream,&amp;pos);</p>
<p>printf(“offset=%d\n”,pos);</p>
<p>pos=10;</p>
<p>fsetpos(stream,&amp;pos);</p>
<p>printf(“offset = %d\n”,ftell(stream));</p>
<p>fclose(stream);</p>
<p>}</p>
<p>执行 offset = 5</p>
<p>offset =0</p>
<p>offset=10</p>
<p>ftell（取得文件流的读取位置）</p>
<p>相关函数 fseek，rewind，fgetpos，fsetpos</p>
<p>表头文件 #include&lt;stdio.h&gt;</p>
<p>定义函数 long ftell(FILE * stream);</p>
<p>函数说明 ftell()用来取得文件流目前的读写位置。参数stream为已打开的文件指针。</p>
<p>返回值 当调用成功时则返回目前的读写位置，若有错误则返回-1，errno会存放错误代码。</p>
<p>错误代码 EBADF 参数stream无效或可移动读写位置的文件流。</p>
<p>范例 参考fseek()。</p>
<p>fwrite（将数据写至文件流）</p>
<p>相关函数 fopen，fread，fseek，fscanf</p>
<p>表头文件 #include&lt;stdio.h&gt;</p>
<p>定义函数 size_t fwrite(const void * ptr,size_t size,size_t nmemb,FILE * stream);</p>
<p>函数说明 fwrite()用来将数据写入文件流中。参数stream为已打开的文件指针，参数ptr 指向欲写入的数据地址，总共写入的字符数以参数size*nmemb来决定。Fwrite()会返回实际写入的nmemb数目。</p>
<p>返回值 返回实际写入的nmemb数目。</p>
<p>范例</p>
<p>#include&lt;stdio.h&gt;</p>
<p>#define set_s (x,y) {strcoy(s[x].name,y);s[x].size=strlen(y);}</p>
<p>#define nmemb 3</p>
<p>struct test</p>
<p>{</p>
<p>char name[20];</p>
<p>int size;</p>
<p>}s[nmemb];</p>
<p>main()</p>
<p>{</p>
<p>FILE * stream;</p>
<p>set_s(0,”Linux!”);</p>
<p>set_s(1,”FreeBSD!”);</p>
<p>set_s(2,”Windows2000.”);</p>
<p>stream=fopen(“/tmp/fwrite”,”w”);</p>
<p>fwrite(s,sizeof(struct test),nmemb,stream);</p>
<p>fclose(stream);</p>
<p>}</p>
<p>执行 参考fread（）。</p>
<p>getc（由文件中读取一个字符）</p>
<p>相关函数 read，fopen，fread，fgetc</p>
<p>表头文件 #include&lt;stdio.h&gt;</p>
<p>定义函数 int getc(FILE * stream);</p>
<p>函数说明 getc()用来从参数stream所指的文件中读取一个字符。若读到文件尾而无数据时便返回EOF。虽然getc()与fgetc()作用相同，但getc()为宏定义，非真正的函数调用。</p>
<p>返回值 getc()会返回读取到的字符，若返回EOF则表示到了文件尾。</p>
<p>范例 参考fgetc()。</p>
<p>getchar（由标准输入设备内读进一字符）</p>
<p>相关函数 fopen，fread，fscanf，getc</p>
<p>表头文件 #include&lt;stdio.h&gt;</p>
<p>定义函数 int getchar(void);</p>
<p>函数说明 getchar()用来从标准输入设备中读取一个字符。然后将该字符从unsigned char转换成int后返回。</p>
<p>返回值 getchar()会返回读取到的字符，若返回EOF则表示有错误发生。</p>
<p>附加说明 getchar()非真正函数，而是getc(stdin)宏定义。</p>
<p>范例</p>
<p>#include&lt;stdio.h&gt;</p>
<p>main()</p>
<p>{</p>
<p>FILE * fp;</p>
<p>int c,i;</p>
<p>for(i=0li&lt;5;i++)</p>
<p>{</p>
<p>c=getchar();</p>
<p>putchar(c);</p>
<p>}</p>
<p>}</p>
<p>执行 1234 /*输入*/</p>
<p>1234 /*输出*/</p>
<p>gets（由标准输入设备内读进一字符串）</p>
<p>相关函数 fopen，fread，fscanf，fgets</p>
<p>表头文件 #include&lt;stdio.h&gt;</p>
<p>定义函数 char * gets(char *s);</p>
<p>函数说明 gets()用来从标准设备读入字符并存到参数s所指的内存空间，直到出现换行字符或读到文件尾为止，最后加上NULL作为字符串结束。</p>
<p>返回值 gets()若成功则返回s指针，返回NULL则表示有错误发生。</p>
<p>附加说明 由于gets()无法知道字符串s的大小，必须遇到换行字符或文件尾才会结束输入，因此容易造成缓冲溢出的安全性问题。建议使用fgets()取代。</p>
<p>范例 参考fgets()</p>
<p>　</p>
<p>mktemp（产生唯一的临时文件名）</p>
<p>相关函数 tmpfile</p>
<p>表头文件 #include&lt;stdlib.h&gt;</p>
<p>定义函数 char * mktemp(char * template);</p>
<p>函数说明 mktemp()用来产生唯一的临时文件名。参数template所指的文件名称字符串中最后六个字符必须是XXXXXX。产生后的文件名会借字符串指针返回。</p>
<p>返回值 文件顺利打开后，指向该流的文件指针就会被返回。如果文件打开失败则返回NULL，并把错误代码存在errno中。</p>
<p>附加说明 参数template所指的文件名称字符串必须声明为数组，如:</p>
<p>char template[ ]=”template-XXXXXX”；</p>
<p>不可用char * template=”template-XXXXXX”；</p>
<p>范例</p>
<p>#include&lt;stdlib.h&gt;</p>
<p>main()</p>
<p>{</p>
<p>char template[ ]=”template-XXXXXX”;</p>
<p>mktemp(template);</p>
<p>printf(“template=%s\n”,template);</p>
<p>}</p>
<p>putc（将一指定字符写入文件中）</p>
<p>相关函数 fopen，fwrite，fscanf，fputc</p>
<p>表头文件 #include&lt;stdio.h&gt;</p>
<p>定义函数 int putc(int c,FILE * stream);</p>
<p>函数说明 putc()会将参数c转为unsigned char后写入参数stream指定的文件中。虽然putc()与fputc()作用相同，但putc()为宏定义，非真正的函数调用。</p>
<p>返回值 putc()会返回写入成功的字符，即参数c。若返回EOF则代表写入失败。</p>
<p>范例 参考fputc（）。</p>
<p>putchar（将指定的字符写到标准输出设备）</p>
<p>相关函数 fopen，fwrite，fscanf，fputc</p>
<p>表头文件 #include&lt;stdio.h&gt;</p>
<p>定义函数 int putchar (int c);</p>
<p>函数说明 putchar()用来将参数c字符写到标准输出设备。</p>
<p>返回值 putchar()会返回输出成功的字符，即参数c。若返回EOF则代表输出失败。</p>
<p>附加说明 putchar()非真正函数，而是putc(c，stdout)宏定义。</p>
<p>范例 参考getchar()。</p>
<p>rewind（重设文件流的读写位置为文件开头）</p>
<p>相关函数 fseek，ftell，fgetpos，fsetpos</p>
<p>表头文件 #include&lt;stdio.h&gt;</p>
<p>定义函数 void rewind(FILE * stream);</p>
<p>函数说明 rewind()用来把文件流的读写位置移至文件开头。参数stream为已打开的文件指针。此函数相当于调用fseek(stream,0,SEEK_SET)。</p>
<p>返回值</p>
<p>范例 参考fseek()</p>
<p>setbuf（设置文件流的缓冲区）</p>
<p>相关函数 setbuffer，setlinebuf，setvbuf</p>
<p>表头文件 #include&lt;stdio.h&gt;</p>
<p>定义函数 void setbuf(FILE * stream,char * buf);</p>
<p>函数说明 在打开文件流后，读取内容之前，调用setbuf()可以用来设置文件流的缓冲区。参数stream为指定的文件流，参数buf指向自定的缓冲区起始地址。如果参数buf为NULL指针，则为无缓冲IO。Setbuf()相当于调用:setvbuf(stream,buf,buf?_IOFBF:_IONBF,BUFSIZ)</p>
<p>返回值</p>
<p>setbuffer（设置文件流的缓冲区）</p>
<p>相关函数 setlinebuf，setbuf，setvbuf</p>
<p>表头文件 #include&lt;stdio.h&gt;</p>
<p>定义函数 void setbuffer(FILE * stream,char * buf,size_t size);</p>
<p>函数说明 在打开文件流后，读取内容之前，调用setbuffer()可用来设置文件流的缓冲区。参数stream为指定的文件流，参数buf指向自定的缓冲区起始地址，参数size为缓冲区大小。</p>
<p>返回值</p>
<p>setlinebuf（设置文件流为线性缓冲区）</p>
<p>相关函数 setbuffer，setbuf，setvbuf</p>
<p>表头文件 #include&lt;stdio.h&gt;</p>
<p>定义函数 void setlinebuf(FILE * stream);</p>
<p>函数说明 setlinebuf()用来设置文件流以换行为依据的无缓冲IO。相当于调用:setvbuf(stream,(char * )NULL,_IOLBF,0);请参考setvbuf()。</p>
<p>返回值</p>
<p>setvbuf（设置文件流的缓冲区）</p>
<p>相关函数 setbuffer，setlinebuf，setbuf</p>
<p>表头文件 #include&lt;stdio.h&gt;</p>
<p>定义函数 int setvbuf(FILE * stream,char * buf,int mode,size_t size);</p>
<p>函数说明 在打开文件流后，读取内容之前，调用setvbuf()可以用来设置文件流的缓冲区。参数stream为指定的文件流，参数buf指向自定的缓冲区起始地址，参数size为缓冲区大小，参数mode有下列几种</p>
<p>_IONBF 无缓冲IO</p>
<p>_IOLBF 以换行为依据的无缓冲IO</p>
<p>_IOFBF 完全无缓冲IO。如果参数buf为NULL指针，则为无缓冲IO。</p>
<p>返回值</p>
<p>ungetc（将指定字符写回文件流中）</p>
<p>相关函数 fputc，getchar，getc</p>
<p>表头文件 #include&lt;stdio.h&gt;</p>
<p>定义函数 int ungetc(int c,FILE * stream);</p>
<p>函数说明 ungetc()将参数c字符写回参数stream所指定的文件流。这个写回的字符会由下一个读取文件流的函数取得。</p>
<p>返回值 成功则返回c 字符，若有错误则返回EOF。</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=234</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>七夕情人节</title>
		<link>http://www.shuax.com/?p=217</link>
		<comments>http://www.shuax.com/?p=217#comments</comments>
		<pubDate>Mon, 24 Aug 2009 00:04:28 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[我的生活]]></category>
		<category><![CDATA[七夕]]></category>
		<category><![CDATA[爱情]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=217</guid>
		<description><![CDATA[三春怨离泣，九秋欣期歌。驾鸾行日时，月明济长河。 长河起秋云，汉渚风凉发。含欣出霄路，可笑向明月。 金风起汉曲，素月明河边。七章未成匹，飞燕起长川。 春离隔寒暑，明秋暂一会。两叹别日长，双情若饥渴。 婉娈不终夕，一别周年期。桑蚕不作茧，画夜长悬丝。 灵匹怨离处，索居隔长河。玄云不应雷，是侬啼叹歌。 振玉下金阶，拭眼瞩星兰。惆怅登云轺，悲恨两情殚。 风骖不驾缨，翼人立中庭。箫管且停吹，展我叙离情。 紫霞烟翠盖，斜月照绮窗。衔悲握离袂，易尔还年容。 后天就是情人节了。真的很幸福，还好我是个有老婆的人。昨天晚上和她聊天聊了很久，也聊的很开心。什么都说了，真的觉得她很不错啊，如果说全世界都抛弃了的话，我相信她也一定不会的。 我会尽力爱她的，希望她能被我照顾得开开心心的。可惜情人节去不了啊，唉……中国情人节不能去，西方的情人节也不行了，明年的情人节居然是大年初一，打击了很大一部分情侣吧，呵呵。 别着急啦，好日子我相信还是会来临的，(*^__^*)&#8230;嘻嘻……到那个时候，每天都腻在老婆身边，我要烦死她，嘿嘿。 亲爱的，你现在还在上班吧，好可怜啊，我这个不成器的东西就只能在电脑面前上网啊，真的是浪费光阴，可是除了上网又偏偏没什么事情干。呜呜……编程序又已经不会了，不去学校学学知识，就弄不会了。 好想去学校啊。 9.5.  期待中…… 情人节那天给她一篇情书吧，呵呵，真是对不起她，老是她在默默的付出，我都没有让她好过。嗯，写什么呢？今晚上可得好好想想啊…… ——2009年08月24日]]></description>
			<content:encoded><![CDATA[<p><img class="size-full wp-image-224 alignnone" title="qingrenjie" src="http://www.shuax.com/wp-content/uploads/2009/08/qingrenjie.jpg" alt="qingrenjie" width="528" height="238" /></p>
<p style="text-align: left;">三春怨离泣，九秋欣期歌。驾鸾行日时，月明济长河。<br />
长河起秋云，汉渚风凉发。含欣出霄路，可笑向明月。<br />
金风起汉曲，素月明河边。七章未成匹，飞燕起长川。<br />
春离隔寒暑，明秋暂一会。两叹别日长，双情若饥渴。<br />
婉娈不终夕，一别周年期。桑蚕不作茧，画夜长悬丝。<br />
灵匹怨离处，索居隔长河。玄云不应雷，是侬啼叹歌。<br />
振玉下金阶，拭眼瞩星兰。惆怅登云轺，悲恨两情殚。<br />
风骖不驾缨，翼人立中庭。箫管且停吹，展我叙离情。<br />
紫霞烟翠盖，斜月照绮窗。衔悲握离袂，易尔还年容。<br />
<span id="more-217"></span></p>
<p>后天就是情人节了。真的很幸福，还好我是个有老婆的人。昨天晚上和她聊天聊了很久，也聊的很开心。什么都说了，真的觉得她很不错啊，如果说全世界都抛弃了的话，我相信她也一定不会的。</p>
<p>我会尽力爱她的，希望她能被我照顾得开开心心的。可惜情人节去不了啊，唉……中国情人节不能去，西方的情人节也不行了，明年的情人节居然是大年初一，打击了很大一部分情侣吧，呵呵。</p>
<p>别着急啦，好日子我相信还是会来临的，(*^__^*)&#8230;嘻嘻……到那个时候，每天都腻在老婆身边，我要烦死她，嘿嘿。</p>
<p>亲爱的，你现在还在上班吧，好可怜啊，我这个不成器的东西就只能在电脑面前上网啊，真的是浪费光阴，可是除了上网又偏偏没什么事情干。呜呜……编程序又已经不会了，不去学校学学知识，就弄不会了。</p>
<p>好想去学校啊。</p>
<p>9.5.  期待中……</p>
<p>情人节那天给她一篇情书吧，呵呵，真是对不起她，老是她在默默的付出，我都没有让她好过。嗯，写什么呢？今晚上可得好好想想啊……</p>
<p style="text-align: right;">——2009年08月24日</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=217</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>绿坝-花季护航  密码更改工具</title>
		<link>http://www.shuax.com/?p=196</link>
		<comments>http://www.shuax.com/?p=196#comments</comments>
		<pubDate>Sun, 23 Aug 2009 03:36:45 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[C/C++]]></category>
		<category><![CDATA[原创软件]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[原创]]></category>
		<category><![CDATA[密码]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=196</guid>
		<description><![CDATA[传说中绿坝的密码就是直接用MD5加密的，这个也太简单了吧，代码在下面，程序需要的md5.cpp，打包提供。 #include &#34;md5.cpp&#34; #include &#60;windows.h&#62; void getpass&#40;char *psw, int len&#41; &#123; int i = 0; char cKEY; while &#40;1&#41; &#123; cKEY = getch&#40;&#41;; if &#40;cKEY == -32 &#124;&#124; cKEY == 0&#41; getch&#40;&#41;; if &#40;i &#60; len &#38;&#38; &#40;cKEY &#62;= 32 &#38;&#38; cKEY &#60;= 126&#41;&#41; &#123; putchar&#40;cKEY&#41;; psw&#91;i++&#93; = cKEY; &#125; if &#40;i &#62; 0 &#38;&#38;]]></description>
			<content:encoded><![CDATA[<p>传说中绿坝的密码就是直接用MD5加密的，这个也太简单了吧，代码在下面，程序需要的md5.cpp，打包提供。<br />
<img class="alignnone size-full wp-image-200" title="被过滤的加菲猫" src="http://www.shuax.com/wp-content/uploads/2009/08/garfield1.jpg" alt="被过滤的加菲猫" width="472" height="466" /><br />
<span id="more-196"></span></p>

<div class="wp_codebox"><table><tr id="p196230"><td class="code" id="p196code230"><pre class="cpp" style="font-family:monospace;"><span style="color: #339900;">#include &quot;md5.cpp&quot;</span>
<span style="color: #339900;">#include &lt;windows.h&gt;</span>
<span style="color: #0000ff;">void</span> getpass<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">char</span> <span style="color: #000040;">*</span>psw, <span style="color: #0000ff;">int</span> len<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">int</span> i <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">char</span> cKEY<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">while</span> <span style="color: #008000;">&#40;</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		cKEY <span style="color: #000080;">=</span> getch<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>cKEY <span style="color: #000080;">==</span> <span style="color: #000040;">-</span><span style="color: #0000dd;">32</span> <span style="color: #000040;">||</span> cKEY <span style="color: #000080;">==</span> <span style="color: #0000dd;">0</span><span style="color: #008000;">&#41;</span> getch<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>i <span style="color: #000080;">&lt;</span> len <span style="color: #000040;">&amp;&amp;</span> <span style="color: #008000;">&#40;</span>cKEY <span style="color: #000080;">&gt;=</span> <span style="color: #0000dd;">32</span> <span style="color: #000040;">&amp;&amp;</span> cKEY <span style="color: #000080;">&lt;=</span> <span style="color: #0000dd;">126</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span>
		<span style="color: #008000;">&#123;</span>
			<span style="color: #0000dd;">putchar</span><span style="color: #008000;">&#40;</span>cKEY<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
			psw<span style="color: #008000;">&#91;</span>i<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> cKEY<span style="color: #008080;">;</span>
		<span style="color: #008000;">&#125;</span>
		<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>i <span style="color: #000080;">&gt;</span> <span style="color: #0000dd;">0</span> <span style="color: #000040;">&amp;&amp;</span> cKEY <span style="color: #000080;">==</span> <span style="color: #0000dd;">8</span><span style="color: #008000;">&#41;</span>
		<span style="color: #008000;">&#123;</span>
			<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\b</span> <span style="color: #000099; font-weight: bold;">\b</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
			i<span style="color: #000040;">--</span><span style="color: #008080;">;</span>
		<span style="color: #008000;">&#125;</span>
		<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>i <span style="color: #000080;">&gt;</span> <span style="color: #0000dd;">0</span> <span style="color: #000040;">&amp;&amp;</span> <span style="color: #008000;">&#40;</span>cKEY <span style="color: #000080;">==</span> <span style="color: #0000dd;">9</span> <span style="color: #000040;">||</span> cKEY <span style="color: #000080;">==</span> <span style="color: #0000dd;">13</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span>
		<span style="color: #008000;">&#123;</span>
			psw<span style="color: #008000;">&#91;</span>i<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
			<span style="color: #0000dd;">putchar</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">'<span style="color: #000099; font-weight: bold;">\n</span>'</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
			<span style="color: #0000ff;">return</span> <span style="color: #008080;">;</span>
		<span style="color: #008000;">&#125;</span>
	<span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">void</span> convHEX<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">char</span> <span style="color: #000040;">*</span>src, <span style="color: #0000ff;">char</span> <span style="color: #000040;">*</span>des, <span style="color: #0000ff;">long</span> len<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">int</span> i, j<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>i <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span>, j <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span> i <span style="color: #000080;">&lt;</span> len<span style="color: #008080;">;</span> i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span><span style="color: #008000;">&#40;</span><span style="color: #0000ff;">unsigned</span> <span style="color: #0000ff;">char</span><span style="color: #008000;">&#41;</span>src<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #000040;">/</span> <span style="color: #0000dd;">16</span> <span style="color: #000080;">&gt;=</span> <span style="color: #0000dd;">10</span><span style="color: #008000;">&#41;</span> des<span style="color: #008000;">&#91;</span>j<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">unsigned</span> <span style="color: #0000ff;">char</span><span style="color: #008000;">&#41;</span>src<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #000040;">/</span> <span style="color: #0000dd;">16</span> <span style="color: #000040;">+</span> <span style="color: #0000dd;">87</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">else</span> des<span style="color: #008000;">&#91;</span>j<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">unsigned</span> <span style="color: #0000ff;">char</span><span style="color: #008000;">&#41;</span>src<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #000040;">/</span> <span style="color: #0000dd;">16</span> <span style="color: #000040;">+</span> <span style="color: #FF0000;">'0'</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span><span style="color: #008000;">&#40;</span><span style="color: #0000ff;">unsigned</span> <span style="color: #0000ff;">char</span><span style="color: #008000;">&#41;</span>src<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #000040;">%</span> <span style="color: #0000dd;">16</span> <span style="color: #000080;">&gt;=</span> <span style="color: #0000dd;">10</span><span style="color: #008000;">&#41;</span> des<span style="color: #008000;">&#91;</span>j<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">unsigned</span> <span style="color: #0000ff;">char</span><span style="color: #008000;">&#41;</span>src<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #000040;">%</span> <span style="color: #0000dd;">16</span> <span style="color: #000040;">+</span> <span style="color: #0000dd;">87</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">else</span> des<span style="color: #008000;">&#91;</span>j<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">unsigned</span> <span style="color: #0000ff;">char</span><span style="color: #008000;">&#41;</span>src<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #000040;">%</span> <span style="color: #0000dd;">16</span> <span style="color: #000040;">+</span> <span style="color: #FF0000;">'0'</span><span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	des<span style="color: #008000;">&#91;</span>j<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">int</span> main<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
    <span style="color: #0000ff;">FILE</span> <span style="color: #000040;">*</span>passfile<span style="color: #008080;">;</span> 
    <span style="color: #0000ff;">char</span> pass<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">512</span><span style="color: #008000;">&#93;</span>,szDigest<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">16</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
    <span style="color: #0000dd;">system</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;title 绿坝-花季护航  密码更改工具 Made By SUNGJIRA&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #0000dd;">system</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;mode con cols=60 lines=16&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #0000dd;">puts</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;为你的“绿坝-花季护航”设置新密码。<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;密码：&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    getpass<span style="color: #008000;">&#40;</span>pass, <span style="color: #0000dd;">50</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    MD5Digest<span style="color: #008000;">&#40;</span>pass, <span style="color: #0000dd;">strlen</span><span style="color: #008000;">&#40;</span>pass<span style="color: #008000;">&#41;</span>, szDigest<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    convHEX<span style="color: #008000;">&#40;</span>szDigest, pass, <span style="color: #0000dd;">16</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    passfile<span style="color: #000080;">=</span><span style="color: #0000dd;">fopen</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;C:<span style="color: #000099; font-weight: bold;">\\</span>WINDOWS<span style="color: #000099; font-weight: bold;">\\</span>system32<span style="color: #000099; font-weight: bold;">\\</span>kwpwf.dll&quot;</span>,<span style="color: #FF0000;">&quot;wb&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #0000dd;">fputs</span><span style="color: #008000;">&#40;</span>pass,passfile<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #0000dd;">fclose</span><span style="color: #008000;">&#40;</span>passfile<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>密码更改成功，按任意键退出...&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    getch<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #0000ff;">return</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></td></tr></table></div>

<p>下载地址：<a href="http://www.shuax.com/wp-content/uploads/2009/08/crack.rar">绿坝密码破解</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=196</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>JNI &#8211; Java本地调用</title>
		<link>http://www.shuax.com/?p=189</link>
		<comments>http://www.shuax.com/?p=189#comments</comments>
		<pubDate>Sun, 23 Aug 2009 03:28:29 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[C/C++]]></category>
		<category><![CDATA[JAVA]]></category>
		<category><![CDATA[原创软件]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[代码]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=189</guid>
		<description><![CDATA[由于种种原因，Java并不擅长于控制台的操作，比如“CLS”清屏的命令，这里，我们利用java的JNI功能来实现控制台清屏功能。 第一步，创建我们调用库的Java源文件“console.java”。 源代码如下： public class console&#123; &#160; //载入库文件 static&#123; System.loadLibrary&#40;&#34;Shu&#34;&#41;; &#125; //函数接口 &#160; public static native void system&#40;String str&#41;; public static native char getch&#40;&#41;; public static void help&#40;&#41;&#123; System.out.println&#40;&#34;目前本程序包含以下方法：&#34;&#41;; System.out.println&#40;&#34;void system(String str) 调用system()函数&#34;&#41;; System.out.println&#40;&#34;char getch() 调用getch()函数&#34;&#41;; &#125; &#125; 接下来，我们使用这个文件创建对应的头文件“console.h” 命令为： javac console.java javah console 生成的文件内容如下： /* DO NOT EDIT THIS FILE - it is machine]]></description>
			<content:encoded><![CDATA[<p>由于种种原因，Java并不擅长于控制台的操作，比如“CLS”清屏的命令，这里，我们利用java的JNI功能来实现控制台清屏功能。<br />
第一步，创建我们调用库的Java源文件“console.java”。<br />
源代码如下：</p>

<div class="wp_codebox"><table><tr id="p189236"><td class="code" id="p189code236"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> console<span style="color: #009900;">&#123;</span>
&nbsp;
         <span style="color: #666666; font-style: italic;">//载入库文件</span>
         <span style="color: #000000; font-weight: bold;">static</span><span style="color: #009900;">&#123;</span>
         <span style="color: #003399;">System</span>.<span style="color: #006633;">loadLibrary</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Shu&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
         <span style="color: #009900;">&#125;</span>
         <span style="color: #666666; font-style: italic;">//函数接口</span>
&nbsp;
         <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000000; font-weight: bold;">native</span> <span style="color: #000066; font-weight: bold;">void</span> system<span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span> str<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
         <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000000; font-weight: bold;">native</span> <span style="color: #000066; font-weight: bold;">char</span> getch<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
         <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">void</span> help<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
        <span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;目前本程序包含以下方法：&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;void system(String str)   调用system()函数&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;char getch()              调用getch()函数&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
         <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>接下来，我们使用这个文件创建对应的头文件“console.h”</p>
<p>命令为：</p>

<div class="wp_codebox"><table><tr id="p189237"><td class="code" id="p189code237"><pre class="bat" style="font-family:monospace;">javac console.java
javah console</pre></td></tr></table></div>

<p><span id="more-189"></span><br />
生成的文件内容如下：</p>

<div class="wp_codebox"><table><tr id="p189238"><td class="code" id="p189code238"><pre class="h" style="font-family:monospace;">/* DO NOT EDIT THIS FILE - it is machine generated */
#include &lt;jni.h&gt;
/* Header for class console */
&nbsp;
#ifndef _Included_console
#define _Included_console
#ifdef __cplusplus
extern &quot;C&quot; {
#endif
/*
 * Class:     console
 * Method:    system
 * Signature: (Ljava/lang/String;)V
 */
JNIEXPORT void JNICALL Java_console_system
  (JNIEnv *, jclass, jstring);
&nbsp;
/*
 * Class:     console
 * Method:    getch
 * Signature: ()C
 */
JNIEXPORT jchar JNICALL Java_console_getch
  (JNIEnv *, jclass);
&nbsp;
#ifdef __cplusplus
}
#endif
#endif</pre></td></tr></table></div>

<p>这里，我是使用的DEV CPP来生成dll库文件。如图所示：</p>
<p>把自动生成的dll.h用console.h替换。<br />
把JDK目录中include目录下的所有.h文件复制到DEV CPP的include目录。</p>
<p>将dllmain.cpp的内容改为：</p>

<div class="wp_codebox"><table><tr id="p189239"><td class="code" id="p189code239"><pre class="cpp" style="font-family:monospace;"><span style="color: #339900;">#include &quot;console.h&quot;</span>
<span style="color: #339900;">#include &lt;windows.h&gt;</span>
<span style="color: #339900;">#include &lt;conio.h&gt;</span>
&nbsp;
JNIEXPORT <span style="color: #0000ff;">void</span> JNICALL Java_console_system<span style="color: #008000;">&#40;</span>JNIEnv <span style="color: #000040;">*</span>env, jclass obj, jstring str<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
         <span style="color: #0000ff;">const</span> <span style="color: #0000ff;">char</span> <span style="color: #000040;">*</span>command<span style="color: #008080;">;</span>
         command <span style="color: #000080;">=</span> env<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>GetStringUTFChars<span style="color: #008000;">&#40;</span>str, <span style="color: #0000dd;">0</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
         <span style="color: #0000dd;">system</span><span style="color: #008000;">&#40;</span>command<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
         env<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>ReleaseStringUTFChars<span style="color: #008000;">&#40;</span>str, command<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
JNIEXPORT jchar JNICALL Java_console_getch<span style="color: #008000;">&#40;</span>JNIEnv <span style="color: #000040;">*</span>, jclass<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
         <span style="color: #0000ff;">return</span> getch<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></td></tr></table></div>

<p>编译生成这个dll文件。将文件名改为shu.dll。</p>
<p>最后这个JNI就可以使用了，使用时只需把shu.dll、console.class放到相同文件夹即可。<br />
测试程序test.java为：</p>

<div class="wp_codebox"><table><tr id="p189240"><td class="code" id="p189code240"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> test
<span style="color: #009900;">&#123;</span>
         <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">void</span> main<span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span> args<span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>
         <span style="color: #009900;">&#123;</span>
         <span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;******************************&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
         <span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;按任意键清屏&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
         <span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;******************************&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
         <span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span>console.<span style="color: #006633;">getch</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
         console.<span style="color: #006633;">system</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;CLS&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
         <span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;命令完成&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
         <span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;下面显示使用帮助：&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
         console.<span style="color: #006633;">help</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
         <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>详细介绍请下载：<br />
<a href="http://www.shuax.com/wp-content/uploads/2009/08/JNI.rar">JNI调用</a>(RAR)         <a href="http://www.shuax.com/wp-content/uploads/2009/08/JNI.doc">JNI</a>(WORD)         <a href="http://www.shuax.com/wp-content/uploads/2009/08/JNI.pdf">JNI</a>(PDF)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=189</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>快速运行JAVA程序</title>
		<link>http://www.shuax.com/?p=184</link>
		<comments>http://www.shuax.com/?p=184#comments</comments>
		<pubDate>Sun, 23 Aug 2009 03:16:19 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[C/C++]]></category>
		<category><![CDATA[JAVA]]></category>
		<category><![CDATA[原创软件]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[code]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=184</guid>
		<description><![CDATA[//程序说明  printf&#40;&#34;************************************************************&#34;&#41;;  printf&#40;&#34;                   快速运行JAVA程序 V1.4         舒俊杰制作 &#34;&#41;;  printf&#40;&#34;************************************************************&#34;&#41;;  printf&#40;&#34;版本功能:\n&#34;&#41;;  printf&#40;&#34;    ·运行一次即可完成注册，右键方式快捷调用。\n&#34;&#41;;  printf&#40;&#34;    ·修改了带参数运行的提示方式。\n&#34;&#41;;  printf&#40;&#34;    ·修改运行流程，加快运行速度。\n&#34;&#41;;  printf&#40;&#34;    ·运行完JAVA程序后，自动截下当前的图片。\n&#34;&#41;;  printf&#40;&#34;    ·调整界面大小，避免粘贴图片时被缩放。\n&#34;&#41;;  printf&#40;&#34;    ·增加编译命令显示，计时功能。\n&#34;&#41;;  printf&#40;&#34;    ·修正右键快捷键命令调用问题。\n&#34;&#41;;  printf&#40;&#34;    ·增加了运行包的功能。\n\n&#34;&#41;;  printf&#40;&#34;没有说明白的地方请见谅！\n&#34;&#41;;  printf&#40;&#34;QQ:369339353\n&#34;&#41;;  printf&#40;&#34;舒俊杰 2009年&#34;&#41;; #include &#60;windows.h&#62; #include &#60;stdio.h&#62; #include &#60;conio.h&#62; #include &#60;string.h&#62; #include &#60;time.h&#62; //全局变量 char path&#91;100&#93;, name&#91;50&#93;, command&#91;1024&#93;; void regfunc&#40;char *path&#41; &#123; system&#40;&#34;mode con cols=60 lines=16&#34;&#41;; //写一个vbs脚本进行注册 char vbsdata&#91;&#93;]]></description>
			<content:encoded><![CDATA[
<div class="wp_codebox"><table><tr id="p184243"><td class="code" id="p184code243"><pre class="cpp" style="font-family:monospace;"><span style="color: #666666;">//程序说明</span>
 <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;************************************************************&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
 <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;                   快速运行JAVA程序 V1.4         舒俊杰制作 &quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
 <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;************************************************************&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
 <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;版本功能:<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
 <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;    ·运行一次即可完成注册，右键方式快捷调用。<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
 <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;    ·修改了带参数运行的提示方式。<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
 <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;    ·修改运行流程，加快运行速度。<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
 <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;    ·运行完JAVA程序后，自动截下当前的图片。<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
 <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;    ·调整界面大小，避免粘贴图片时被缩放。<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
 <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;    ·增加编译命令显示，计时功能。<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
 <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;    ·修正右键快捷键命令调用问题。<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
 <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;    ·增加了运行包的功能。<span style="color: #000099; font-weight: bold;">\n</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
 <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;没有说明白的地方请见谅！<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
 <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;QQ:369339353<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
 <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;舒俊杰 2009年&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span></pre></td></tr></table></div>

<p><span id="more-184"></span></p>

<div class="wp_codebox"><table><tr id="p184244"><td class="code" id="p184code244"><pre class="cpp" style="font-family:monospace;"><span style="color: #339900;">#include &lt;windows.h&gt;</span>
<span style="color: #339900;">#include &lt;stdio.h&gt;</span>
<span style="color: #339900;">#include &lt;conio.h&gt;</span>
<span style="color: #339900;">#include &lt;string.h&gt;</span>
<span style="color: #339900;">#include &lt;time.h&gt; </span>
<span style="color: #666666;">//全局变量</span>
<span style="color: #0000ff;">char</span> path<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">100</span><span style="color: #008000;">&#93;</span>, name<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">50</span><span style="color: #008000;">&#93;</span>, command<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">1024</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
<span style="color: #0000ff;">void</span> regfunc<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">char</span> <span style="color: #000040;">*</span>path<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000dd;">system</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;mode con cols=60 lines=16&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #666666;">//写一个vbs脚本进行注册</span>
	<span style="color: #0000ff;">char</span> vbsdata<span style="color: #008000;">&#91;</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #FF0000;">&quot;Set WshShell = WScript.CreateObject(<span style="color: #000099; font-weight: bold;">\&quot;</span>WScript.Shell<span style="color: #000099; font-weight: bold;">\&quot;</span>)<span style="color: #000099; font-weight: bold;">\n</span>Set fso = CreateObject(<span style="color: #000099; font-weight: bold;">\&quot;</span>Scripting.FileSystemObject<span style="color: #000099; font-weight: bold;">\&quot;</span>)<span style="color: #000099; font-weight: bold;">\n</span>Set objArgs = WScript.Arguments<span style="color: #000099; font-weight: bold;">\n</span>javaPath=WshShell.RegRead(<span style="color: #000099; font-weight: bold;">\&quot;</span>HKCR<span style="color: #000099; font-weight: bold;">\\</span>.java<span style="color: #000099; font-weight: bold;">\\</span><span style="color: #000099; font-weight: bold;">\&quot;</span>)<span style="color: #000099; font-weight: bold;">\n</span>WshShell.regwrite <span style="color: #000099; font-weight: bold;">\&quot;</span>HKCR<span style="color: #000099; font-weight: bold;">\\</span><span style="color: #000099; font-weight: bold;">\&quot;</span>&amp;javaPath&amp;<span style="color: #000099; font-weight: bold;">\&quot;</span><span style="color: #000099; font-weight: bold;">\\</span>shell<span style="color: #000099; font-weight: bold;">\\</span>run<span style="color: #000099; font-weight: bold;">\\</span><span style="color: #000099; font-weight: bold;">\&quot;</span>,<span style="color: #000099; font-weight: bold;">\&quot;</span>编译并运行(&amp;F)<span style="color: #000099; font-weight: bold;">\&quot;</span>, <span style="color: #000099; font-weight: bold;">\&quot;</span>REG_SZ<span style="color: #000099; font-weight: bold;">\&quot;</span><span style="color: #000099; font-weight: bold;">\n</span>WshShell.regwrite <span style="color: #000099; font-weight: bold;">\&quot;</span>HKCR<span style="color: #000099; font-weight: bold;">\\</span><span style="color: #000099; font-weight: bold;">\&quot;</span>&amp;javaPath&amp;<span style="color: #000099; font-weight: bold;">\&quot;</span><span style="color: #000099; font-weight: bold;">\\</span>shell<span style="color: #000099; font-weight: bold;">\\</span>withags<span style="color: #000099; font-weight: bold;">\\</span><span style="color: #000099; font-weight: bold;">\&quot;</span>,<span style="color: #000099; font-weight: bold;">\&quot;</span>带参数运行(&amp;A)<span style="color: #000099; font-weight: bold;">\&quot;</span>, <span style="color: #000099; font-weight: bold;">\&quot;</span>REG_SZ<span style="color: #000099; font-weight: bold;">\&quot;</span><span style="color: #000099; font-weight: bold;">\n</span>WshShell.regwrite <span style="color: #000099; font-weight: bold;">\&quot;</span>HKCR<span style="color: #000099; font-weight: bold;">\\</span><span style="color: #000099; font-weight: bold;">\&quot;</span>&amp;javaPath&amp;<span style="color: #000099; font-weight: bold;">\&quot;</span><span style="color: #000099; font-weight: bold;">\\</span>shell<span style="color: #000099; font-weight: bold;">\\</span>run<span style="color: #000099; font-weight: bold;">\\</span>command<span style="color: #000099; font-weight: bold;">\\</span><span style="color: #000099; font-weight: bold;">\&quot;</span>,chr(34)&amp;objArgs(0)&amp;chr(34)&amp;<span style="color: #000099; font-weight: bold;">\&quot;</span> <span style="color: #000099; font-weight: bold;">\&quot;</span>&amp;chr(34)&amp;<span style="color: #000099; font-weight: bold;">\&quot;</span>%1<span style="color: #000099; font-weight: bold;">\&quot;</span>&amp;chr(34)&amp;<span style="color: #000099; font-weight: bold;">\&quot;</span> 0<span style="color: #000099; font-weight: bold;">\&quot;</span>, <span style="color: #000099; font-weight: bold;">\&quot;</span>REG_SZ<span style="color: #000099; font-weight: bold;">\&quot;</span><span style="color: #000099; font-weight: bold;">\n</span>WshShell.regwrite <span style="color: #000099; font-weight: bold;">\&quot;</span>HKCR<span style="color: #000099; font-weight: bold;">\\</span><span style="color: #000099; font-weight: bold;">\&quot;</span>&amp;javaPath&amp;<span style="color: #000099; font-weight: bold;">\&quot;</span><span style="color: #000099; font-weight: bold;">\\</span>shell<span style="color: #000099; font-weight: bold;">\\</span>withags<span style="color: #000099; font-weight: bold;">\\</span>command<span style="color: #000099; font-weight: bold;">\\</span><span style="color: #000099; font-weight: bold;">\&quot;</span>,chr(34)&amp;objArgs(0)&amp;chr(34)&amp;<span style="color: #000099; font-weight: bold;">\&quot;</span> <span style="color: #000099; font-weight: bold;">\&quot;</span>&amp;chr(34)&amp;<span style="color: #000099; font-weight: bold;">\&quot;</span>%1<span style="color: #000099; font-weight: bold;">\&quot;</span>&amp;chr(34)&amp;<span style="color: #000099; font-weight: bold;">\&quot;</span> 1<span style="color: #000099; font-weight: bold;">\&quot;</span>, <span style="color: #000099; font-weight: bold;">\&quot;</span>REG_SZ<span style="color: #000099; font-weight: bold;">\&quot;</span><span style="color: #000099; font-weight: bold;">\n</span>fso.DeleteFile <span style="color: #000099; font-weight: bold;">\&quot;</span>lovexxh.vbs<span style="color: #000099; font-weight: bold;">\&quot;</span>&quot;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">FILE</span> <span style="color: #000040;">*</span>vbsfile<span style="color: #008080;">;</span>
	vbsfile <span style="color: #000080;">=</span> <span style="color: #0000dd;">fopen</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;lovexxh.vbs&quot;</span>, <span style="color: #FF0000;">&quot;w&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">fputs</span><span style="color: #008000;">&#40;</span>vbsdata, vbsfile<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">fclose</span><span style="color: #008000;">&#40;</span>vbsfile<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #666666;">//传递程序路径给vbs</span>
	<span style="color: #0000dd;">strcpy</span><span style="color: #008000;">&#40;</span>command, <span style="color: #FF0000;">&quot;wscript.exe lovexxh.vbs <span style="color: #000099; font-weight: bold;">\&quot;</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">strcat</span><span style="color: #008000;">&#40;</span>command, path<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">strcat</span><span style="color: #008000;">&#40;</span>command, <span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\&quot;</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">system</span><span style="color: #008000;">&#40;</span>command<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #666666;">//程序说明</span>
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;************************************************************&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;                   快速运行JAVA程序 V1.4         舒俊杰制作 &quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;************************************************************&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;版本功能:<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;    ·运行一次即可完成注册，右键方式快捷调用。<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;    ·修改了带参数运行的提示方式。<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;    ·修改运行流程，加快运行速度。<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;    ·运行完JAVA程序后，自动截下当前的图片。<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;    ·调整界面大小，避免粘贴图片时被缩放。<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;    ·增加编译命令显示，计时功能。<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;    ·修正右键快捷键命令调用问题。<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;    ·增加了运行包的功能。<span style="color: #000099; font-weight: bold;">\n</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;没有说明白的地方请见谅！<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;QQ:369339353<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;舒俊杰 2009年&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #666666;">//退出程序</span>
	getch<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">exit</span><span style="color: #008000;">&#40;</span><span style="color: #0000ff;">EXIT_SUCCESS</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">int</span> main<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> argc, <span style="color: #0000ff;">char</span> <span style="color: #000040;">*</span>argv<span style="color: #008000;">&#91;</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	SetConsoleTitle<span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;快速运行JAVA程序 舒俊杰制作&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #666666;">//如果程序参数不为设置的参数，那么注册。</span>
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>argc <span style="color: #000040;">!</span><span style="color: #000080;">=</span> <span style="color: #0000dd;">3</span><span style="color: #008000;">&#41;</span> regfunc<span style="color: #008000;">&#40;</span>argv<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #666666;">//程序运行JAVA功能开始</span>
	HANDLE consolehwnd<span style="color: #008080;">;</span>
	consolehwnd <span style="color: #000080;">=</span> GetStdHandle<span style="color: #008000;">&#40;</span>STD_OUTPUT_HANDLE<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">system</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;mode con cols=66 lines=19&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #666666;">//计时变量</span>
	<span style="color: #0000ff;">double</span> begin, temp, end<span style="color: #008080;">;</span>
	<span style="color: #666666;">//编译JAVA</span>
	<span style="color: #0000dd;">strcpy</span><span style="color: #008000;">&#40;</span>command, <span style="color: #FF0000;">&quot;javac -d . <span style="color: #000099; font-weight: bold;">\&quot;</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">strcat</span><span style="color: #008000;">&#40;</span>command, argv<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">strcat</span><span style="color: #008000;">&#40;</span>command, <span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\&quot;</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	begin <span style="color: #000080;">=</span> <span style="color: #0000dd;">clock</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span><span style="color: #0000dd;">system</span><span style="color: #008000;">&#40;</span>command<span style="color: #008000;">&#41;</span> <span style="color: #000040;">!</span><span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		SetConsoleTextAttribute<span style="color: #008000;">&#40;</span>consolehwnd, <span style="color: #0000dd;">14</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>编译都没有通过哦，看看是不是有这些问题：<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>·没有设置环境变量&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>·程序代码有拼写错误&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>·文件名与类名不一致&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		getch<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">return</span> <span style="color: #0000ff;">EXIT_FAILURE</span><span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	end <span style="color: #000080;">=</span> <span style="color: #0000dd;">clock</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	temp <span style="color: #000080;">=</span> end <span style="color: #000040;">-</span> begin<span style="color: #008080;">;</span>
	<span style="color: #666666;">//获取path,name</span>
	<span style="color: #0000ff;">int</span> i, k, j<span style="color: #008080;">;</span>
	<span style="color: #666666;">//根据最后的斜杠\判断path</span>
	<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>i <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>argv<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #000040;">!</span><span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
             	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>argv<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #000080;">==</span><span style="color: #0000dd;">92</span><span style="color: #008000;">&#41;</span> k <span style="color: #000080;">=</span> i<span style="color: #008080;">;</span>   <span style="color: #666666;">//记录最后的斜杠位置到k</span>
	<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>i <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>i <span style="color: #000080;">&lt;</span> k<span style="color: #008080;">;</span>i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span> path<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> argv<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
	path<span style="color: #008000;">&#91;</span>i<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
	<span style="color: #666666;">//根据path长度，及其去掉扩展名长度，获取name</span>
	<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>i <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>i <span style="color: #000080;">&lt;</span> <span style="color: #0000dd;">strlen</span><span style="color: #008000;">&#40;</span>argv<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span> <span style="color: #000040;">-</span> <span style="color: #0000dd;">6</span> <span style="color: #000040;">-</span> k<span style="color: #008080;">;</span>i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span> name<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> argv<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span>k <span style="color: #000040;">+</span> i <span style="color: #000040;">+</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
	name<span style="color: #008000;">&#91;</span>i<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #666666;">//输出提示</span>
	SetConsoleTextAttribute<span style="color: #008000;">&#40;</span>consolehwnd, <span style="color: #0000dd;">14</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;:<span style="color: #000099; font-weight: bold;">\\</span>&gt;javac -d . %s.java<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span>, name<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
&nbsp;
&nbsp;
	<span style="color: #666666;">//生成运行JAVA的命令</span>
	command<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> path<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
	command<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #FF0000;">':'</span><span style="color: #008080;">;</span>
	command<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
	<span style="color: #666666;">//处于根目录则不添加CD命令</span>
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span><span style="color: #0000dd;">strlen</span><span style="color: #008000;">&#40;</span>path<span style="color: #008000;">&#41;</span> <span style="color: #000040;">!</span><span style="color: #000080;">=</span> <span style="color: #0000dd;">2</span><span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000dd;">strcat</span><span style="color: #008000;">&#40;</span>command, <span style="color: #FF0000;">&quot;&amp;CD <span style="color: #000099; font-weight: bold;">\&quot;</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">strcat</span><span style="color: #008000;">&#40;</span>command, path<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">strcat</span><span style="color: #008000;">&#40;</span>command, <span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\&quot;</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000dd;">strcat</span><span style="color: #008000;">&#40;</span>command, <span style="color: #FF0000;">&quot;&amp;java &quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;:<span style="color: #000099; font-weight: bold;">\\</span>&gt;java &quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #666666;">//运行包</span>
	<span style="color: #0000ff;">FILE</span> <span style="color: #000040;">*</span>fp<span style="color: #008080;">;</span>
	<span style="color: #0000ff;">char</span> package<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">100</span><span style="color: #008000;">&#93;</span>, pack<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">100</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
	fp <span style="color: #000080;">=</span> <span style="color: #0000dd;">fopen</span><span style="color: #008000;">&#40;</span>argv<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span>, <span style="color: #FF0000;">&quot;rb&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span><span style="color: #008080;">;</span><span style="color: #000040;">!</span><span style="color: #0000dd;">feof</span><span style="color: #008000;">&#40;</span>fp<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span><span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000dd;">fgets</span><span style="color: #008000;">&#40;</span>package, <span style="color: #0000dd;">100</span>, fp<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span><span style="color: #0000dd;">strstr</span><span style="color: #008000;">&#40;</span>package, <span style="color: #FF0000;">&quot;package&quot;</span><span style="color: #008000;">&#41;</span> <span style="color: #000040;">!</span><span style="color: #000080;">=</span> <span style="color: #0000ff;">NULL</span><span style="color: #008000;">&#41;</span>
		<span style="color: #008000;">&#123;</span>
			<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>i <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;;</span>i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span> <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>package<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #000080;">==</span> <span style="color: #FF0000;">' '</span><span style="color: #008000;">&#41;</span> <span style="color: #0000ff;">break</span><span style="color: #008080;">;</span>
			<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>j <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span>, i<span style="color: #000040;">++</span><span style="color: #008080;">;</span>package<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #000040;">!</span><span style="color: #000080;">=</span> <span style="color: #FF0000;">';'</span><span style="color: #008080;">;</span>j<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span> pack<span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> package<span style="color: #008000;">&#91;</span>i<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
			pack<span style="color: #008000;">&#91;</span>j<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #FF0000;">'.'</span><span style="color: #008080;">;</span>
			pack<span style="color: #008000;">&#91;</span>j<span style="color: #000040;">++</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
			<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%s&quot;</span>, pack<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
			<span style="color: #0000dd;">strcat</span><span style="color: #008000;">&#40;</span>command, pack<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
			<span style="color: #0000ff;">break</span><span style="color: #008080;">;</span>
		<span style="color: #008000;">&#125;</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000dd;">fclose</span><span style="color: #008000;">&#40;</span>fp<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">strcat</span><span style="color: #008000;">&#40;</span>command, name<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%s &quot;</span>, name<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #666666;">//是否带参数运行，具体参数在vbs中说明。</span>
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>argv<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">==</span> <span style="color: #FF0000;">'1'</span><span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000ff;">char</span> String<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">100</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">strcat</span><span style="color: #008000;">&#40;</span>command, <span style="color: #FF0000;">&quot; &quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">gets</span><span style="color: #008000;">&#40;</span>String<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">strcat</span><span style="color: #008000;">&#40;</span>command, String<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000ff;">else</span> <span style="color: #0000dd;">putchar</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">'<span style="color: #000099; font-weight: bold;">\n</span>'</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #666666;">//显示运行结果</span>
	SetConsoleTextAttribute<span style="color: #008000;">&#40;</span>consolehwnd, <span style="color: #0000dd;">15</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	begin <span style="color: #000080;">=</span> <span style="color: #0000dd;">clock</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span><span style="color: #0000dd;">system</span><span style="color: #008000;">&#40;</span>command<span style="color: #008000;">&#41;</span> <span style="color: #000040;">!</span><span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		SetConsoleTextAttribute<span style="color: #008000;">&#40;</span>consolehwnd, <span style="color: #0000dd;">14</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>运行出错啦，看看是不是有这些问题：<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>·没有设置环境变量&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>·这个类缺少main函数&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>·没有输入命令行参数&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		getch<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #0000ff;">return</span> <span style="color: #0000ff;">EXIT_FAILURE</span><span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	end <span style="color: #000080;">=</span> <span style="color: #0000dd;">clock</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	temp <span style="color: #000040;">+</span><span style="color: #000080;">=</span> end <span style="color: #000040;">-</span> begin<span style="color: #008080;">;</span>
	<span style="color: #666666;">//截屏，在当前窗口按下截屏，然后释放</span>
	keybd_event<span style="color: #008000;">&#40;</span>VK_SNAPSHOT, <span style="color: #0000dd;">1</span>, <span style="color: #0000dd;">0</span>, <span style="color: #0000dd;">0</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	keybd_event<span style="color: #008000;">&#40;</span>VK_SNAPSHOT, <span style="color: #0000dd;">1</span>, KEYEVENTF_KEYUP, <span style="color: #0000dd;">0</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	Sleep<span style="color: #008000;">&#40;</span><span style="color: #0000dd;">100</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #666666;">//退出程序</span>
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>当前屏幕已抓取，按Ctrl+V即可粘贴.&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>编译运行共用时:%.4f秒,按任意键退出.&quot;</span>, temp <span style="color: #000040;">/</span> <span style="color: #0000dd;">1000</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	getch<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">return</span> <span style="color: #0000ff;">EXIT_SUCCESS</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=184</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>今天·20号</title>
		<link>http://www.shuax.com/?p=112</link>
		<comments>http://www.shuax.com/?p=112#comments</comments>
		<pubDate>Thu, 20 Aug 2009 03:55:20 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[我的生活]]></category>
		<category><![CDATA[网站]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=112</guid>
		<description><![CDATA[        今天是我的生日，o(∩_∩)o&#8230;哈哈，值得纪念的一天，等会儿给老婆打打电话，嗯，好想她了……         这个网站真是恼火啊，其他都没问题，就是不能评论。好在我有先见之明，只买了一年，明年就换一个服务商吧。感觉开源的东西，对Linux的好感比较多一些，在win上的主机只有吃亏了。呜呜…         不过我的人品还是好的，当初申请ICP备案，嘿嘿，两天就成功了，谁说天朝的速度慢啊，啦啦啦……我得意的笑…… ——2009年08月20日]]></description>
			<content:encoded><![CDATA[<p style="TEXT-ALIGN: center"><img class="size-full wp-image-115 aligncenter" title="生日" src="http://www.shuax.com/wp-content/uploads/2009/08/shengri.jpg" alt="生日" width="484" height="307" /></p>
<p>        今天是我的生日，o(∩_∩)o&#8230;哈哈，值得纪念的一天，等会儿给老婆打打电话，嗯，好想她了……<br />
        这个网站真是恼火啊，其他都没问题，就是不能评论。好在我有先见之明，只买了一年，明年就换一个服务商吧。感觉开源的东西，对Linux的好感比较多一些，在win上的主机只有吃亏了。呜呜…<br />
        不过我的人品还是好的，当初申请ICP备案，嘿嘿，两天就成功了，谁说天朝的速度慢啊，啦啦啦……我得意的笑……</p>
<p style="text-align: right;">——2009年08月20日</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=112</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>三十个小软件</title>
		<link>http://www.shuax.com/?p=103</link>
		<comments>http://www.shuax.com/?p=103#comments</comments>
		<pubDate>Mon, 17 Aug 2009 08:45:00 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[实用软件]]></category>
		<category><![CDATA[实用]]></category>
		<category><![CDATA[小巧]]></category>
		<category><![CDATA[推荐]]></category>
		<category><![CDATA[软件]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=103</guid>
		<description><![CDATA[TweakUI    是微软公司为 Windows XP(SP1)/Windows Server 2003 操作系统制作的系统增强工具。通过它你可以轻而易举地调节上百个系统设定。 下载地址：http://www.newhua.com/soft/26929.htm CCleaner    一款免费的系统优化工具,通过从你的系统中清除不使用的和临时文件文件,来使你的系统运行的更快。 下载地址：http://www.ccleaner.com/ eXeScope    是一个能够直接编辑可执行文件的资源编辑器。 它能够分析并改写 EXE、DLL、OCX 等文件的资源。而且这是不需要源代码的。 下载地址：http://www.onlinedown.net/soft/9594.htm TheWorld    最强的广告过滤、最快的浏览速度、最小的资源占用,凤凰工作室出品 下载地址：http://www.ioage.com/cn/ VisualTaskTips    可以让你的Windows xp任务栏也拥有像Vista一样的立体窗口效果! 下载地址：http://www.elook.net.cn/2216/52612093216.shtml Defraggler    它是一个轻量级的整理工具,支持NTFS和FAT32,支持Windows Vista系统,程序总大小不超过1MB 下载地址：http://www.crsky.com/soft/12388.html FileTypesMan HEdit KClock myuninst Replacer Regmon Filemon UnLocker 辅臣数据库浏览 Process Viewer ColorConsole cpuz gpuz FileAnalysis xClient super_pi EasyWebServer HD Tune ……]]></description>
			<content:encoded><![CDATA[<ol>
<li>TweakUI    是微软公司为 Windows XP(SP1)/Windows Server 2003 操作系统制作的系统增强工具。通过它你可以轻而易举地调节上百个系统设定。<br />
下载地址：<a href="http://www.newhua.com/soft/26929.htm">http://www.newhua.com/soft/26929.htm</a></li>
<li>CCleaner    一款免费的系统优化工具,通过从你的系统中清除不使用的和临时文件文件,来使你的系统运行的更快。<br />
下载地址：<a href="http://www.ccleaner.com/">http://www.ccleaner.com/</a></li>
<li>eXeScope    是一个能够直接编辑可执行文件的资源编辑器。 它能够分析并改写 EXE、DLL、OCX 等文件的资源。而且这是不需要源代码的。<br />
下载地址：<a href="http://www.onlinedown.net/soft/9594.htm">http://www.onlinedown.net/soft/9594.htm</a></li>
<li>TheWorld    最强的广告过滤、最快的浏览速度、最小的资源占用,凤凰工作室出品<br />
下载地址：<a href="http://www.ioage.com/cn/">http://www.ioage.com/cn/</a></li>
<li>VisualTaskTips    可以让你的Windows xp任务栏也拥有像Vista一样的立体窗口效果!<br />
下载地址：<a href="http://www.elook.net.cn/2216/52612093216.shtml">http://www.elook.net.cn/2216/52612093216.shtml</a></li>
<li>Defraggler    它是一个轻量级的整理工具,支持NTFS和FAT32,支持Windows Vista系统,程序总大小不超过1MB<br />
下载地址：<a href="http://www.crsky.com/soft/12388.html">http://www.crsky.com/soft/12388.html</a><br />
<span id="more-103"></span></li>
<li>FileTypesMan</li>
<li>HEdit</li>
<li>KClock</li>
<li>myuninst</li>
<li>Replacer</li>
<li>Regmon</li>
<li>Filemon</li>
<li>UnLocker</li>
<li>辅臣数据库浏览</li>
<li>Process Viewer</li>
<li>ColorConsole</li>
<li>cpuz</li>
<li>gpuz</li>
<li>FileAnalysis</li>
<li>xClient</li>
<li>super_pi</li>
<li>EasyWebServer</li>
<li>HD Tune</li>
<li>……</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=103</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>MTK手机音乐列表管理工具</title>
		<link>http://www.shuax.com/?p=59</link>
		<comments>http://www.shuax.com/?p=59#comments</comments>
		<pubDate>Fri, 14 Aug 2009 23:24:57 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[C/C++]]></category>
		<category><![CDATA[原创软件]]></category>
		<category><![CDATA[原创]]></category>
		<category><![CDATA[手机]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=59</guid>
		<description><![CDATA[  下载地址：音乐列表管理工具 更新信息: date:2009-7-21 author:SUNGJIRA 1、界面修改为半透明 2、采用多线程，避免界面假死 手机音乐列表管理工具 使用说明 一、软件安装 　　下载软件最新版本&#8221;手机音乐列表管理工具.rar&#8221;后，直接将此文件解压到任意目录。 　　其中包含文件：　手机音乐列表管理工具.exe　　主程序 二、使用条件 　　程序&#8221;手机音乐列表管理工具.exe&#8221;只能在电脑上运行，手机无法使用。 　　使用时必须连接手机，并选择“U盘功能”。 　　将手机的自动更新列表选项关闭，否则无法获得效果。 三、软件功能 　　双击&#8221;手机音乐列表管理工具.exe&#8221;运行软件。 　　软件运行后，会自动搜索手机位置。 　　操作详细说明： 　　 1、手动调整　　会自动打开记事本，里面的文字即为你手机中的音乐列表，编辑时，建议直接一行一行的交换。 　　 2、随机乱序　　因为手机的随机播放不是太好，所以添加此功能打乱列表的顺序，建议关闭手机的随机播放选项。 　　 3、顺序排列　　如果你已经厌倦了随机播放，想要恢复正常的列表顺序，那就用这个功能。 　　 4、查看列表　　不用我多说了吧。 四、版权说明 　　1、手机音乐列表管理工具的作者是舒俊杰 　　2、如软件改变或其它原因造成本说明失效，本作者不负任何责任。]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-57" title="mtk" src="http://www.shuax.com/wp-content/uploads/2009/08/mtk.gif" alt="mtk" width="519" height="285" /></p>
<p> </p>
<p>下载地址：<a href="http://www.shuax.com/wp-content/uploads/2009/08/MTK.rar">音乐列表管理工具</a></p>
<p><strong><span style="font-size: medium;"><span style="color: #ff0099;">更新信息:<br />
</span></span></strong>date:2009-7-21 author:SUNGJIRA<br />
1、界面修改为半透明<br />
2、采用多线程，避免界面假死</p>
<p><span id="more-59"></span></p>
<p><span style="font-size: x-large;"><span style="color: #330033;">手机音乐列表管理工具 使用说明</span></span><br />
<strong><span style="color: #000000;"><br />
一、软件安装</span></strong><br />
　　下载软件最新版本&#8221;手机音乐列表管理工具.rar&#8221;后，直接将此文件解压到任意目录。<br />
　　其中包含文件：　手机音乐列表管理工具.exe　　主程序<br />
<strong><span style="color: #000000;"><br />
二、使用条件</span></strong><br />
　　程序&#8221;手机音乐列表管理工具.exe&#8221;只能在电脑上运行，手机无法使用。<br />
　　使用时必须连接手机，并选择“U盘功能”。<br />
　　将手机的自动更新列表选项关闭，否则无法获得效果。<br />
<strong><span style="color: #000000;"><br />
三、软件功能</span></strong><br />
　　双击&#8221;手机音乐列表管理工具.exe&#8221;运行软件。<br />
　　软件运行后，会自动搜索手机位置。</p>
<p><span style="font-size: small;"><span style="color: #4444aa;">　　操作详细说明：</span></span><br />
　　 <strong>1、手动调整</strong>　　会自动打开记事本，里面的文字即为你手机中的音乐列表，编辑时，建议直接一行一行的交换。<br />
　　 <strong>2、随机乱序</strong>　　因为手机的随机播放不是太好，所以添加此功能打乱列表的顺序，建议关闭手机的随机播放选项。<br />
　　 <strong>3、顺序排列</strong>　　如果你已经厌倦了随机播放，想要恢复正常的列表顺序，那就用这个功能。<br />
　　 <strong>4、查看列表</strong>　　不用我多说了吧。<br />
<strong><br />
<span style="color: #000000;">四、版权说明</span></strong><br />
　　1、手机音乐列表管理工具的作者是舒俊杰<br />
　　2、如软件改变或其它原因造成本说明失效，本作者不负任何责任。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=59</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>获取CPU实时使用率</title>
		<link>http://www.shuax.com/?p=51</link>
		<comments>http://www.shuax.com/?p=51#comments</comments>
		<pubDate>Thu, 13 Aug 2009 23:02:11 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[C/C++]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[VC]]></category>
		<category><![CDATA[代码]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=51</guid>
		<description><![CDATA[通过读取两次的CPU占用之差，获得使用率。 因此需要延时1秒才能有结果。 #include &#60;windows.h&#62; #include &#60;conio.h&#62; #include &#60;stdio.h&#62; &#160; #define SystemBasicInformation 0 #define SystemPerformanceInformation 2 #define SystemTimeInformation 3 &#160; #define Li2Double(x) ((double)((x).HighPart) * 4.294967296E9 + (double)((x).LowPart)) &#160; typedef struct &#123;     DWORD dwUnknown1;     ULONG uKeMaximumIncrement;     ULONG uPageSize;     ULONG uMmNumberOfPhysicalPages;     ULONG uMmLowestPhysicalPage;     ULONG uMmHighestPhysicalPage;     ULONG uAllocationGranularity;     PVOID pLowestUserAddress;    ]]></description>
			<content:encoded><![CDATA[<p>通过读取两次的CPU占用之差，获得使用率。<br />
因此需要延时1秒才能有结果。<br />
<span id="more-51"></span></p>

<div class="wp_codebox"><table><tr id="p51246"><td class="code" id="p51code246"><pre class="cpp" style="font-family:monospace;"><span style="color: #339900;">#include &lt;windows.h&gt;</span>
<span style="color: #339900;">#include &lt;conio.h&gt;</span>
<span style="color: #339900;">#include &lt;stdio.h&gt;</span>
&nbsp;
<span style="color: #339900;">#define SystemBasicInformation 0</span>
<span style="color: #339900;">#define SystemPerformanceInformation 2</span>
<span style="color: #339900;">#define SystemTimeInformation 3</span>
&nbsp;
<span style="color: #339900;">#define Li2Double(x) ((double)((x).HighPart) * 4.294967296E9 + (double)((x).LowPart))</span>
&nbsp;
<span style="color: #0000ff;">typedef</span> <span style="color: #0000ff;">struct</span>
<span style="color: #008000;">&#123;</span>
    DWORD dwUnknown1<span style="color: #008080;">;</span>
    ULONG uKeMaximumIncrement<span style="color: #008080;">;</span>
    ULONG uPageSize<span style="color: #008080;">;</span>
    ULONG uMmNumberOfPhysicalPages<span style="color: #008080;">;</span>
    ULONG uMmLowestPhysicalPage<span style="color: #008080;">;</span>
    ULONG uMmHighestPhysicalPage<span style="color: #008080;">;</span>
    ULONG uAllocationGranularity<span style="color: #008080;">;</span>
    PVOID pLowestUserAddress<span style="color: #008080;">;</span>
    PVOID pMmHighestUserAddress<span style="color: #008080;">;</span>
    ULONG uKeActiveProcessors<span style="color: #008080;">;</span>
    BYTE bKeNumberProcessors<span style="color: #008080;">;</span>
    BYTE bUnknown2<span style="color: #008080;">;</span>
    WORD wUnknown3<span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
SYSTEM_BASIC_INFORMATION<span style="color: #008080;">;</span>
&nbsp;
<span style="color: #0000ff;">typedef</span> <span style="color: #0000ff;">struct</span>
<span style="color: #008000;">&#123;</span>
    LARGE_INTEGER liIdleTime<span style="color: #008080;">;</span>
    DWORD dwSpare<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">76</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
SYSTEM_PERFORMANCE_INFORMATION<span style="color: #008080;">;</span>
&nbsp;
<span style="color: #0000ff;">typedef</span> <span style="color: #0000ff;">struct</span>
<span style="color: #008000;">&#123;</span>
    LARGE_INTEGER liKeBootTime<span style="color: #008080;">;</span>
    LARGE_INTEGER liKeSystemTime<span style="color: #008080;">;</span>
    LARGE_INTEGER liExpTimeZoneBias<span style="color: #008080;">;</span>
    ULONG uCurrentTimeZoneId<span style="color: #008080;">;</span>
    DWORD dwReserved<span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
SYSTEM_TIME_INFORMATION<span style="color: #008080;">;</span>
&nbsp;
<span style="color: #0000ff;">typedef</span> LONG <span style="color: #008000;">&#40;</span>WINAPI <span style="color: #000040;">*</span>PROCNTQSI<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#40;</span>UINT, PVOID, ULONG, PULONG<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
&nbsp;
PROCNTQSI NtQuerySystemInformation<span style="color: #008080;">;</span>
&nbsp;
<span style="color: #0000ff;">int</span> main<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">void</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
    SYSTEM_PERFORMANCE_INFORMATION SysPerfInfo<span style="color: #008080;">;</span>
    SYSTEM_TIME_INFORMATION SysTimeInfo<span style="color: #008080;">;</span>
    SYSTEM_BASIC_INFORMATION SysBaseInfo<span style="color: #008080;">;</span>
    <span style="color: #0000ff;">double</span> dbIdleTime<span style="color: #008080;">;</span>
    <span style="color: #0000ff;">double</span> dbSystemTime<span style="color: #008080;">;</span>
    LONG status<span style="color: #008080;">;</span>
    LARGE_INTEGER liOldIdleTime <span style="color: #000080;">=</span> <span style="color: #008000;">&#123;</span><span style="color: #0000dd;">0</span>, <span style="color: #0000dd;">0</span><span style="color: #008000;">&#125;</span><span style="color: #008080;">;</span>
    LARGE_INTEGER liOldSystemTime <span style="color: #000080;">=</span> <span style="color: #008000;">&#123;</span><span style="color: #0000dd;">0</span>, <span style="color: #0000dd;">0</span><span style="color: #008000;">&#125;</span><span style="color: #008080;">;</span>
&nbsp;
    NtQuerySystemInformation <span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span>PROCNTQSI<span style="color: #008000;">&#41;</span>GetProcAddress<span style="color: #008000;">&#40;</span>GetModuleHandle<span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;ntdll&quot;</span><span style="color: #008000;">&#41;</span>, <span style="color: #FF0000;">&quot;NtQuerySystemInformation&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
&nbsp;
    <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span><span style="color: #000040;">!</span>NtQuerySystemInformation<span style="color: #008000;">&#41;</span>
        <span style="color: #0000ff;">return</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
&nbsp;
    <span style="color: #666666;">// get number of processors in the system</span>
    status <span style="color: #000080;">=</span> NtQuerySystemInformation<span style="color: #008000;">&#40;</span>SystemBasicInformation, <span style="color: #000040;">&amp;</span>SysBaseInfo, <span style="color: #0000dd;">sizeof</span><span style="color: #008000;">&#40;</span>SysBaseInfo<span style="color: #008000;">&#41;</span>, <span style="color: #0000ff;">NULL</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>status <span style="color: #000040;">!</span><span style="color: #000080;">=</span> NO_ERROR<span style="color: #008000;">&#41;</span>
        <span style="color: #0000ff;">return</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
&nbsp;
    <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;CPU 使用率 (按任意键退出): <span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #0000ff;">while</span> <span style="color: #008000;">&#40;</span><span style="color: #000040;">!</span>_kbhit<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span>
    <span style="color: #008000;">&#123;</span>
        <span style="color: #666666;">// get new system time</span>
        status <span style="color: #000080;">=</span> NtQuerySystemInformation<span style="color: #008000;">&#40;</span>SystemTimeInformation, <span style="color: #000040;">&amp;</span>SysTimeInfo, <span style="color: #0000dd;">sizeof</span><span style="color: #008000;">&#40;</span>SysTimeInfo<span style="color: #008000;">&#41;</span>, <span style="color: #0000dd;">0</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
        <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>status <span style="color: #000040;">!</span><span style="color: #000080;">=</span> NO_ERROR<span style="color: #008000;">&#41;</span>
            <span style="color: #0000ff;">return</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
&nbsp;
        <span style="color: #666666;">// get new CPU's idle time</span>
        status <span style="color: #000080;">=</span> NtQuerySystemInformation<span style="color: #008000;">&#40;</span>SystemPerformanceInformation, <span style="color: #000040;">&amp;</span>SysPerfInfo, <span style="color: #0000dd;">sizeof</span><span style="color: #008000;">&#40;</span>SysPerfInfo<span style="color: #008000;">&#41;</span>, <span style="color: #0000ff;">NULL</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
        <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>status <span style="color: #000040;">!</span><span style="color: #000080;">=</span> NO_ERROR<span style="color: #008000;">&#41;</span>
            <span style="color: #0000ff;">return</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
&nbsp;
        <span style="color: #666666;">// if it's a first call - skip it</span>
        <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>liOldIdleTime.<span style="color: #007788;">QuadPart</span> <span style="color: #000040;">!</span><span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            <span style="color: #666666;">// CurrentValue = NewValue - OldValue</span>
            dbIdleTime <span style="color: #000080;">=</span> Li2Double<span style="color: #008000;">&#40;</span>SysPerfInfo.<span style="color: #007788;">liIdleTime</span><span style="color: #008000;">&#41;</span> <span style="color: #000040;">-</span> Li2Double<span style="color: #008000;">&#40;</span>liOldIdleTime<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
            dbSystemTime <span style="color: #000080;">=</span> Li2Double<span style="color: #008000;">&#40;</span>SysTimeInfo.<span style="color: #007788;">liKeSystemTime</span><span style="color: #008000;">&#41;</span> <span style="color: #000040;">-</span>
&nbsp;
                    Li2Double<span style="color: #008000;">&#40;</span>liOldSystemTime<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
&nbsp;
            <span style="color: #666666;">// CurrentCpuIdle = IdleTime / SystemTime</span>
            dbIdleTime <span style="color: #000080;">=</span> dbIdleTime <span style="color: #000040;">/</span> dbSystemTime<span style="color: #008080;">;</span>
&nbsp;
            <span style="color: #666666;">// CurrentCpuUsage% = 100 - (CurrentCpuIdle * 100) / NumberOfProcessors</span>
            dbIdleTime <span style="color: #000080;">=</span> <span style="color:#800080;">100.0</span> <span style="color: #000040;">-</span> dbIdleTime <span style="color: #000040;">*</span> <span style="color:#800080;">100.0</span> <span style="color: #000040;">/</span>
&nbsp;
                    <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">double</span><span style="color: #008000;">&#41;</span>SysBaseInfo.<span style="color: #007788;">bKeNumberProcessors</span> <span style="color: #000040;">+</span> <span style="color:#800080;">0.5</span><span style="color: #008080;">;</span>
&nbsp;
            <span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;<span style="color: #000099; font-weight: bold;">\b</span><span style="color: #000099; font-weight: bold;">\b</span><span style="color: #000099; font-weight: bold;">\b</span>%02d%%&quot;</span>, <span style="color: #008000;">&#40;</span>UINT<span style="color: #008000;">&#41;</span>dbIdleTime<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
        <span style="color: #008000;">&#125;</span>
&nbsp;
        <span style="color: #666666;">// store new CPU's idle and system time</span>
        liOldIdleTime <span style="color: #000080;">=</span> SysPerfInfo.<span style="color: #007788;">liIdleTime</span><span style="color: #008080;">;</span>
        liOldSystemTime <span style="color: #000080;">=</span> SysTimeInfo.<span style="color: #007788;">liKeSystemTime</span><span style="color: #008080;">;</span>
&nbsp;
        <span style="color: #666666;">// wait one second</span>
        Sleep<span style="color: #008000;">&#40;</span><span style="color: #0000dd;">1000</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #666666;">//已测试，确实能工作。就是需要延迟1秒。</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=51</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>获得系统主音量大小</title>
		<link>http://www.shuax.com/?p=49</link>
		<comments>http://www.shuax.com/?p=49#comments</comments>
		<pubDate>Thu, 13 Aug 2009 08:20:13 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[C/C++]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[代码]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=49</guid>
		<description><![CDATA[int GetVolume&#40;&#41; &#123;     HMIXER hMixer;     MIXERLINE mxl;     MIXERLINECONTROLS mxlc;     MIXERCONTROL mxc;     mixerOpen&#40;&#38;hMixer, 0, 0, 0, 0&#41;;     ZeroMemory&#40;&#38;mxl, sizeof&#40;MIXERLINE&#41;&#41;;     mxl.cbStruct = sizeof&#40;MIXERLINE&#41;;     mxl.dwComponentType = MIXERLINE_COMPONENTTYPE_DST_SPEAKERS;     mixerGetLineInfo&#40;&#40;HMIXEROBJ&#41;hMixer, &#38;mxl, MIXER_GETLINEINFOF_COMPONENTTYPE&#41;;     ZeroMemory&#40;&#38;mxc, sizeof&#40;MIXERCONTROL&#41;&#41;;     mxc.cbStruct = sizeof&#40;mxc&#41;;     ZeroMemory&#40;&#38;mxlc, sizeof&#40;MIXERLINECONTROLS&#41;&#41;;     mxlc.cbStruct = sizeof&#40;mxlc&#41;;     mxlc.dwLineID = mxl.dwLineID;    ]]></description>
			<content:encoded><![CDATA[
<div class="wp_codebox"><table><tr id="p49248"><td class="code" id="p49code248"><pre class="c" style="font-family:monospace;"><span style="color: #993333;">int</span> GetVolume<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
    HMIXER hMixer<span style="color: #339933;">;</span>
    MIXERLINE mxl<span style="color: #339933;">;</span>
    MIXERLINECONTROLS mxlc<span style="color: #339933;">;</span>
    MIXERCONTROL mxc<span style="color: #339933;">;</span>
    mixerOpen<span style="color: #009900;">&#40;</span><span style="color: #339933;">&amp;</span>hMixer<span style="color: #339933;">,</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    ZeroMemory<span style="color: #009900;">&#40;</span><span style="color: #339933;">&amp;</span>mxl<span style="color: #339933;">,</span> <span style="color: #993333;">sizeof</span><span style="color: #009900;">&#40;</span>MIXERLINE<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    mxl.<span style="color: #202020;">cbStruct</span> <span style="color: #339933;">=</span> <span style="color: #993333;">sizeof</span><span style="color: #009900;">&#40;</span>MIXERLINE<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    mxl.<span style="color: #202020;">dwComponentType</span> <span style="color: #339933;">=</span> MIXERLINE_COMPONENTTYPE_DST_SPEAKERS<span style="color: #339933;">;</span>
    mixerGetLineInfo<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>HMIXEROBJ<span style="color: #009900;">&#41;</span>hMixer<span style="color: #339933;">,</span> <span style="color: #339933;">&amp;</span>mxl<span style="color: #339933;">,</span> MIXER_GETLINEINFOF_COMPONENTTYPE<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    ZeroMemory<span style="color: #009900;">&#40;</span><span style="color: #339933;">&amp;</span>mxc<span style="color: #339933;">,</span> <span style="color: #993333;">sizeof</span><span style="color: #009900;">&#40;</span>MIXERCONTROL<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    mxc.<span style="color: #202020;">cbStruct</span> <span style="color: #339933;">=</span> <span style="color: #993333;">sizeof</span><span style="color: #009900;">&#40;</span>mxc<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    ZeroMemory<span style="color: #009900;">&#40;</span><span style="color: #339933;">&amp;</span>mxlc<span style="color: #339933;">,</span> <span style="color: #993333;">sizeof</span><span style="color: #009900;">&#40;</span>MIXERLINECONTROLS<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    mxlc.<span style="color: #202020;">cbStruct</span> <span style="color: #339933;">=</span> <span style="color: #993333;">sizeof</span><span style="color: #009900;">&#40;</span>mxlc<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    mxlc.<span style="color: #202020;">dwLineID</span> <span style="color: #339933;">=</span> mxl.<span style="color: #202020;">dwLineID</span><span style="color: #339933;">;</span>
    mxlc.<span style="color: #202020;">dwControlType</span> <span style="color: #339933;">=</span> MIXERCONTROL_CONTROLTYPE_VOLUME<span style="color: #339933;">;</span>
    mxlc.<span style="color: #202020;">cControls</span> <span style="color: #339933;">=</span> <span style="color: #0000dd;">1</span><span style="color: #339933;">;</span>
    mxlc.<span style="color: #202020;">pamxctrl</span> <span style="color: #339933;">=</span> <span style="color: #339933;">&amp;</span>mxc<span style="color: #339933;">;</span>
    mxlc.<span style="color: #202020;">cbmxctrl</span> <span style="color: #339933;">=</span> <span style="color: #993333;">sizeof</span><span style="color: #009900;">&#40;</span>mxc<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    mixerGetLineControls<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>HMIXEROBJ<span style="color: #009900;">&#41;</span>hMixer<span style="color: #339933;">,</span> <span style="color: #339933;">&amp;</span>mxlc<span style="color: #339933;">,</span> MIXER_GETLINECONTROLSF_ONEBYTYPE<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    MIXERCONTROLDETAILS mxcd<span style="color: #339933;">;</span>
    MIXERCONTROLDETAILS_SIGNED volStruct<span style="color: #339933;">;</span> <span style="color: #339933;">/</span>
    ZeroMemory<span style="color: #009900;">&#40;</span><span style="color: #339933;">&amp;</span>mxcd<span style="color: #339933;">,</span> <span style="color: #993333;">sizeof</span><span style="color: #009900;">&#40;</span>mxcd<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    mxcd.<span style="color: #202020;">cbStruct</span> <span style="color: #339933;">=</span> <span style="color: #993333;">sizeof</span><span style="color: #009900;">&#40;</span>mxcd<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    mxcd.<span style="color: #202020;">dwControlID</span> <span style="color: #339933;">=</span> mxc.<span style="color: #202020;">dwControlID</span><span style="color: #339933;">;</span>
    mxcd.<span style="color: #202020;">paDetails</span> <span style="color: #339933;">=</span> <span style="color: #339933;">&amp;</span>volStruct<span style="color: #339933;">;</span>
    mxcd.<span style="color: #202020;">cbDetails</span> <span style="color: #339933;">=</span> <span style="color: #993333;">sizeof</span><span style="color: #009900;">&#40;</span>volStruct<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    mxcd.<span style="color: #202020;">cChannels</span> <span style="color: #339933;">=</span> <span style="color: #0000dd;">1</span><span style="color: #339933;">;</span>
    mixerGetControlDetails<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>HMIXEROBJ<span style="color: #009900;">&#41;</span>hMixer<span style="color: #339933;">,</span> <span style="color: #339933;">&amp;</span>mxcd<span style="color: #339933;">,</span> MIXER_GETCONTROLDETAILSF_VALUE<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">return</span> volStruct.<span style="color: #202020;">lValue</span><span style="color: #339933;">*</span><span style="color: #0000dd;">100</span><span style="color: #339933;">/</span><span style="color: #0000dd;">65535</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">//舒俊杰 2009.08.13</span></pre></td></tr></table></div>

<p> </p>
<p>到网上搜啊搜啊搜啊搜~~~过滤无数信息之后终于得到了这段代码，我自己去除了错误处理，因为我遇不到错误。</p>
<p>返回值是百分比的数字，程序员不应该用65535来计数。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=49</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>USB Disk Ejector 1.2</title>
		<link>http://www.shuax.com/?p=44</link>
		<comments>http://www.shuax.com/?p=44#comments</comments>
		<pubDate>Thu, 13 Aug 2009 06:29:56 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[汉化软件]]></category>
		<category><![CDATA[汉化]]></category>
		<category><![CDATA[软件]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=44</guid>
		<description><![CDATA[软件介绍： USB Disk Ejector是一款让你快速卸载你的USB设备的小软件，它用来卸载你的USB存储设备。它既可以运行在非可视化的命令行状态，又可以加载它的可视化界面来使用。另外还拥有丰富的设置，比如系统热键控制删除优盘。 我之所以使用它，是因为这个软件比较漂亮，而且还支持热键操作的哦。最近又闲得无聊，所以顺手就汉化了一下。希望你能喜欢。 声明：这个是测试版，如果有什么问题，并不一定是汉化带来的问题。 下载地址： USB Disk Eject汉化版 文件大小：614.2 KB&#12288;文件名称：USB-Disk-Eject.rar]]></description>
			<content:encoded><![CDATA[<p>软件介绍：<br />
USB Disk Ejector是一款让你快速卸载你的USB设备的小软件，它用来卸载你的USB存储设备。它既可以运行在非可视化的命令行状态，又可以加载它的可视化界面来使用。另外还拥有丰富的设置，比如系统热键控制删除优盘。</p>
<p>我之所以使用它，是因为这个软件比较漂亮，而且还支持热键操作的哦。最近又闲得无聊，所以顺手就汉化了一下。希望你能喜欢。</p>
<p>声明：这个是测试版，如果有什么问题，并不一定是汉化带来的问题。</p>
<p>下载地址：<br />
<div class='download-link'>
							<a href='http://www.shuax.com/download.php?file=http://www.shuax.com/wp-content/uploads/2009/08/USB-Disk-Eject.rar'><img alt='Download' class='leftalign' src='http://www.shuax.com/wp-content/plugins/dBeautifier/icons/downloads.png' /></a>
							<h4>
								<a href='http://www.shuax.com/download.php?file=http://www.shuax.com/wp-content/uploads/2009/08/USB-Disk-Eject.rar'>USB Disk Eject汉化版</a>
							</h4><p>文件大小：614.2 KB&#12288;文件名称：USB-Disk-Eject.rar</p>
						</div></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=44</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Universal Extractor</title>
		<link>http://www.shuax.com/?p=37</link>
		<comments>http://www.shuax.com/?p=37#comments</comments>
		<pubDate>Tue, 11 Aug 2009 01:22:24 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[实用软件]]></category>
		<category><![CDATA[实用]]></category>
		<category><![CDATA[小巧]]></category>
		<category><![CDATA[推荐]]></category>
		<category><![CDATA[软件]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=37</guid>
		<description><![CDATA[完全是，居家之必备，什么东西都能解开，至少是比较方便的解包，可惜不能压缩……   正如软件的名称所言，Universal Extractor是一款近乎于万能的文件提取器，支持的文件类型多达40多种。无论是简单的压缩文件如zip、rar、7z，还是软件的安装程序如Inno Setup、InstallShield、Winodws Installer，抑或是一些软盘光盘镜像如IMG、ISO，甚至某些加壳的PE文件都可以使用它将打包在其中的文件提取出来。软件的使用十分方便，只需要指定待提取的文件和目标文件夹，Universal Extractor 会自动分析文件类型并提取完成。通过在资源管理器中使用鼠标右键操作，更是可以一键完成提取。事实上，Universal Extractor 的幕后功臣是一大堆的命令行工具，真正的提取文件工作是由它们完成的（Universal Extractor 本身也支持命令行操作）。Universal Extractor 把众多的命令行工具集中到一起，附以简洁明了的GUI，造就了一款不可多得的优秀软件。 官网打不开了 http://dl.pconline.com.cn/html_2/1/59/id=38251&#38;pn=0.html]]></description>
			<content:encoded><![CDATA[<p>完全是，居家之必备，什么东西都能解开，至少是比较方便的解包，可惜不能压缩……</p>
<p> </p>
<p>正如软件的名称所言，Universal Extractor是一款近乎于万能的文件提取器，支持的文件类型多达40多种。无论是简单的压缩文件如zip、rar、7z，还是软件的安装程序如Inno Setup、InstallShield、Winodws Installer，抑或是一些软盘光盘镜像如IMG、ISO，甚至某些加壳的PE文件都可以使用它将打包在其中的文件提取出来。软件的使用十分方便，只需要指定待提取的文件和目标文件夹，Universal Extractor 会自动分析文件类型并提取完成。通过在资源管理器中使用鼠标右键操作，更是可以一键完成提取。事实上，Universal Extractor 的幕后功臣是一大堆的命令行工具，真正的提取文件工作是由它们完成的（Universal Extractor 本身也支持命令行操作）。Universal Extractor 把众多的命令行工具集中到一起，附以简洁明了的GUI，造就了一款不可多得的优秀软件。</p>
<p>官网打不开了 <a href="http://dl.pconline.com.cn/html_2/1/59/id=38251&amp;pn=0.html">http://dl.pconline.com.cn/html_2/1/59/id=38251&amp;pn=0.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=37</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>AirPlay</title>
		<link>http://www.shuax.com/?p=31</link>
		<comments>http://www.shuax.com/?p=31#comments</comments>
		<pubDate>Tue, 11 Aug 2009 01:09:56 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[实用软件]]></category>
		<category><![CDATA[小巧]]></category>
		<category><![CDATA[推荐]]></category>
		<category><![CDATA[软件]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=31</guid>
		<description><![CDATA[很小，很强大   736KB 不到1MB小身材，绿色软件免安装 原生读取压缩文件（RAR/ZIP） 原生无缝播放支持（压缩状态有效） Pure Music纯音还原技术，还原纯净好声音 自主开发Zion架构图形及音频引擎 歌词支持，及专辑图片显示，支持预览 多种格式，无损音频全兼容（支持内嵌CUE） 支持多种列表格式，目录列表及智能列表 全局快捷键及多媒体键盘支持   官方网站：http://www.podez.com/]]></description>
			<content:encoded><![CDATA[<p>很小，很强大   736KB</p>
<li>不到1MB小身材，绿色软件免安装</li>
<li>原生读取压缩文件（RAR/ZIP）</li>
<li>原生无缝播放支持（压缩状态有效）</li>
<li>Pure Music纯音还原技术，还原纯净好声音</li>
<li>自主开发Zion架构图形及音频引擎</li>
<li>歌词支持，及专辑图片显示，支持预览</li>
<li>多种格式，无损音频全兼容（支持内嵌CUE）</li>
<li>支持多种列表格式，目录列表及智能列表</li>
<li>全局快捷键及多媒体键盘支持</li>
<p> </p>
<p>官方网站：<a href="http://www.podez.com/">http://www.podez.com/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=31</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>C语言版-农历算法</title>
		<link>http://www.shuax.com/?p=20</link>
		<comments>http://www.shuax.com/?p=20#comments</comments>
		<pubDate>Sun, 02 Aug 2009 01:17:11 +0000</pubDate>
		<dc:creator>Mr. Shu</dc:creator>
				<category><![CDATA[C/C++]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[VC]]></category>
		<category><![CDATA[代码]]></category>
		<category><![CDATA[算法]]></category>

		<guid isPermaLink="false">http://www.shuax.com/?p=20</guid>
		<description><![CDATA[这个只是基本的农历算法，另外的节日查询啊，可以自己做的。到网站找一个万年历，改写成C语言的就可以了。 char *GetDayOf&#40;SYSTEMTIME pSt&#41; &#123; const char *cTianGan&#91;&#93; = &#123;&#34;甲&#34;, &#34;乙&#34;, &#34;丙&#34;, &#34;丁&#34;, &#34;戊&#34;, &#34;己&#34;, &#34;庚&#34;, &#34;辛&#34;, &#34;壬&#34;, &#34;癸&#34;&#125;; const char *cDiZhi&#91;&#93; = &#123;&#34;子&#34;, &#34;丑&#34;, &#34;寅&#34;, &#34;卯&#34;, &#34;辰&#34;, &#34;巳&#34;, &#34;午&#34;, &#34;未&#34;, &#34;申&#34;, &#34;酉&#34;, &#34;戌&#34;, &#34;亥&#34;&#125;; const char *cShuXiang&#91;&#93; = &#123;&#34;鼠&#34;, &#34;牛&#34;, &#34;虎&#34;, &#34;兔&#34;, &#34;龙&#34;, &#34;蛇&#34;, &#34;马&#34;, &#34;羊&#34;, &#34;猴&#34;, &#34;鸡&#34;, &#34;狗&#34;, &#34;猪&#34;&#125;; const char *cDayName&#91;&#93; =]]></description>
			<content:encoded><![CDATA[<p>这个只是基本的农历算法，另外的节日查询啊，可以自己做的。到网站找一个万年历，改写成C语言的就可以了。<br />
<span id="more-20"></span></p>

<div class="wp_codebox"><table><tr id="p20250"><td class="code" id="p20code250"><pre class="c" style="font-family:monospace;"><span style="color: #993333;">char</span> <span style="color: #339933;">*</span>GetDayOf<span style="color: #009900;">&#40;</span>SYSTEMTIME pSt<span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
    <span style="color: #993333;">const</span> <span style="color: #993333;">char</span> <span style="color: #339933;">*</span>cTianGan<span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#123;</span><span style="color: #ff0000;">&quot;甲&quot;</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;乙&quot;</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;丙&quot;</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;丁&quot;</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;戊&quot;</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;己&quot;</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;庚&quot;</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;辛&quot;</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;壬&quot;</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;癸&quot;</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
    <span style="color: #993333;">const</span> <span style="color: #993333;">char</span> <span style="color: #339933;">*</span>cDiZhi<span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#123;</span><span style="color: #ff0000;">&quot;子&quot;</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;丑&quot;</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;寅&quot;</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;卯&quot;</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;辰&quot;</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;巳&quot;</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;午&quot;</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;未&quot;</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;申&quot;</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;酉&quot;</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;戌&quot;</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;亥&quot;</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
    <span style="color: #993333;">const</span> <span style="color: #993333;">char</span> <span style="color: #339933;">*</span>cShuXiang<span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#123;</span><span style="color: #ff0000;">&quot;鼠&quot;</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;牛&quot;</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;虎&quot;</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;兔&quot;</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;龙&quot;</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;蛇&quot;</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;马&quot;</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;羊&quot;</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;猴&quot;</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;鸡&quot;</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;狗&quot;</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;猪&quot;</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
    <span style="color: #993333;">const</span> <span style="color: #993333;">char</span> <span style="color: #339933;">*</span>cDayName<span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#123;</span><span style="color: #ff0000;">&quot;*&quot;</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;初一&quot;</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;初二&quot;</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;初三&quot;</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;初四&quot;</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;初五&quot;</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;初六&quot;</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;初七&quot;</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;初八&quot;</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;初九&quot;</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;初十&quot;</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;十一&quot;</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;十二&quot;</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;十三&quot;</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;十四&quot;</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;十五&quot;</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;十六&quot;</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;十七&quot;</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;十八&quot;</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;十九&quot;</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;二十&quot;</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;廿一&quot;</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;廿二&quot;</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;廿三&quot;</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;廿四&quot;</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;廿五&quot;</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;廿六&quot;</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;廿七&quot;</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;廿八&quot;</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;廿九&quot;</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;三十&quot;</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
    <span style="color: #993333;">const</span> <span style="color: #993333;">char</span> <span style="color: #339933;">*</span>cMonName<span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#123;</span><span style="color: #ff0000;">&quot;*&quot;</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;正&quot;</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;二&quot;</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;三&quot;</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;四&quot;</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;五&quot;</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;六&quot;</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;七&quot;</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;八&quot;</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;九&quot;</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;十&quot;</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;十一&quot;</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;腊&quot;</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #993333;">const</span> <span style="color: #993333;">int</span> wMonthAdd<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">12</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#123;</span><span style="color: #0000dd;">0</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">31</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">59</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">90</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">120</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">151</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">181</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">212</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">243</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">273</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">304</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">334</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #993333;">const</span> <span style="color: #993333;">int</span> wNongliData<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">100</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span>
        <span style="color: #009900;">&#123;</span>
            <span style="color: #0000dd;">2635</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">333387</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">1701</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">1748</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">267701</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">694</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">2391</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">133423</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">1175</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">396438</span>
            <span style="color: #339933;">,</span> <span style="color: #0000dd;">3402</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">3749</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">331177</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">1453</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">694</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">201326</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">2350</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">465197</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">3221</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">3402</span>
            <span style="color: #339933;">,</span> <span style="color: #0000dd;">400202</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">2901</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">1386</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">267611</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">605</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">2349</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">137515</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">2709</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">464533</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">1738</span>
            <span style="color: #339933;">,</span> <span style="color: #0000dd;">2901</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">330421</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">1242</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">2651</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">199255</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">1323</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">529706</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">3733</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">1706</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">398762</span>
            <span style="color: #339933;">,</span> <span style="color: #0000dd;">2741</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">1206</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">267438</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">2647</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">1318</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">204070</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">3477</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">461653</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">1386</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">2413</span>
            <span style="color: #339933;">,</span> <span style="color: #0000dd;">330077</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">1197</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">2637</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">268877</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">3365</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">531109</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">2900</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">2922</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">398042</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">2395</span>
            <span style="color: #339933;">,</span> <span style="color: #0000dd;">1179</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">267415</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">2635</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">661067</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">1701</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">1748</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">398772</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">2742</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">2391</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">330031</span>
            <span style="color: #339933;">,</span> <span style="color: #0000dd;">1175</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">1611</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">200010</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">3749</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">527717</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">1452</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">2742</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">332397</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">2350</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">3222</span>
            <span style="color: #339933;">,</span> <span style="color: #0000dd;">268949</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">3402</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">3493</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">133973</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">1386</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">464219</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">605</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">2349</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">334123</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">2709</span>
            <span style="color: #339933;">,</span> <span style="color: #0000dd;">2890</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">267946</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">2773</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">592565</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">1210</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">2651</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">395863</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">1323</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">2707</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">265877</span>
        <span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
    <span style="color: #993333;">static</span> <span style="color: #993333;">int</span> wCurYear<span style="color: #339933;">,</span> wCurMonth<span style="color: #339933;">,</span> wCurDay<span style="color: #339933;">;</span>
    <span style="color: #993333;">static</span> <span style="color: #993333;">int</span> nTheDate<span style="color: #339933;">,</span> nIsEnd<span style="color: #339933;">,</span> m<span style="color: #339933;">,</span> k<span style="color: #339933;">,</span> n<span style="color: #339933;">,</span> i<span style="color: #339933;">,</span> nBit<span style="color: #339933;">;</span>
    TCHAR szNongli<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">512</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> szNongliDay<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">512</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
&nbsp;
    wCurYear <span style="color: #339933;">=</span> pSt.<span style="color: #202020;">wYear</span><span style="color: #339933;">;</span>
    wCurMonth <span style="color: #339933;">=</span> pSt.<span style="color: #202020;">wMonth</span><span style="color: #339933;">;</span>
    wCurDay <span style="color: #339933;">=</span> pSt.<span style="color: #202020;">wDay</span><span style="color: #339933;">;</span>
&nbsp;
    nTheDate <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span>wCurYear <span style="color: #339933;">-</span> <span style="color: #0000dd;">1921</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">*</span> <span style="color: #0000dd;">365</span> <span style="color: #339933;">+</span> <span style="color: #009900;">&#40;</span>wCurYear <span style="color: #339933;">-</span> <span style="color: #0000dd;">1921</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">/</span> <span style="color: #0000dd;">4</span> <span style="color: #339933;">+</span> wCurDay <span style="color: #339933;">+</span> wMonthAdd<span style="color: #009900;">&#91;</span>wCurMonth <span style="color: #339933;">-</span> <span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">-</span> <span style="color: #0000dd;">38</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #009900;">&#40;</span>wCurYear <span style="color: #339933;">%</span> <span style="color: #0000dd;">4</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #009900;">&#40;</span>wCurMonth <span style="color: #339933;">&gt;</span> <span style="color: #0000dd;">2</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> nTheDate <span style="color: #339933;">=</span> nTheDate <span style="color: #339933;">+</span> <span style="color: #0000dd;">1</span><span style="color: #339933;">;</span>
&nbsp;
    nIsEnd <span style="color: #339933;">=</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">;</span>    m <span style="color: #339933;">=</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #b1b100;">while</span> <span style="color: #009900;">&#40;</span>nIsEnd <span style="color: #339933;">!=</span> <span style="color: #0000dd;">1</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
        <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>wNongliData<span style="color: #009900;">&#91;</span>m<span style="color: #009900;">&#93;</span> <span style="color: #339933;">&lt;</span> <span style="color: #0000dd;">4095</span><span style="color: #009900;">&#41;</span>
            k <span style="color: #339933;">=</span> <span style="color: #0000dd;">11</span><span style="color: #339933;">;</span>
        <span style="color: #b1b100;">else</span>
            k <span style="color: #339933;">=</span> <span style="color: #0000dd;">12</span><span style="color: #339933;">;</span>
        n <span style="color: #339933;">=</span> k<span style="color: #339933;">;</span>
        <span style="color: #b1b100;">while</span> <span style="color: #009900;">&#40;</span>n <span style="color: #339933;">&gt;=</span> <span style="color: #0000dd;">0</span><span style="color: #009900;">&#41;</span>
        <span style="color: #009900;">&#123;</span>
            nBit <span style="color: #339933;">=</span> wNongliData<span style="color: #009900;">&#91;</span>m<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
            <span style="color: #b1b100;">for</span> <span style="color: #009900;">&#40;</span>i <span style="color: #339933;">=</span> <span style="color: #0000dd;">1</span><span style="color: #339933;">;</span>i <span style="color: #339933;">&lt;</span> n <span style="color: #339933;">+</span> <span style="color: #0000dd;">1</span><span style="color: #339933;">;</span>i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span> nBit <span style="color: #339933;">=</span> nBit <span style="color: #339933;">/</span> <span style="color: #0000dd;">2</span><span style="color: #339933;">;</span>
            nBit <span style="color: #339933;">=</span> nBit <span style="color: #339933;">%</span> <span style="color: #0000dd;">2</span><span style="color: #339933;">;</span>
            <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>nTheDate <span style="color: #339933;">&lt;=</span> <span style="color: #009900;">&#40;</span><span style="color: #0000dd;">29</span> <span style="color: #339933;">+</span> nBit<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
            <span style="color: #009900;">&#123;</span>
                nIsEnd <span style="color: #339933;">=</span> <span style="color: #0000dd;">1</span><span style="color: #339933;">;</span>
                <span style="color: #000000; font-weight: bold;">break</span><span style="color: #339933;">;</span>
            <span style="color: #009900;">&#125;</span>
            nTheDate <span style="color: #339933;">=</span> nTheDate <span style="color: #339933;">-</span> <span style="color: #0000dd;">29</span> <span style="color: #339933;">-</span> nBit<span style="color: #339933;">;</span>
            n <span style="color: #339933;">=</span> n <span style="color: #339933;">-</span> <span style="color: #0000dd;">1</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
        <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>nIsEnd<span style="color: #009900;">&#41;</span>    <span style="color: #000000; font-weight: bold;">break</span><span style="color: #339933;">;</span>
        m <span style="color: #339933;">=</span> m <span style="color: #339933;">+</span> <span style="color: #0000dd;">1</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
    wCurYear <span style="color: #339933;">=</span> <span style="color: #0000dd;">1921</span> <span style="color: #339933;">+</span> m<span style="color: #339933;">;</span>
    wCurMonth <span style="color: #339933;">=</span> k <span style="color: #339933;">-</span> n <span style="color: #339933;">+</span> <span style="color: #0000dd;">1</span><span style="color: #339933;">;</span>
    wCurDay <span style="color: #339933;">=</span> nTheDate<span style="color: #339933;">;</span>
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>k <span style="color: #339933;">==</span> <span style="color: #0000dd;">12</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
        <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>wCurMonth <span style="color: #339933;">==</span> wNongliData<span style="color: #009900;">&#91;</span>m<span style="color: #009900;">&#93;</span> <span style="color: #339933;">/</span> <span style="color: #0000dd;">65536</span> <span style="color: #339933;">+</span> <span style="color: #0000dd;">1</span><span style="color: #009900;">&#41;</span>
            wCurMonth <span style="color: #339933;">=</span> <span style="color: #0000dd;">1</span> <span style="color: #339933;">-</span> wCurMonth<span style="color: #339933;">;</span>
        <span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>wCurMonth <span style="color: #339933;">&gt;</span> wNongliData<span style="color: #009900;">&#91;</span>m<span style="color: #009900;">&#93;</span> <span style="color: #339933;">/</span> <span style="color: #0000dd;">65536</span> <span style="color: #339933;">+</span> <span style="color: #0000dd;">1</span><span style="color: #009900;">&#41;</span>
            wCurMonth <span style="color: #339933;">=</span> wCurMonth <span style="color: #339933;">-</span> <span style="color: #0000dd;">1</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
    wsprintf<span style="color: #009900;">&#40;</span>szNongli<span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;%s%s年  (%s年)    &quot;</span><span style="color: #339933;">,</span> cTianGan<span style="color: #009900;">&#91;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>wCurYear <span style="color: #339933;">-</span> <span style="color: #0000dd;">4</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">%</span> <span style="color: #0000dd;">60</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">%</span> <span style="color: #0000dd;">10</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> cDiZhi<span style="color: #009900;">&#91;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>wCurYear <span style="color: #339933;">-</span> <span style="color: #0000dd;">4</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">%</span> <span style="color: #0000dd;">60</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">%</span> <span style="color: #0000dd;">12</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> cShuXiang<span style="color: #009900;">&#91;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>wCurYear <span style="color: #339933;">-</span> <span style="color: #0000dd;">4</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">%</span> <span style="color: #0000dd;">60</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">%</span> <span style="color: #0000dd;">12</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>wCurMonth <span style="color: #339933;">&lt;</span> <span style="color: #0000dd;">1</span><span style="color: #009900;">&#41;</span>
        wsprintf<span style="color: #009900;">&#40;</span>szNongliDay<span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;闰%s月&quot;</span><span style="color: #339933;">,</span> cMonName<span style="color: #009900;">&#91;</span> <span style="color: #339933;">-</span><span style="color: #0000dd;">1</span> <span style="color: #339933;">*</span> wCurMonth<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">else</span> wsprintf<span style="color: #009900;">&#40;</span>szNongliDay<span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;%s月&quot;</span><span style="color: #339933;">,</span> cMonName<span style="color: #009900;">&#91;</span>wCurMonth<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    strcat<span style="color: #009900;">&#40;</span>szNongliDay<span style="color: #339933;">,</span> cDayName<span style="color: #009900;">&#91;</span>wCurDay<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">return</span> strcat<span style="color: #009900;">&#40;</span>szNongli<span style="color: #339933;">,</span> szNongliDay<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://www.shuax.com/?feed=rss2&amp;p=20</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
