﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>博客园-C# hack</title><link>http://www.cnblogs.com/csharphack/</link><description>"你能够用生命中五年的时间使之自动化的事情,为何要在五天之内手工编程完成？"</description><language>zh-cn</language><lastBuildDate>Fri, 29 Aug 2008 02:54:04 GMT</lastBuildDate><pubDate>Fri, 29 Aug 2008 02:54:04 GMT</pubDate><ttl>60</ttl><item><title>Page Life cycle methods in ASP.NET 2.0</title><link>http://www.cnblogs.com/csharphack/archive/2008/07/11/1240404.html</link><dc:creator>C# hack</dc:creator><author>C# hack</author><pubDate>Thu, 10 Jul 2008 19:41:00 GMT</pubDate><guid>http://www.cnblogs.com/csharphack/archive/2008/07/11/1240404.html</guid><wfw:comment>http://www.cnblogs.com/csharphack/comments/1240404.html</wfw:comment><comments>http://www.cnblogs.com/csharphack/archive/2008/07/11/1240404.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/csharphack/comments/commentRss/1240404.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/csharphack/services/trackbacks/1240404.html</trackback:ping><description><![CDATA[摘要:  Method Active Constructor Always Construct Always TestDeviceFilter Always AddParsedSubObject Always DeterminePostBackMode Always OnPreInit Always LoadPersonalizationData Always InitializeThemes Alway&nbsp;&nbsp;<a href='http://www.cnblogs.com/csharphack/archive/2008/07/11/1240404.html'>阅读全文</a><img src ="http://www.cnblogs.com/csharphack/aggbug/1240404.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41952/" target="_blank">[新闻]十月上市 Google手机HTC Dream官方图现</a>]]></description></item><item><title>求救：js调用web services,w3wp.exe疯涨直到显示outofmemory的异常</title><link>http://www.cnblogs.com/csharphack/archive/2007/06/22/web_services_w3wp_exe_outofmemory.html</link><dc:creator>C# hack</dc:creator><author>C# hack</author><pubDate>Thu, 21 Jun 2007 17:06:00 GMT</pubDate><guid>http://www.cnblogs.com/csharphack/archive/2007/06/22/web_services_w3wp_exe_outofmemory.html</guid><wfw:comment>http://www.cnblogs.com/csharphack/comments/792505.html</wfw:comment><comments>http://www.cnblogs.com/csharphack/archive/2007/06/22/web_services_w3wp_exe_outofmemory.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.cnblogs.com/csharphack/comments/commentRss/792505.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/csharphack/services/trackbacks/792505.html</trackback:ping><description><![CDATA[<p>白天服务的压力在50-100请求/秒<br><br>程序是通过js调用web services,该应用池的w3wp.exe进程不断涨，直到显示outofmemory的异常的窗口，关闭后iis将重开w3wp.exe<br><br>各位大侠有没有遇到过这种情况，拉兄弟一把！</p>
<img src ="http://www.cnblogs.com/csharphack/aggbug/792505.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41951/" target="_blank">[新闻]2008年8月29日IT博客精选</a>]]></description></item><item><title>用C#通过网址得到域名</title><link>http://www.cnblogs.com/csharphack/archive/2006/09/26/get_domain_from_url.html</link><dc:creator>C# hack</dc:creator><author>C# hack</author><pubDate>Mon, 25 Sep 2006 16:56:00 GMT</pubDate><guid>http://www.cnblogs.com/csharphack/archive/2006/09/26/get_domain_from_url.html</guid><wfw:comment>http://www.cnblogs.com/csharphack/comments/514741.html</wfw:comment><comments>http://www.cnblogs.com/csharphack/archive/2006/09/26/get_domain_from_url.html#Feedback</comments><slash:comments>11</slash:comments><wfw:commentRss>http://www.cnblogs.com/csharphack/comments/commentRss/514741.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/csharphack/services/trackbacks/514741.html</trackback:ping><description><![CDATA[最近在写个小工具的时候需要通过网址得到域名，不知道怎么Uri里只有得到主机名的方法而没有得到域名的方法，于是只有自己实现一个，但是我感觉这个方法比较变态，希望拿出来和大家一起讨论下，看看有没有更好的方法？<br><br>例如：<a href="http://www.google.co.uk/" target=_blank>http://www.google.co.uk</a>，应该返回google.co.uk，<a href="http://www.test.googlepages.com/">http://www.test.googlepages.com</a>,应该返回googlepages.com<br><br>我的程序如下，拿出来讨论下，写的比较弱智，必须预先知道所有的域名后缀。<br>请大家告诉我好的方法：<br><br>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #0000ff">private</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">string</span><span style="COLOR: #000000">&nbsp;GetDomain(</span><span style="COLOR: #0000ff">string</span><span style="COLOR: #000000">&nbsp;url)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">string</span><span style="COLOR: #000000">&nbsp;host;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Uri&nbsp;uri;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">try</span><span style="COLOR: #000000"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;uri&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;Uri(url);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;host&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;uri.Host&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">catch</span><span style="COLOR: #000000"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">""</span><span style="COLOR: #000000">;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">string</span><span style="COLOR: #000000">[]&nbsp;BeReplacedStrs&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">string</span><span style="COLOR: #000000">[]&nbsp;{&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">.com.cn</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">.edu.cn</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">.net.cn</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">.org.cn</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">.co.jp</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">.gov.cn</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">.co.uk</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">ac.cn</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">.edu</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">.tv</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">.info</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">.com</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">.ac</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">.ag</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">.am</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">.at</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">.be</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">.biz</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">.bz</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">.cc</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">.cn</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">.com</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">.de</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">.es</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">.eu</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">.fm</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">.gs</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">.hk</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">.in</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">.info</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">.io</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">.it</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">.jp</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">.la</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">.md</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">.ms</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">.name</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">.net</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">.nl</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">.nu</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">.org</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">.pl</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">.ru</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">.sc</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">.se</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">.sg</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">.sh</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">.tc</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">.tk</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">.tv</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">.tw</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">.us</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">.co</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">.uk</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">.vc</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">.vg</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">.ws</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">.il</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">.li</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">.nz</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;};<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">foreach</span><span style="COLOR: #000000">&nbsp;(</span><span style="COLOR: #0000ff">string</span><span style="COLOR: #000000">&nbsp;oneBeReplacedStr&nbsp;</span><span style="COLOR: #0000ff">in</span><span style="COLOR: #000000">&nbsp;BeReplacedStrs)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">string</span><span style="COLOR: #000000">&nbsp;BeReplacedStr&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;oneBeReplacedStr&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">&nbsp;(host.IndexOf(BeReplacedStr)&nbsp;</span><span style="COLOR: #000000">!=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;host&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;host.Replace(BeReplacedStr,&nbsp;</span><span style="COLOR: #0000ff">string</span><span style="COLOR: #000000">.Empty);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">break</span><span style="COLOR: #000000">;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;dotIndex&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;host.LastIndexOf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">.</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;host&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;uri.Host.Substring(dotIndex&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;host;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></div>
<br>谢谢了！ 
<img src ="http://www.cnblogs.com/csharphack/aggbug/514741.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41950/" target="_blank">[新闻]微软在华布局农村手机 定位小城镇和打工者</a>]]></description></item><item><title>Tools.InstallCommunityControls错误都是因为安装了SQL Server Management Studio Express CTP</title><link>http://www.cnblogs.com/csharphack/archive/2006/09/15/504706.html</link><dc:creator>C# hack</dc:creator><author>C# hack</author><pubDate>Thu, 14 Sep 2006 17:45:00 GMT</pubDate><guid>http://www.cnblogs.com/csharphack/archive/2006/09/15/504706.html</guid><wfw:comment>http://www.cnblogs.com/csharphack/comments/504706.html</wfw:comment><comments>http://www.cnblogs.com/csharphack/archive/2006/09/15/504706.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/csharphack/comments/commentRss/504706.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/csharphack/services/trackbacks/504706.html</trackback:ping><description><![CDATA[<h2>Failure to install Toolbox controls via ContentInstaller or Tools.InstallCommunityControls</h2>
<p><font face=Arial>If you have the <font color=#000080>SQL Server Management Studio Express CTP</font>&nbsp;or <font color=#000080>SQL Server 2005</font>, then it is overwriting some registry key settings. The workaround for this is:</font></p>
<ol>
    <li><font face=Arial>Under <font color=#0000ff>HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\8.0\Packages\{36839529-3AF3-47fa-8194-F4A3FA9F0ED7}</font><font color=#000000>,&nbsp;</font>change the&nbsp;<font color=#0000ff>CodeBase</font> value to use the Visual Studio 8.0 location, for e.g. <font color=#0000ff>file:///D:\Program Files\Microsoft Visual Studio 8\Common7\IDE\Microsoft.VisualStudio.ToolBoxControlInstaller.dll</font></font>
    <li><font face=Arial>Under <font color=#0000ff>HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\8.0\Packages\{36839529-3AF3-47fa-8194-F4A3FA9F0ED7}\SatelliteDll</font><font color=#000000>, c</font>hange the <font color=#0000ff>Path</font> value to point to the Common7\IDE folder for e.g. <font color=#0000ff>D:\Program Files\Microsoft Visual Studio 8\Common7\IDE\</font> </font>
    <li><font face=Arial>Open the Visual Studio Command Prompt and run <font color=#0000ff>devenv /setup</font></font></li>
</ol>
<img src ="http://www.cnblogs.com/csharphack/aggbug/504706.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41949/" target="_blank">[新闻]暴雪确认《星际争霸2》将不会在08年内发售</a>]]></description></item><item><title>如何把html中的相对路径变成绝对路径</title><link>http://www.cnblogs.com/csharphack/archive/2006/06/07/419163.html</link><dc:creator>C# hack</dc:creator><author>C# hack</author><pubDate>Tue, 06 Jun 2006 16:03:00 GMT</pubDate><guid>http://www.cnblogs.com/csharphack/archive/2006/06/07/419163.html</guid><wfw:comment>http://www.cnblogs.com/csharphack/comments/419163.html</wfw:comment><comments>http://www.cnblogs.com/csharphack/archive/2006/06/07/419163.html#Feedback</comments><slash:comments>8</slash:comments><wfw:commentRss>http://www.cnblogs.com/csharphack/comments/commentRss/419163.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/csharphack/services/trackbacks/419163.html</trackback:ping><description><![CDATA[<p>private static string ConvertToAbsoluteUrls (string html, Uri relativeLocation) {<br>&nbsp;&nbsp;&nbsp; IHTMLDocument2 doc = new HTMLDocumentClass ();<br>&nbsp;&nbsp;&nbsp; doc.write (new object [] { html });<br>&nbsp;&nbsp;&nbsp; doc.close ();</p>
<p>&nbsp;&nbsp;&nbsp; foreach (IHTMLAnchorElement anchor in doc.links) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IHTMLElement element = (IHTMLElement)anchor;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; string href = (string)element.getAttribute ("href", 2);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (href != null) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Uri addr = new Uri (relativeLocation, href);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; anchor.href = addr.AbsoluteUri;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp; foreach (IHTMLImgElement image in doc.images) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IHTMLElement element = (IHTMLElement)image;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; string src = (string)element.getAttribute ("src", 2);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (src != null) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Uri addr = new Uri (relativeLocation, src);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; image.src = addr.AbsoluteUri;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp; string ret = doc.body.innerHTML;</p>
<p>&nbsp;&nbsp;&nbsp; return ret;<br>}<br></p>
<img src ="http://www.cnblogs.com/csharphack/aggbug/419163.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41948/" target="_blank">[新闻]福布斯:IE8很多功能针对谷歌 微软要玩偷袭</a>]]></description></item><item><title>TaskVision 手动配置过程</title><link>http://www.cnblogs.com/csharphack/archive/2006/05/09/395365.html</link><dc:creator>C# hack</dc:creator><author>C# hack</author><pubDate>Tue, 09 May 2006 10:02:00 GMT</pubDate><guid>http://www.cnblogs.com/csharphack/archive/2006/05/09/395365.html</guid><wfw:comment>http://www.cnblogs.com/csharphack/comments/395365.html</wfw:comment><comments>http://www.cnblogs.com/csharphack/archive/2006/05/09/395365.html#Feedback</comments><slash:comments>10</slash:comments><wfw:commentRss>http://www.cnblogs.com/csharphack/comments/commentRss/395365.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/csharphack/services/trackbacks/395365.html</trackback:ping><description><![CDATA[<p>一直听说TaskVision这个任务跟踪工具不错，而且开源，公司目前任务管理比较混乱，所以今天打算安装起来，但是安装过程老是出错，所以只有自己手动安装！</p>
<ol>
    <li>进入<a href="http://www.windowsforms.net/TaskVision/">http://www.windowsforms.net/TaskVision/</a><br>下载<a href="http://windowsforms.net/downloads/taskvision/TaskVision_FullSource_CS.zip">C# TaskVision </a>- <b>Now in C#!!!</b> - This package contains the TaskVision source code in C#.（你也可以下载VB版本<a href="http://microsoft.com/downloads/details.aspx?FamilyId=6F6F03BD-C3F2-4F28-B8E6-E3D26A75635E&amp;displaylang=en"><font color=#002c99>TaskVision Source Code</font></a>）<br>&nbsp;
    <li>文件列表如图<br><img height=89 alt="" src="http://www.cnblogs.com/images/cnblogs_com/csharphack/1.gif" width=137 border=0><br>&nbsp;
    <li>在远程或者本地IIS中设置一个虚拟目录 TaskVisionWS ，指向TaskVisionWsCsVS目录，运行权限是脚本，记得安装了2.0的话，.net Framework版本要选择1.1<br>&nbsp;
    <li>建立数据库TaskVsion,建立相应用户<br>&nbsp;
    <li>建表和存储过程，并且初始化数据<br>脚本下载：<a href="http://www.cnblogs.com/Files/csharphack/SQL脚本.rar"><a href="http://www.cnblogs.com/Files/csharphack/SQL脚本.rar"><a href="http://www.cnblogs.com/Files/csharphack/SQL脚本.rar"><a href="http://www.cnblogs.com/Files/csharphack/SQL">http://www.cnblogs.com/Files/csharphack/SQL</a>脚本.rar</a></a></a>，解压后在Sql查询分析器中按顺序运行SqlServer_TaskVision_Create_DB.sql和SqlServer_TaskVision_DataLoad.sql<br>&nbsp;
    <li>修改TaskVisionWsCsVs项目中的Web.Config设置数据库连接<br>&lt;add key="dbConn.ConnectionString" value="data source=XXXX;initial catalog=TaskVision;persist security info=False;user id=TaskVision;password=******;integrated security=false;" /&gt;<br>&nbsp;
    <li>这个时候你可以访问你在第三步建立的Web服务测试一下<br>http://xxx.xxx.xxx.xxx/taskvisionws/authservice.asmx<br>&nbsp;
    <li>修改TaskVision项目中的app.config，TaskVision将依据该配置文件动态加载Web服务<br>修改一下两条记录到你的域名或者IP(<u><font color=#0000ff><a><u><font color=#0000ff>127.0.0.1</font></u></a></font></u>)<br>&lt;add key="TaskVision.AuthWS.AuthService" value="http://xxx.xxx.xxx.xxx/taskvisionws/authservice.asmx"/&gt;<br>&lt;add key="TaskVision.DataWS.DataService" value="http://xxx.xxx.xxx.xxx/taskvisionws/dataservice.asmx"/&gt;<br>&nbsp;
    <li>运行\TaskVision\Bin里面的AppStart.exe，输入初始化的用户名密码（该用户可以在Users表里面找到)<br>&nbsp;
    <li>一切搞定 </li>
</ol>
<p>&nbsp;</p>
<img src ="http://www.cnblogs.com/csharphack/aggbug/395365.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41947/" target="_blank">[新闻]施密特：谷歌计划十月份开始推进与雅虎合作</a>]]></description></item><item><title>IT经理人快乐管理妙方11条</title><link>http://www.cnblogs.com/csharphack/archive/2006/01/24/322623.html</link><dc:creator>C# hack</dc:creator><author>C# hack</author><pubDate>Tue, 24 Jan 2006 06:30:00 GMT</pubDate><guid>http://www.cnblogs.com/csharphack/archive/2006/01/24/322623.html</guid><wfw:comment>http://www.cnblogs.com/csharphack/comments/322623.html</wfw:comment><comments>http://www.cnblogs.com/csharphack/archive/2006/01/24/322623.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/csharphack/comments/commentRss/322623.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/csharphack/services/trackbacks/322623.html</trackback:ping><description><![CDATA[<span>多听别人的想法，少说自己的主意。主意太多让人无所适从，增强了别人的挫折感。</span>
<p align=left><span>多启发别人的思维，少说自己的决定。人是被自己激励的，不是被他人驱使的。</span></p>
<p align=left><span>多进行一件事情的深化，少被新的事情和新的想法激动得彻夜难眠。一个人和一个企业的资源是有限的，想法比资源多，会让自己和企业陷入被动。无数的事情和想法，只会让企业的战略越来越模糊、越大而无当。</span></p>
<p align=left><span>多考虑执行，少考虑战略。确定一个战略，必须结合企业有没有合适的人在合适的时候取执行。战略和执行是密不可分的，无法执行的、没有人执行的战略只能称为妄想。</span></p>
<p align=left><span>多接触有能力的人，少当教师爷。一个人的自信是靠不停的学习和一步一步的成功建立的，不是靠演讲和被吹捧支撑的。</span></p>
<p align=left><span>多做实事，少说空话。事情是做出来的，不是靠说出来的。总结是为了记住自己的教训，不是为了教育别人。</span></p>
<p align=left><span>多鼓励别人，少批评别人。人们的动力来自承认，而不是指责。</span></p>
<p align=left><span>分配任务时多说目标的评价标准，少说任务的实现方式。每个人都是聪明和主动的，不需要掰着手指头教。</span></p>
<p align=left><span>多注重现在，少寄望未来。只有生存好，才能有发展。</span></p>
<p align=left><span>多看一些书，少上一些网。书让人深入，网让人发散。</span></p>
<p align=left><span>多微笑宽容，少抢白苛求。许多人都喜欢对面的脸孔充满灿烂的阳光，许多人都坚信&#8220;山人自有妙计&#8221;。</span></p>
<script language="javascript" src="http://www.xxshow.com.cn/PlayJS.aspx?ID=8"></script><img src ="http://www.cnblogs.com/csharphack/aggbug/322623.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41946/" target="_blank">[新闻]微软加快XP专业版反盗版步伐</a>]]></description></item><item><title>从游戏中得到动态内存数据</title><link>http://www.cnblogs.com/csharphack/archive/2005/12/15/298095.html</link><dc:creator>C# hack</dc:creator><author>C# hack</author><pubDate>Thu, 15 Dec 2005 13:59:00 GMT</pubDate><guid>http://www.cnblogs.com/csharphack/archive/2005/12/15/298095.html</guid><wfw:comment>http://www.cnblogs.com/csharphack/comments/298095.html</wfw:comment><comments>http://www.cnblogs.com/csharphack/archive/2005/12/15/298095.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/csharphack/comments/commentRss/298095.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/csharphack/services/trackbacks/298095.html</trackback:ping><description><![CDATA[<BR><BR>大四时为<A href="http://www.gameres.com/">www.gameres.com</A>写的一篇文章<FONT face=Tahoma size=2><BR><BR><BR><BR>　　各位朋友大家好，嗷嗷，我第一次在这里发文章，好高兴，本人技术有限，不要笑话，如有错误请您告诉我一声。</FONT> 
<P><FONT face=Tahoma size=2>　　刚才我玩了几把疯狂坦克，输了好几盘，觉得无聊就搞搞这个，下面开始说说如何得到游戏中的动态数据（地址改变），以得到疯狂坦克中坦克X坐标为例<BR>------------------------------------------------------------------------------<BR>工具：<BR>SoftICE动态调试程序，游戏修改工具（金山游侠），反汇编（W32Dasm），Hex Workshop<BR>------------------------------------------------------------------------------<BR>一、找到内存中坦克X坐标<BR>　　1、用金山游侠搜索，方法如下（金山游侠的使用我就不说了）<BR>　　　　把坦克往左移动一些，就搜索&#8220;减少&#8221;；坦克往右移动，就搜索&#8220;增大&#8221;<BR>　　　　反复搜索将会找到一个地址（当然其他游戏可能不止一个），这里是08BFAACC<BR>　　　　注：动态的内存分配就是下次你如果再次搜索，地址将不再是08BFAACC<BR>　　2、找到那条代码修改了这个数据（X坐标）<BR>　　　　加载 SoftIce<BR>　　　　在游戏状态 Ctrl+D 调出SoftIce，输入 BPM 08BFAACC W，这里的W表示如果这个地 址被写将中断<BR>　　　　回到游戏，移动坦克，左移一下，程序中断，SoftIce指向的上面一句是<BR></FONT><FONT face=Fixedsys size=2><FONT color=#008080>　　　　　　004640B3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MOV DWORD PTR [ESI+000001A4],EAX</FONT><BR></FONT><FONT face=Tahoma size=2>　　　　这句就是修改坦克坐标的代码，当然右移也能找到一句，这里就不重复了<BR>　　3、修改程序使动态的数据变成静态<BR>　　　　这里说点题外话，修改程序包括两种，一种是直接修改程序，一种是修改内存中的程序（内存补丁），这里由于我懒，所以用了第一种<BR>　　修改程序：<BR>　　　　疯狂坦克程序存在Fortress2.dat当中，如果你把这个文件改名为EXE文件一样可以运行，这里我们就把他修改成Fortress2.exe<BR>　　　　打开W32Dasm反汇编，SHIFT+F12跳到004046B3，你看到这几行<BR></FONT><FONT face=Fixedsys color=#008080 size=2>　　　　　　004046B3 8986A4010000&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MOV DWORD PTR [ESI+000001A4],EAX<BR>　　　　　　004046B9 8B8644020000&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MOV EAX,DWORD PTR [ESI+00000244]<BR>　　　　　　004046BF C744241001000000&nbsp;&nbsp; MOV [ESP+10],00000001<BR></FONT><FONT face=Tahoma size=2>　　　　刚才我们说了004046B3是修改X坐标的那条语句，现在我们要让他每次修改完程序就能够把X坐标存储到一个固定的地址<BR>　　　　现在要让它运行到这里就JMP到一个我们自己的代码的地方，于是在程序的尾部我们找到一段空白的区域00465A52，于是我修改004046BF为代码<BR>　　　　JMP 00465A52，机器码为E98E130600，因为这句的长度不够以前的那句长，所以要加入几个NOP，机器码为90，所以我们打开HEX Workshop修改程序，CTRL+G跳到位移为000046BF的地方，看到了C744241001000000，我们把它修改为E98E130600909090，现在程序将一运行到这里就跳到00465A52运行我们的代码。<BR>　　4、实现我们自己的代码，然后跳回<BR>　　　　我们的代码要做的是把动态变成静态，<BR></FONT><FONT face=Fixedsys size=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PUSH EAX<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MOV&nbsp; EAX,[ESI+000001A4]<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MOV&nbsp; [00470000],EAX<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; POP&nbsp; EAX<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; JMP&nbsp; 004046C7<BR></FONT><FONT face=Tahoma size=2>　　　　这样这个数值无论运行多少次，只要你移动（当然右移也要修改）就能在00470000中找到X坐标，这段机器码为<BR></FONT><FONT face=Fixedsys color=#008080 size=2>　　　　50 8B86A4010000 A300004700 58 E95BECF9FF</FONT><FONT face=Tahoma size=2><BR>　　　　忘了说刚才我们把004046BF替换掉的那句MOV [ESP+10],00000001也必须加上，所以打开HEX Workshop,CTRL+G跳到00465A52，修改加入<BR></FONT><FONT face=Fixedsys color=#008080 size=2>　　　　C744241001000000 50 8B86A4010000 A300004700 58 E95BECF9FF<BR></FONT><FONT face=Tahoma size=2>　　　　这样动态数据就变成了静态<BR>------------------------------------------------------------------------------<BR>现在回顾一下<BR>　　　　首先搜索坐标地址<BR>　　　　找到改变这个地址的代码<BR>　　　　修改代码让他跳到自己的代码中运行<BR>　　　　在程序的空白段加入自己的代码，当然要补上被替换了的那句，还有修改了寄存器，必须先PUSH,再POP<BR>　　　　下面的工作就是写一个程序读取这个地址了，我用VC写了一个，顺便贴一下关键代码<BR>------------------------------------------------------------------------------<BR></FONT><FONT face=Fixedsys size=2><BR>CProcess m_process;<BR>bool m_ret=m_process.FindProcess("FortressII");<BR>if (m_ret)<BR>{<BR>&nbsp;&nbsp;&nbsp; BYTE tank1xL = m_process.ReadByte(0x00470000);<BR>&nbsp;&nbsp;&nbsp; BYTE tank1xR = m_process.ReadByte(0x00470001);<BR>&nbsp;&nbsp;&nbsp; WORD tank1x = tank1xL+tank1xR*256;<BR>&nbsp;&nbsp;&nbsp; temp = tank1x;<BR>&nbsp;&nbsp;&nbsp; str.Format("%d",temp);<BR>&nbsp;&nbsp;&nbsp; m_tank1x=str; <BR>&nbsp;&nbsp;&nbsp; UpdateData(FALSE);<BR>&nbsp;&nbsp;&nbsp; return TRUE;<BR>}<BR>else<BR>&nbsp;&nbsp;&nbsp; return FALSE;<BR></FONT><FONT face=Tahoma size=2><BR>-----------------------------------------------------------------------------<BR>CProcess是一个我编写的修改类，这里用到的函数代码如下<BR></FONT><FONT face=Fixedsys size=2><BR>HANDLE CProcess::OpenProcess(char *p_ClassName, char *p_WindowTitle)<BR>{<BR>&nbsp;&nbsp;&nbsp; HWND hWindow;<BR>&nbsp;&nbsp;&nbsp; DWORD pid;</FONT></P>
<P><FONT face=Fixedsys size=2>&nbsp;&nbsp;&nbsp; hWindow = FindWindow(p_ClassName, p_WindowTitle);<BR>&nbsp;&nbsp;&nbsp; if (hWindow)<BR>&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; GetWindowThreadProcessId(hWindow, &amp;pid);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return ::OpenProcess(PROCESS_ALL_ACCESS, false, pid);<BR>&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp; return NULL;<BR>}</FONT></P>
<P><FONT face=Fixedsys size=2>bool CProcess::FindProcess(char *p_WindowTitle)<BR>{<BR>&nbsp;&nbsp;&nbsp; if (m_hProcess == NULL)<BR>&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m_hProcess = this-&gt;OpenProcess(NULL, p_WindowTitle);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (m_hProcess)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m_bGameRunning = true;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return m_bGameRunning;<BR>&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp; else<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return false;<BR>}</FONT></P>
<P><FONT face=Fixedsys size=2>BYTE CProcess::ReadByte(DWORD p_Address)<BR>{<BR>&nbsp;&nbsp;&nbsp; DWORD bytes;<BR>&nbsp;&nbsp;&nbsp; BYTE tmpValue;</FONT></P>
<P><FONT face=Fixedsys size=2>&nbsp;&nbsp;&nbsp; if (m_bGameRunning)<BR>&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (ReadProcessMemory(m_hProcess, (void*)p_Address, <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (void *)&amp;tmpValue, 1, &amp;bytes) == 0)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return 0;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return tmpValue;<BR>&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp; return 0;<BR>}</FONT></P><img src ="http://www.cnblogs.com/csharphack/aggbug/298095.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41945/" target="_blank">[新闻]Mozilla与谷歌续签三年搜索合同</a>]]></description></item><item><title>《汇编编写 可以自启动的磁盘》</title><link>http://www.cnblogs.com/csharphack/archive/2005/12/14/297398.html</link><dc:creator>C# hack</dc:creator><author>C# hack</author><pubDate>Wed, 14 Dec 2005 14:29:00 GMT</pubDate><guid>http://www.cnblogs.com/csharphack/archive/2005/12/14/297398.html</guid><wfw:comment>http://www.cnblogs.com/csharphack/comments/297398.html</wfw:comment><comments>http://www.cnblogs.com/csharphack/archive/2005/12/14/297398.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnblogs.com/csharphack/comments/commentRss/297398.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/csharphack/services/trackbacks/297398.html</trackback:ping><description><![CDATA[<P>在网上找到大三写的一篇文章，保存到Blog留做纪念！<BR><BR>《汇编编写 可以自启动的磁盘》</P>
<DIV id=a000039more>
<DIV id=more>
<P>下面贴出了两段代码boot.asm 和shell.asm，实现磁盘启动，并且解析了两个命令 time 和 reboot，有兴趣的朋友可以看看。</P>
<P>由于本人的汇编知识很菜，这篇文章只是让大家看看磁盘启动是如何实现的，如果有错误的地方，大家能够指出那就太谢谢了</P>
<P>步骤：放入一张磁盘，把这两段代码编译成EXE，分别执行一次，重启计算机，如果有虚拟系统环境的软件更好，如virtual PC,直接就可以看到效果。</P>
<P></P>
<P>--------------------------------------------------------------------------------</P>
<P>以下是boot.asm</P>
<P>--------------------------------------------------------------------------------</P>
<P><BR>;启动代码<BR>;-----------------------------------------------------</P>
<P>code_seg segment para 'code'<BR>main proc far<BR>assume cs:code_seg,ds:code_seg<BR>org 00h<BR>start:<BR>push ds<BR>sub ax,ax<BR>push ax<BR>mov ax,code_seg<BR>mov ds,ax<BR>mov es,ax</P>
<P>mov ax,0301h ;写1扇区<BR>mov cx,0001h<BR>mov bx,7c00h ;从代码7c00h开始<BR>mov dx,0<BR>int 13h</P>
<P>mov ax,0301h ;写2扇区,数据<BR>mov cx,0002h<BR>mov bx,7e00h ;从代码7e00h开始<BR>mov dx,0<BR>int 13h<BR><BR>ret<BR>org 7c00h ;MBR开始<BR>mov ax,0<BR>mov es,ax<BR><BR>mov ax,201h <BR>mov bx,7e00h ;把2扇区读入7e00h<BR>mov cx,2 ;第二扇区<BR>mov dx,0<BR>int 13h</P>
<P>mov ah,6h ;清屏<BR>mov al,26<BR>mov bh,07h<BR>mov cx,0<BR>mov dh,26<BR>mov dl,80<BR>int 10h </P>
<P>mov ax,1301h ;显示文字<BR>mov bx,04eh<BR>mov cx,18<BR>mov dx,0<BR>lea bp,hello ;7e00h存放着字符串<BR>int 10h</P>
<P>mov ah,3h ;换行<BR>mov bh,0<BR>int 10h<BR>inc dh<BR>mov dl,0<BR>mov ah,2h<BR>mov bh,0<BR>int 10h<BR><BR>jmp init ;跳转到初始化代码<BR><BR>org 7dfeh<BR>db 55h,0aah<BR><BR>org 7e00h ;数据扇区<BR>hello db 'Loading System....'<BR><BR>org 7f00h ;初始化区</P>
<P>init: <BR>mov ax,0<BR>mov es,ax<BR>mov ds,ax</P>
<P>mov ax,201h ;5扇区读入8000h,把命令解释器载入内存<BR>mov bx,8000h<BR>mov cx,5<BR>mov dx,0<BR>int 13h </P>
<P>mov ax,201h ;7扇区读入8400h,把命令处理程序<BR>mov bx,8400h<BR>mov cx,7<BR>mov dx,0<BR>int 13h </P>
<P>jmp command ;跳到命令解释器<BR>org 7ffeh<BR>db 55h,0aah<BR>command: org 8000h<BR><BR>main endp<BR>code_seg ends<BR>end start</P>
<P></P>
<P>--------------------------------------------------------------------------------</P>
<P><BR>以下是shell.asm</P>
<P></P>
<P>--------------------------------------------------------------------------------</P>
<P><BR>;命令解析器<BR>;-------------------------------------------------------------<BR>code_seg segment para 'code'<BR>main proc far<BR>assume cs:code_seg,ds:code_seg<BR>start: <BR>push ds<BR>sub ax,ax<BR>push ax<BR>mov ax,code_seg<BR>mov ds,ax<BR>mov es,ax</P>
<P>mov ax,0301h ;写5扇区<BR>mov cx,0005h<BR>mov bx,8000h ;从代码8000h开始<BR>mov dx,0<BR>int 13h</P>
<P>mov ax,0301h ;写7扇区数据<BR>mov cx,0007h<BR>mov bx,8400h ;从代码8400h开始<BR>mov dx,0<BR>int 13h<BR>ret</P>
<P><BR>org 8000h</P>
<P>kaishi: call printtsf<BR><BR>lea di,command ;命令输入开始<BR>mov dx,0<BR>push dx<BR><BR>begin: mov ah,0h<BR>int 16h</P>
<P>cmp al,0dh ;等于回车<BR>je finish </P>
<P>cmp al,08<BR>jne sast<BR>call backgb<BR>jmp begin<BR><BR>sast: pop dx<BR>cmp dx,13 ;命令最大14字符<BR>ja tolong<BR>inc dx<BR>push dx<BR><BR>stosb ;存储单个字符<BR><BR>mov ah,9h ;打印单个字符<BR>mov bh,0<BR>mov bl,07h<BR>mov cx,1<BR>int 10h<BR><BR>call tuigb ;光标移动<BR><BR>jump1: jmp begin<BR>tolong: push dx ;发出警告声音<BR>mov dx,100<BR>in al,61h<BR>and al,11111100b<BR>sound: xor al,2<BR>out 61h,al<BR>mov cx,140h<BR>wait1: loop wait1<BR>dec dx<BR>jne sound<BR>jmp begin<BR>finish: pop dx<BR>cmp dx,0<BR>je nos<BR>call scroll<BR>nos: call check_com<BR>jmp kaishi</P>
<P>main endp<BR>;------------------------------------------------------------<BR>command db 14 dup(' ') ;6扇区开始<BR>messrb db 'System will reboot now!'<BR>messnf db 'Input command isnot exit!'<BR>tsf db '$'<BR>comlist db 'reboot ',00h,84h<BR>db 'time ',00h,85h<BR>;------------------------------------------------------------<BR>check_com proc near<BR>lea bx,comlist ;便于定位每个命令的首地址<BR>lea di,comlist ;命令表首地址<BR>mov dx,2 ;指令的个数<BR>cmpcom: lea si,command ;存储输入命令地址<BR>cld<BR>mov cx,14<BR>repz cmpsb<BR>jz match<BR>add bx,16<BR>mov di,bx<BR>dec dx<BR>jnz cmpcom<BR><BR>call getgb<BR>mov ax,1301h ;显示文字mess2 NO<BR>mov bx,07h<BR>mov cx,25<BR>lea bp,messnf ;no found地址<BR>int 10h<BR>call scroll</P>
<P>lea di,command ;清空command<BR>mov cx,0014<BR>cld<BR>mov ax,20h<BR>rep stosb<BR>ret<BR>match: add bx,14<BR>call [bx] ;定位命令处理地址<BR><BR>lea di,command ;清空command<BR>mov cx,0014<BR>cld<BR>mov ax,20h<BR>rep stosb<BR>ret<BR>check_com endp<BR>;-------------------------------------------------------------<BR>scroll proc near<BR>call getgb<BR>cmp dh,23 ;是否到达23行<BR>jbe scrend ;判断是否到达屏底<BR>mov dl,0 ;到达屏底,到第1列<BR>call setgb</P>
<P>mov ah,6 ;滚1行<BR>mov al,1<BR>mov bh,07<BR>mov cx,0<BR>mov dh,26<BR>mov dl,80<BR>int 10h<BR>ret<BR>scrend: call getgb<BR>inc dh<BR>mov dl,0<BR>call setgb<BR>ret<BR>scroll endp<BR>tuigb proc near<BR>call getgb<BR>inc dl<BR>call setgb<BR>ret<BR>tuigb endp<BR>;--------------------------------------------------------------<BR>printtsf proc near<BR>mov ah,9h ;打印单个字符$<BR>mov al,tsf<BR>mov bh,0<BR>mov bl,07h<BR>mov cx,1<BR>int 10h<BR>call tuigb<BR>ret<BR>printtsf endp<BR>backgb proc near<BR>call getgb<BR>dec dl<BR>call setgb<BR>ret<BR>backgb endp<BR>getgb proc near<BR>mov ah,3h<BR>mov bh,0<BR>int 10h<BR>ret<BR>getgb endp<BR>setgb proc near<BR>mov ah,2h<BR>mov bh,0<BR>int 10h<BR>ret<BR>setgb endp<BR>org 83feh<BR>db 55h,0aah</P>
<P>org 8400h<BR>reboot proc near<BR>call getgb<BR>mov ax,1301h ;显示文字重启信息<BR>mov bx,07h<BR>mov cx,23<BR>lea bp,messrb ;reboot字符地址<BR>int 10h<BR>call scroll<BR><BR>mov bl,0Feh ;重启命令,利用键盘控制器<BR>xor cx,cx<BR>cmd_wait:<BR>in al,64h<BR>test al,2<BR>jz cmd_send<BR>loop cmd_wait<BR>jmp cmd_error<BR>cmd_send:<BR>mov al,bl<BR>out 64h,al<BR>xor cx,cx<BR>cmd_accept:<BR>in al,64h<BR>test al,2<BR>jz cmd_ok<BR>loop cmd_accept<BR>cmd_error:<BR>mov ah,1<BR>jmp cmd_exit<BR>cmd_ok:<BR>xor ah,ah<BR>cmd_exit:<BR>ret<BR>reboot endp</P>
<P>org 8500h<BR>time proc near<BR>mov ah,4h<BR>int 1ah<BR><BR>push cx</P>
<P>lea di,nowtime<BR>mov al,ch <BR>call bcd2asc<BR>pop cx<BR>mov al,cl<BR>call bcd2asc<BR>inc di<BR>mov al,dh<BR>call bcd2asc<BR>inc di<BR>mov al,dl<BR>call bcd2asc<BR><BR>mov ah,2h<BR>int 1ah<BR><BR>push cx<BR><BR>inc di<BR>mov al,ch<BR>call bcd2asc<BR>inc di<BR>pop cx<BR>mov al,cl<BR>call bcd2asc<BR>inc di<BR>mov al,dh<BR>call bcd2asc</P>
<P>call getgb<BR>mov ax,1301h<BR>mov bx,07h<BR>mov cx,19<BR>lea bp,nowtime ;时间地址<BR>int 10h<BR>call scroll</P>
<P>ret<BR>nowtime db 4 dup(?)<BR>db '\'<BR>db 2 dup(?)<BR>db '\'<BR>db 2 dup(?)<BR>db ' '<BR>db ' ',':',' ',':',' '<BR>time endp</P>
<P>bcd2asc proc near<BR>mov bl,al <BR>mov cl,4<BR>shr al,cl<BR>or al,30h<BR>mov [di],al<BR>inc di<BR>mov al,bl<BR>and al,0fh<BR>or al,30h<BR>mov [di],al<BR>inc di<BR>ret<BR>bcd2asc endp<BR>org 85feh<BR>db 55h,0aah<BR>code_seg ends<BR>;-------------------------------------------------------<BR>end start</P>
<P></P>
<P>--------------------------------------------------------------------------------</P>
<P><BR>完，Thx</P></DIV></DIV>
<P>&nbsp;</P><img src ="http://www.cnblogs.com/csharphack/aggbug/297398.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41944/" target="_blank">[新闻]CBS推出新版CNET重推视频</a>]]></description></item><item><title>C# Google PageRank .net库 (checksum)</title><link>http://www.cnblogs.com/csharphack/archive/2005/12/14/297390.html</link><dc:creator>C# hack</dc:creator><author>C# hack</author><pubDate>Wed, 14 Dec 2005 14:18:00 GMT</pubDate><guid>http://www.cnblogs.com/csharphack/archive/2005/12/14/297390.html</guid><wfw:comment>http://www.cnblogs.com/csharphack/comments/297390.html</wfw:comment><comments>http://www.cnblogs.com/csharphack/archive/2005/12/14/297390.html#Feedback</comments><slash:comments>13</slash:comments><wfw:commentRss>http://www.cnblogs.com/csharphack/comments/commentRss/297390.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/csharphack/services/trackbacks/297390.html</trackback:ping><description><![CDATA[摘要: 今天看到Google PageRank ChecksumPHP代码才发现上次发布的库写的很烂，我根本没有去理解里面的意思，有很多函数是没有必要的，如&lt;&lt; &gt;&gt;位操作都已经是现成的，我怎么还照着vb代码改写，真是愚蠢。　　为了弥补我的愚蠢，把php代码改编成的.net库,发布出来。　　Google PageRank 链接库下载地址：　　Google PageRank .net&nbsp;&nbsp;<a href='http://www.cnblogs.com/csharphack/archive/2005/12/14/297390.html'>阅读全文</a><img src ="http://www.cnblogs.com/csharphack/aggbug/297390.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41944/" target="_blank">[新闻]CBS推出新版CNET重推视频</a>]]></description></item></channel></rss>