<?xml version="1.0" encoding="UTF-8"?>
  <feed xmlns="http://www.w3.org/2005/Atom">
  <title type="html"><![CDATA[21 工作室 - vb]]></title>
  <subtitle type="html"><![CDATA[本站承接网页制作、软件项目开发、代写代码等业务，我们将和您真诚合作，以最低的价格提供最优越的服务。13488846575   联系人:潘劲]]></subtitle>
  <id>http://www.is21.cn/</id> 
  <link rel="alternate" type="text/html" href="http://www.is21.cn/" /> 
  <link rel="self" type="application/atom+xml" href="http://www.is21.cn/atom.asp" /> 
  <generator uri="http://www.pjhome.net/" version="2.4.1022">PJBlog2</generator> 
  <updated>2009-05-15T16:32:00+08:00</updated> 

  <entry>
	  <title type="html"><![CDATA[VBS、ASP代码语法加亮显示的类]]></title>
	  <author>
		 <name>admin</name>
		 <uri>http://www.is21.cn/</uri>
		 <email>lianxiangpanjin@163.com</email>
	  </author>
	  <category term="" scheme="http://www.is21.cn/default.asp?cateID=20" label="vb" /> 
	  <updated>2009-05-15T16:32:00+08:00</updated>
	  <published>2009-05-15T16:32:00+08:00</published>
		  <summary type="html"><![CDATA[&lt;%&nbsp;Class&nbsp;cBuffer&nbsp;<br/>&nbsp;&nbsp;Private&nbsp;objFSO,&nbsp;objFile,&nbsp;objDict&nbsp;<br/>&nbsp;&nbsp;Private&nbsp;m_strPathToFile,&nbsp;m_TableBGColor,&nbsp;m_StartTime&nbsp;<br/>&nbsp;&nbsp;Private&nbsp;m_EndTime,&nbsp;m_LineCount,&nbsp;m_intKeyMin,&nbsp;m_intKeyMax&nbsp;<br/>&nbsp;&nbsp;Private&nbsp;m_CodeColor,&nbsp;m_CommentColor,&nbsp;m_StringColor,&nbsp;m_TabSpaces&nbsp;<br/>&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;Private&nbsp;Sub&nbsp;Class_Initialize()&nbsp;<br/>&nbsp;&nbsp;TableBGColor&nbsp;=&nbsp;&#34;white&#34;&nbsp;<br/>&nbsp;&nbsp;CodeColor&nbsp;=&nbsp;&#34;Blue&#34;&nbsp;<br/>&nbsp;&nbsp;CommentColor&nbsp;=&nbsp;&#34;Green&#34;&nbsp;<br/>&nbsp;&nbsp;StringColor&nbsp;=&nbsp;&#34;Gray&#34;&nbsp;<br/>&nbsp;&nbsp;TabSpaces&nbsp;=&nbsp;&#34;&nbsp;&#34;&nbsp;<br/>&nbsp;&nbsp;PathToFile&nbsp;=&nbsp;&#34;&#34;&nbsp;<br/>&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;m_StartTime&nbsp;=&nbsp;0&nbsp;<br/>&nbsp;&nbsp;m_EndTime&nbsp;=&nbsp;0&nbsp;<br/>&nbsp;&nbsp;m_LineCount&nbsp;=&nbsp;0&nbsp;<br/>&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;KeyMin&nbsp;=&nbsp;2&nbsp;<br/>&nbsp;&nbsp;KeyMax&nbsp;=&nbsp;8&nbsp;<br/>&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;Set&nbsp;objDict&nbsp;=&nbsp;server.Cr&#101;ateObject(&#34;Scripting.Dictionary&#34;)&nbsp;<br/>&nbsp;&nbsp;objDict.CompareMode&nbsp;=&nbsp;1&nbsp;<br/>&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;Cr&#101;ateKeywords&nbsp;<br/>&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;Set&nbsp;objFSO&nbsp;=&nbsp;server.Cr&#101;ateObject(&#34;Scripting.FileSystemObject&#34;)&nbsp;<br/>&nbsp;&nbsp;End&nbsp;Sub&nbsp;<br/>&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;Private&nbsp;Sub&nbsp;Class_Terminate()&nbsp;<br/>&nbsp;&nbsp;Set&nbsp;objDict&nbsp;=&nbsp;Nothing&nbsp;<br/>&nbsp;&nbsp;Set&nbsp;objFSO&nbsp;=&nbsp;Nothing&nbsp;<br/>&nbsp;&nbsp;End&nbsp;Sub&nbsp;<br/>&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;Public&nbsp;Property&nbsp;Let&nbsp;CodeColor(inColor)&nbsp;<br/>&nbsp;&nbsp;m_CodeColor&nbsp;=&nbsp;&#34;&lt;font&nbsp;color=&#34;&nbsp;&amp;&nbsp;inColor&nbsp;&amp;&nbsp;&#34;&gt;&lt;Strong&gt;&#34;&nbsp;<br/>&nbsp;&nbsp;End&nbsp;Property&nbsp;<br/>&nbsp;&nbsp;Private&nbsp;Property&nbsp;Get&nbsp;CodeColor()&nbsp;<br/>&nbsp;&nbsp;CodeColor&nbsp;=&nbsp;m_CodeColor&nbsp;<br/>&nbsp;&nbsp;End&nbsp;Property&nbsp;<br/>&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;Public&nbsp;Property&nbsp;Let&nbsp;CommentColor(inColor)&nbsp;<br/>&nbsp;&nbsp;m_CommentColor&nbsp;=&nbsp;&#34;&lt;font&nbsp;color=&#34;&nbsp;&amp;&nbsp;inColor&nbsp;&amp;&nbsp;&#34;&gt;&#34;&nbsp;<br/>&nbsp;&nbsp;End&nbsp;Property&nbsp;<br/>&nbsp;&nbsp;Private&nbsp;Property&nbsp;Get&nbsp;CommentColor()&nbsp;<br/>&nbsp;&nbsp;CommentColor&nbsp;=&nbsp;m_CommentColor&nbsp;<br/>&nbsp;&nbsp;End&nbsp;Property&nbsp;<br/>&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;Public&nbsp;Property&nbsp;Let&nbsp;StringColor(inColor)&nbsp;<br/>&nbsp;&nbsp;m_StringColor&nbsp;=&nbsp;&#34;&lt;font&nbsp;color=&#34;&nbsp;&amp;&nbsp;inColor&nbsp;&amp;&nbsp;&#34;&gt;&#34;&nbsp;<br/>&nbsp;&nbsp;End&nbsp;Property&nbsp;<br/>&nbsp;&nbsp;Private&nbsp;Property&nbsp;Get&nbsp;StringColor()&nbsp;<br/>&nbsp;&nbsp;StringColor&nbsp;=&nbsp;m_StringColor&nbsp;<br/>&nbsp;&nbsp;End&nbsp;Property&nbsp;<br/>&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;Public&nbsp;Property&nbsp;Let&nbsp;TabSpaces(inSpaces)&nbsp;<br/>&nbsp;&nbsp;m_TabSpaces&nbsp;=&nbsp;inSpaces&nbsp;<br/>&nbsp;&nbsp;End&nbsp;Property&nbsp;<br/>&nbsp;&nbsp;Private&nbsp;Property&nbsp;Get&nbsp;TabSpaces()&nbsp;<br/>&nbsp;&nbsp;TabSpaces&nbsp;=&nbsp;m_TabSpaces&nbsp;<br/>&nbsp;&nbsp;End&nbsp;Property&nbsp;<br/>&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;Public&nbsp;Property&nbsp;Let&nbsp;TableBGColor(inColor)&nbsp;<br/>&nbsp;&nbsp;m_TableBGColor&nbsp;=&nbsp;inColor&nbsp;<br/>&nbsp;&nbsp;End&nbsp;Property&nbsp;<br/>&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;Private&nbsp;Property&nbsp;Get&nbsp;TableBGColor()&nbsp;<br/>&nbsp;&nbsp;TableBGColor&nbsp;=&nbsp;m_TableBGColor&nbsp;<br/>&nbsp;&nbsp;End&nbsp;Property&nbsp;<br/>&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;Public&nbsp;Property&nbsp;Get&nbsp;ProcessingTime()&nbsp;<br/>&nbsp;&nbsp;ProcessingTime&nbsp;=&nbsp;Second(m_EndTime&nbsp;-&nbsp;m_StartTime)&nbsp;<br/>&nbsp;&nbsp;End&nbsp;Property&nbsp;<br/>&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;Public&nbsp;Property&nbsp;Get&nbsp;LineCount()&nbsp;<br/>&nbsp;&nbsp;LineCount&nbsp;=&nbsp;m_LineCount&nbsp;<br/>&nbsp;&nbsp;End&nbsp;Property&nbsp;<br/>&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;Public&nbsp;Property&nbsp;Get&nbsp;PathToFile()&nbsp;<br/>&nbsp;&nbsp;PathToFile&nbsp;=&nbsp;m_strPathToFile&nbsp;<br/>&nbsp;&nbsp;End&nbsp;Property&nbsp;<br/>&nbsp;&nbsp;Public&nbsp;Property&nbsp;Let&nbsp;PathToFile(inPath)&nbsp;<br/>&nbsp;&nbsp;m_strPathToFile&nbsp;=&nbsp;inPath&nbsp;<br/>&nbsp;&nbsp;End&nbsp;Property&nbsp;<br/>&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;Private&nbsp;Property&nbsp;Let&nbsp;KeyMin(inMin)&nbsp;<br/>&nbsp;&nbsp;m_intKeyMin&nbsp;=&nbsp;inMin&nbsp;<br/>&nbsp;&nbsp;End&nbsp;Property&nbsp;<br/>&nbsp;&nbsp;Private&nbsp;Property&nbsp;Get&nbsp;KeyMin()&nbsp;<br/>&nbsp;&nbsp;KeyMin&nbsp;=&nbsp;m_intKeyMin&nbsp;<br/>&nbsp;&nbsp;End&nbsp;Property&nbsp;<br/>&nbsp;&nbsp;Private&nbsp;Property&nbsp;Let&nbsp;KeyMax(inMax)&nbsp;<br/>&nbsp;&nbsp;m_intKeyMax&nbsp;=&nbsp;inMax&nbsp;<br/>&nbsp;&nbsp;End&nbsp;Property&nbsp;<br/>&nbsp;&nbsp;Private&nbsp;Property&nbsp;Get&nbsp;KeyMax()&nbsp;<br/>&nbsp;&nbsp;KeyMax&nbsp;=&nbsp;m_intKeyMax&nbsp;<br/>&nbsp;&nbsp;End&nbsp;Property&nbsp;<br/>&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;Private&nbsp;Sub&nbsp;Cr&#101;ateKeywords()&nbsp;<br/>&nbsp;&nbsp;objDict.Add&nbsp;&#34;abs&#34;,&nbsp;&#34;Abs&#34;&nbsp;<br/>&nbsp;&nbsp;objDict.Add&nbsp;&#34;and&#34;,&nbsp;&#34;And&#34;&nbsp;<br/>&nbsp;&nbsp;objDict.Add&nbsp;&#34;array&#34;,&nbsp;&#34;Array&#34;&nbsp;<br/>&nbsp;&nbsp;objDict.Add&nbsp;&#34;call&#34;,&nbsp;&#34;Call&#34;&nbsp;<br/>&nbsp;&nbsp;objDict.Add&nbsp;&#34;cbool&#34;,&nbsp;&#34;CBool&#34;&nbsp;<br/>&nbsp;&nbsp;objDict.Add&nbsp;&#34;cbyte&#34;,&nbsp;&#34;CByte&#34;&nbsp;<br/>&nbsp;&nbsp;objDict.Add&nbsp;&#34;ccur&#34;,&nbsp;&#34;CCur&#34;&nbsp;<br/>&nbsp;&nbsp;objDict.Add&nbsp;&#34;cdate&#34;,&nbsp;&#34;CDate&#34;&nbsp;<br/>&nbsp;&nbsp;objDict.Add&nbsp;&#34;cdbl&#34;,&nbsp;&#34;CDbl&#34;&nbsp;<br/>&nbsp;&nbsp;objDict.Add&nbsp;&#34;cint&#34;,&nbsp;&#34;CInt&#34;&nbsp;<br/>&nbsp;&nbsp;objDict.Add&nbsp;&#34;class&#34;,&nbsp;&#34;Class&#34;&nbsp;<br/>&nbsp;&nbsp;objDict.Add&nbsp;&#34;clng&#34;,&nbsp;&#34;CLng&#34;&nbsp;<br/>&nbsp;&nbsp;objDict.Add&nbsp;&#34;const&#34;,&nbsp;&#34;Const&#34;&nbsp;<br/>&nbsp;&nbsp;objDict.Add&nbsp;&#34;csng&#34;,&nbsp;&#34;CSng&#34;&nbsp;<br/>&nbsp;&nbsp;objDict.Add&nbsp;&#34;cstr&#34;,&nbsp;&#34;CStr&#34;&nbsp;<br/>&nbsp;&nbsp;objDict.Add&nbsp;&#34;date&#34;,&nbsp;&#34;Date&#34;&nbsp;<br/>&nbsp;&nbsp;objDict.Add&nbsp;&#34;dim&#34;,&nbsp;&#34;Dim&#34;&nbsp;<br/>&nbsp;&nbsp;objDict.Add&nbsp;&#34;do&#34;,&nbsp;&#34;Do&#34;&nbsp;<br/>&nbsp;&nbsp;objDict.Add&nbsp;&#34;loop&#34;,&nbsp;&#34;Loop&#34;&nbsp;<br/>&nbsp;&nbsp;objDict.Add&nbsp;&#34;empty&#34;,&nbsp;&#34;Empty&#34;&nbsp;<br/>&nbsp;&nbsp;objDict.Add&nbsp;&#34;eqv&#34;,&nbsp;&#34;Eqv&#34;&nbsp;<br/>&nbsp;&nbsp;objDict.Add&nbsp;&#34;erase&#34;,&nbsp;&#34;Erase&#34;&nbsp;<br/>&nbsp;&nbsp;objDict.Add&nbsp;&#34;exit&#34;,&nbsp;&#34;Exit&#34;&nbsp;<br/>&nbsp;&nbsp;objDict.Add&nbsp;&#34;false&#34;,&nbsp;&#34;False&#34;&nbsp;<br/>&nbsp;&nbsp;objDict.Add&nbsp;&#34;fix&#34;,&nbsp;&#34;Fix&#34;&nbsp;<br/>&nbsp;&nbsp;objDict.Add&nbsp;&#34;for&#34;,&nbsp;&#34;For&#34;&nbsp;<br/>&nbsp;&nbsp;objDict.Add&nbsp;&#34;next&#34;,&nbsp;&#34;Next&#34;&nbsp;<br/>&nbsp;&nbsp;objDict.Add&nbsp;&#34;each&#34;,&nbsp;&#34;Each&#34;&nbsp;<br/>&nbsp;&nbsp;objDict.Add&nbsp;&#34;function&#34;,&nbsp;&#34;Function&#34;&nbsp;<br/>&nbsp;&nbsp;objDict.Add&nbsp;&#34;global&#34;,&nbsp;&#34;Global&#34;&nbsp;<br/>&nbsp;&nbsp;objDict.Add&nbsp;&#34;if&#34;,&nbsp;&#34;If&#34;&nbsp;<br/>&nbsp;&nbsp;objDict.Add&nbsp;&#34;then&#34;,&nbsp;&#34;Then&#34;&nbsp;<br/>&nbsp;&nbsp;objDict.Add&nbsp;&#34;else&#34;,&nbsp;&#34;Else&#34;&nbsp;<br/>&nbsp;&nbsp;objDict.Add&nbsp;&#34;elseif&#34;,&nbsp;&#34;ElseIf&#34;&nbsp;<br/>&nbsp;&nbsp;objDict.Add&nbsp;&#34;imp&#34;,&nbsp;&#34;Imp&#34;&nbsp;<br/>&nbsp;&nbsp;objDict.Add&nbsp;&#34;int&#34;,&nbsp;&#34;Int&#34;&nbsp;<br/>&nbsp;&nbsp;objDict.Add&nbsp;&#34;is&#34;,&nbsp;&#34;Is&#34;&nbsp;<br/>&nbsp;&nbsp;objDict.Add&nbsp;&#34;lbound&#34;,&nbsp;&#34;LBound&#34;&nbsp;<br/>&nbsp;&nbsp;objDict.Add&nbsp;&#34;len&#34;,&nbsp;&#34;Len&#34;&nbsp;<br/>&nbsp;&nbsp;objDict.Add&nbsp;&#34;mod&#34;,&nbsp;&#34;Mod&#34;&nbsp;<br/>&nbsp;&nbsp;objDict.Add&nbsp;&#34;new&#34;,&nbsp;&#34;New&#34;&nbsp;<br/>&nbsp;&nbsp;objDict.Add&nbsp;&#34;not&#34;,&nbsp;&#34;Not&#34;&nbsp;<br/>&nbsp;&nbsp;objDict.Add&nbsp;&#34;nothing&#34;,&nbsp;&#34;Nothing&#34;&nbsp;<br/>&nbsp;&nbsp;objDict.Add&nbsp;&#34;null&#34;,&nbsp;&#34;Null&#34;&nbsp;<br/>&nbsp;&nbsp;objDict.Add&nbsp;&#34;on&#34;,&nbsp;&#34;On&#34;&nbsp;<br/>&nbsp;&nbsp;objDict.Add&nbsp;&#34;error&#34;,&nbsp;&#34;Error&#34;&nbsp;<br/>&nbsp;&nbsp;objDict.Add&nbsp;&#34;resume&#34;,&nbsp;&#34;Resume&#34;&nbsp;<br/>&nbsp;&nbsp;objDict.Add&nbsp;&#34;option&#34;,&nbsp;&#34;Option&#34;&nbsp;<br/>&nbsp;&nbsp;objDict.Add&nbsp;&#34;explicit&#34;,&nbsp;&#34;Explicit&#34;&nbsp;<br/>&nbsp;&nbsp;objDict.Add&nbsp;&#34;or&#34;,&nbsp;&#34;Or&#34;&nbsp;<br/>&nbsp;&nbsp;objDict.Add&nbsp;&#34;private&#34;,&nbsp;&#34;Private&#34;&nbsp;<br/>&nbsp;&nbsp;objDict.Add&nbsp;&#34;property&#34;,&nbsp;&#34;Property&#34;&nbsp;<br/>&nbsp;&nbsp;objDict.Add&nbsp;&#34;get&#34;,&nbsp;&#34;Get&#34;&nbsp;<br/>&nbsp;&nbsp;objDict.Add&nbsp;&#34;let&#34;,&nbsp;&#34;Let&#34;&nbsp;<br/>&nbsp;&nbsp;objDict.Add&nbsp;&#34;set&#34;,&nbsp;&#34;Set&#34;&nbsp;<br/>&nbsp;&nbsp;objDict.Add&nbsp;&#34;public&#34;,&nbsp;&#34;Public&#34;&nbsp;<br/>&nbsp;&nbsp;objDict.Add&nbsp;&#34;redim&#34;,&nbsp;&#34;Redim&#34;&nbsp;<br/>&nbsp;&nbsp;objDict.Add&nbsp;&#34;sel&#101;ct&#34;,&nbsp;&#34;Sel&#101;ct&#34;&nbsp;<br/>&nbsp;&nbsp;objDict.Add&nbsp;&#34;case&#34;,&nbsp;&#34;Case&#34;&nbsp;<br/>&nbsp;&nbsp;objDict.Add&nbsp;&#34;end&#34;,&nbsp;&#34;End&#34;&nbsp;<br/>&nbsp;&nbsp;objDict.Add&nbsp;&#34;sgn&#34;,&nbsp;&#34;Sgn&#34;&nbsp;<br/>&nbsp;&nbsp;objDict.Add&nbsp;&#34;string&#34;,&nbsp;&#34;String&#34;&nbsp;<br/>&nbsp;&nbsp;objDict.Add&nbsp;&#34;sub&#34;,&nbsp;&#34;Sub&#34;&nbsp;<br/>&nbsp;&nbsp;objDict.Add&nbsp;&#34;true&#34;,&nbsp;&#34;True&#34;&nbsp;<br/>&nbsp;&nbsp;objDict.Add&nbsp;&#34;ubound&#34;,&nbsp;&#34;UBound&#34;&nbsp;<br/>&nbsp;&nbsp;objDict.Add&nbsp;&#34;while&#34;,&nbsp;&#34;While&#34;&nbsp;<br/>&nbsp;&nbsp;objDict.Add&nbsp;&#34;wend&#34;,&nbsp;&#34;Wend&#34;&nbsp;<br/>&nbsp;&nbsp;objDict.Add&nbsp;&#34;with&#34;,&nbsp;&#34;With&#34;&nbsp;<br/>&nbsp;&nbsp;objDict.Add&nbsp;&#34;xor&#34;,&nbsp;&#34;Xor&#34;&nbsp;<br/>&nbsp;&nbsp;End&nbsp;Sub&nbsp;<br/>&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;Private&nbsp;Function&nbsp;Min(x,&nbsp;y)&nbsp;<br/>&nbsp;&nbsp;Dim&nbsp;tempMin&nbsp;<br/>&nbsp;&nbsp;If&nbsp;x&nbsp;&lt;&nbsp;y&nbsp;Then&nbsp;tempMin&nbsp;=&nbsp;x&nbsp;Else&nbsp;tempMin&nbsp;=&nbsp;y&nbsp;<br/>&nbsp;&nbsp;Min&nbsp;=&nbsp;tempMin&nbsp;<br/>&nbsp;&nbsp;End&nbsp;Function&nbsp;<br/>&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;Private&nbsp;Function&nbsp;Max(x,&nbsp;y)&nbsp;<br/>&nbsp;&nbsp;Dim&nbsp;tempMax&nbsp;<br/>&nbsp;&nbsp;If&nbsp;x&nbsp;&gt;&nbsp;y&nbsp;Then&nbsp;tempMax&nbsp;=&nbsp;x&nbsp;Else&nbsp;tempMax&nbsp;=&nbsp;y&nbsp;<br/>&nbsp;&nbsp;Max&nbsp;=&nbsp;tempMax&nbsp;<br/>&nbsp;&nbsp;End&nbsp;Function&nbsp;<br/>&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;Public&nbsp;Sub&nbsp;AddKeyword(inKeyword,&nbsp;inToken)&nbsp;<br/>&nbsp;&nbsp;KeyMin&nbsp;=&nbsp;Min(Len(inKeyword),&nbsp;KeyMin)&nbsp;<br/>&nbsp;&nbsp;KeyMax&nbsp;=&nbsp;Max(Len(inKeyword),&nbsp;KeyMax)&nbsp;<br/>&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;objDict.Add&nbsp;LCase(inKeyword),&nbsp;inToken&nbsp;<br/>&nbsp;&nbsp;End&nbsp;Sub&nbsp;<br/>&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;Public&nbsp;Sub&nbsp;ParseFile(blnOutputHTML)&nbsp;<br/>&nbsp;&nbsp;Dim&nbsp;m_strReadLine,&nbsp;tempString,&nbsp;blnInScriptBlock,&nbsp;blnGoodExtension,&nbsp;i&nbsp;<br/>&nbsp;&nbsp;Dim&nbsp;blnEmptyLine&nbsp;<br/>&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;m_LineCount&nbsp;=&nbsp;0&nbsp;<br/>&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;If&nbsp;Len(PathToFile)&nbsp;=&nbsp;0&nbsp;Then&nbsp;<br/>&nbsp;&nbsp;Err.Raise&nbsp;5,&nbsp;&#34;cBuffer:&nbsp;PathToFile&nbsp;Length&nbsp;Zero&#34;&nbsp;<br/>&nbsp;&nbsp;Exit&nbsp;Sub&nbsp;<br/>&nbsp;&nbsp;End&nbsp;If&nbsp;<br/>&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;Sel&#101;ct&nbsp;Case&nbsp;LCase(Right(PathToFile,&nbsp;3))&nbsp;<br/>&nbsp;&nbsp;Case&nbsp;&#34;asp&#34;,&nbsp;&#34;inc&#34;&nbsp;<br/>&nbsp;&nbsp;blnGoodExtension&nbsp;=&nbsp;True&nbsp;<br/>&nbsp;&nbsp;Case&nbsp;Else&nbsp;<br/>&nbsp;&nbsp;blnGoodExtension&nbsp;=&nbsp;False&nbsp;<br/>&nbsp;&nbsp;End&nbsp;Sel&#101;ct&nbsp;<br/>&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;If&nbsp;Not&nbsp;blnGoodExtension&nbsp;Then&nbsp;<br/>&nbsp;&nbsp;Err.Raise&nbsp;5,&nbsp;&#34;cBuffer:&nbsp;File&nbsp;extension&nbsp;not&nbsp;asp&nbsp;o&#114;&nbsp;inc&#34;&nbsp;<br/>&nbsp;&nbsp;Exit&nbsp;Sub&nbsp;<br/>&nbsp;&nbsp;End&nbsp;If&nbsp;<br/>&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;Set&nbsp;objFile&nbsp;=&nbsp;objFSO.OpenTextFile(server.MapPath(PathToFile))&nbsp;<br/>&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;Response.Write&nbsp;&#34;&lt;table&nbsp;nowrap&nbsp;bgcolor=&#34;&nbsp;&amp;&nbsp;TableBGColor&nbsp;&amp;&nbsp;&#34;&nbsp;cellpadding=0&nbsp;cellspacing=0&gt;&#34;&nbsp;<br/>&nbsp;&nbsp;Response.Write&nbsp;&#34;&lt;tr&gt;&lt;td&gt;&lt;PRE&gt;&#34;&nbsp;<br/>&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;m_StartTime&nbsp;=&nbsp;Time()&nbsp;<br/>&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;Do&nbsp;While&nbsp;Not&nbsp;objFile.AtEndOfStream&nbsp;<br/>&nbsp;&nbsp;m_strReadLine&nbsp;=&nbsp;objFile.ReadLine&nbsp;<br/>&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;blnEmptyLine&nbsp;=&nbsp;False&nbsp;<br/>&nbsp;&nbsp;If&nbsp;Len(m_strReadLine)&nbsp;=&nbsp;0&nbsp;Then&nbsp;<br/>&nbsp;&nbsp;blnEmptyLine&nbsp;=&nbsp;True&nbsp;<br/>&nbsp;&nbsp;End&nbsp;If&nbsp;<br/>&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;m_strReadLine&nbsp;=&nbsp;Replace(m_strReadLine,&nbsp;vbTab,&nbsp;TabSpaces)&nbsp;<br/>&nbsp;&nbsp;m_LineCount&nbsp;=&nbsp;m_LineCount&nbsp;+&nbsp;1&nbsp;<br/>&nbsp;&nbsp;tempString&nbsp;=&nbsp;LTrim(m_strReadLine)&nbsp;<br/>&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&#39;&nbsp;Check&nbsp;for&nbsp;the&nbsp;top&nbsp;script&nbsp;line&nbsp;that&nbsp;set&#39;s&nbsp;the&nbsp;default&nbsp;script&nbsp;language&nbsp;<br/>&nbsp;&nbsp;&#39;&nbsp;for&nbsp;the&nbsp;page.&nbsp;<br/>&nbsp;&nbsp;If&nbsp;left(&nbsp;tempString,&nbsp;3&nbsp;)&nbsp;=&nbsp;Chr(60)&nbsp;&amp;&nbsp;&#34;%@&#34;&nbsp;And&nbsp;right(tempString,&nbsp;2)&nbsp;=&nbsp;&#34;%&#34;&nbsp;&amp;&nbsp;Chr(62)&nbsp;Then&nbsp;<br/>&nbsp;&nbsp;Response.Write&nbsp;&#34;&lt;table&gt;&lt;tr&nbsp;bgcolor=yellow&gt;&lt;td&gt;&#34;&nbsp;<br/>&nbsp;&nbsp;Response.Write&nbsp;server.HTMLEncode(m_strReadLine)&nbsp;<br/>&nbsp;&nbsp;Response.Write&nbsp;&#34;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#34;&nbsp;<br/>&nbsp;&nbsp;blnInScriptBlock&nbsp;=&nbsp;False&nbsp;<br/>&nbsp;&nbsp;&#39;&nbsp;Check&nbsp;for&nbsp;an&nbsp;opening&nbsp;script&nbsp;tag&nbsp;<br/>&nbsp;&nbsp;ElseIf&nbsp;Left(&nbsp;tempString,&nbsp;2)&nbsp;=&nbsp;Chr(60)&nbsp;&amp;&nbsp;&#34;%&#34;&nbsp;Then&nbsp;<br/>&nbsp;&nbsp;&#39;&nbsp;Check&nbsp;for&nbsp;a&nbsp;closing&nbsp;script&nbsp;tag&nbsp;on&nbsp;the&nbsp;same&nbsp;line&nbsp;<br/>&nbsp;&nbsp;If&nbsp;right(&nbsp;RTrim(tempString),&nbsp;2&nbsp;)&nbsp;=&nbsp;&#34;%&#34;&nbsp;&amp;&nbsp;Chr(62)&nbsp;Then&nbsp;<br/>&nbsp;&nbsp;Response.Write&nbsp;&#34;&lt;table&gt;&lt;tr&gt;&lt;td&nbsp;bgcolor=yellow&gt;&lt;%&lt;/td&gt;&#34;&nbsp;<br/>&nbsp;&nbsp;Response.Write&nbsp;&#34;&lt;td&gt;&#34;&nbsp;<br/>&nbsp;&nbsp;Response.Write&nbsp;CharacterParse(mid(m_strReadLine,&nbsp;3,&nbsp;Len(m_strReadLine)&nbsp;-&nbsp;4))&nbsp;<br/>&nbsp;&nbsp;Response.Write&nbsp;&#34;&lt;/td&gt;&#34;&nbsp;<br/>&nbsp;&nbsp;Response.Write&nbsp;&#34;&lt;td&nbsp;bgcolor=yellow&gt;%gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#34;&nbsp;<br/>&nbsp;&nbsp;blnInScriptBlock&nbsp;=&nbsp;False&nbsp;<br/>&nbsp;&nbsp;Else&nbsp;<br/>&nbsp;&nbsp;Response.Write&nbsp;&#34;&lt;table&gt;&lt;tr&nbsp;bgcolor=yellow&gt;&lt;td&gt;&lt;%&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#34;&nbsp;<br/>&nbsp;&nbsp;&#39;&nbsp;We&#39;ve&nbsp;got&nbsp;an&nbsp;opening&nbsp;script&nbsp;tag&nbsp;so&nbsp;set&nbsp;the&nbsp;flag&nbsp;to&nbsp;true&nbsp;so&nbsp;<br/>&nbsp;&nbsp;&#39;&nbsp;that&nbsp;we&nbsp;know&nbsp;to&nbsp;start&nbsp;parsing&nbsp;the&nbsp;lines&nbsp;for&nbsp;keywords/comments&nbsp;<br/>&nbsp;&nbsp;blnInScriptBlock&nbsp;=&nbsp;True&nbsp;<br/>&nbsp;&nbsp;End&nbsp;If&nbsp;<br/>&nbsp;&nbsp;Else&nbsp;<br/>&nbsp;&nbsp;If&nbsp;blnInScriptBlock&nbsp;Then&nbsp;<br/>&nbsp;&nbsp;If&nbsp;blnEmptyLine&nbsp;Then&nbsp;<br/>&nbsp;&nbsp;Response.Write&nbsp;vbCrLf&nbsp;<br/>&nbsp;&nbsp;Else&nbsp;<br/>&nbsp;&nbsp;If&nbsp;right(tempString,&nbsp;2)&nbsp;=&nbsp;&#34;%&#34;&nbsp;&amp;&nbsp;Chr(62)&nbsp;Then&nbsp;<br/>&nbsp;&nbsp;Response.Write&nbsp;&#34;&lt;table&gt;&lt;tr&nbsp;bgcolor=yellow&gt;&lt;td&gt;%&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#34;&nbsp;<br/>&nbsp;&nbsp;blnInScriptBlock&nbsp;=&nbsp;False&nbsp;<br/>&nbsp;&nbsp;Else&nbsp;<br/>&nbsp;&nbsp;Response.Write&nbsp;CharacterParse(m_strReadLine)&nbsp;&amp;&nbsp;vbCrLf&nbsp;<br/>&nbsp;&nbsp;End&nbsp;If&nbsp;<br/>&nbsp;&nbsp;End&nbsp;If&nbsp;<br/>&nbsp;&nbsp;Else&nbsp;<br/>&nbsp;&nbsp;If&nbsp;blnOutputHTML&nbsp;Then&nbsp;<br/>&nbsp;&nbsp;If&nbsp;blnEmptyLine&nbsp;Then&nbsp;<br/>&nbsp;&nbsp;Response.Write&nbsp;vbCrLf&nbsp;<br/>&nbsp;&nbsp;Else&nbsp;<br/>&nbsp;&nbsp;Response.Write&nbsp;server.HTMLEncode(m_strReadLine)&nbsp;&amp;&nbsp;vbCrLf&nbsp;<br/>&nbsp;&nbsp;End&nbsp;If&nbsp;<br/>&nbsp;&nbsp;End&nbsp;If&nbsp;<br/>&nbsp;&nbsp;End&nbsp;If&nbsp;<br/>&nbsp;&nbsp;End&nbsp;If&nbsp;<br/>&nbsp;&nbsp;Loop&nbsp;<br/>&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&#39;&nbsp;Grab&nbsp;the&nbsp;time&nbsp;at&nbsp;the&nbsp;completion&nbsp;of&nbsp;processing&nbsp;<br/>&nbsp;&nbsp;m_EndTime&nbsp;=&nbsp;Time()&nbsp;<br/>&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&#39;&nbsp;Close&nbsp;the&nbsp;outside&nbsp;table&nbsp;<br/>&nbsp;&nbsp;Response.Write&nbsp;&#34;&lt;/PRE&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#34;&nbsp;<br/>&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&#39;&nbsp;Close&nbsp;the&nbsp;file&nbsp;and&nbsp;destroy&nbsp;the&nbsp;file&nbsp;object&nbsp;<br/>&nbsp;&nbsp;objFile.close&nbsp;<br/>&nbsp;&nbsp;Set&nbsp;objFile&nbsp;=&nbsp;Nothing&nbsp;<br/>&nbsp;&nbsp;End&nbsp;Sub&nbsp;<br/>&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&#39;&nbsp;This&nbsp;function&nbsp;parses&nbsp;a&nbsp;line&nbsp;character&nbsp;by&nbsp;character&nbsp;<br/>&nbsp;&nbsp;Private&nbsp;Function&nbsp;CharacterParse(inLine)&nbsp;<br/>&nbsp;&nbsp;Dim&nbsp;charBuffer,&nbsp;tempChar,&nbsp;i,&nbsp;outputString&nbsp;<br/>&nbsp;&nbsp;Dim&nbsp;insideString,&nbsp;workString,&nbsp;holdChar&nbsp;<br/>&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;insideString&nbsp;=&nbsp;False&nbsp;<br/>&nbsp;&nbsp;outputString&nbsp;=&nbsp;&#34;&#34;&nbsp;<br/>&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;For&nbsp;i&nbsp;=&nbsp;1&nbsp;to&nbsp;Len(inLine)&nbsp;<br/>&nbsp;&nbsp;tempChar&nbsp;=&nbsp;mid(inLine,&nbsp;i,&nbsp;1)&nbsp;<br/>&nbsp;&nbsp;Sel&#101;ct&nbsp;Case&nbsp;tempChar&nbsp;<br/>&nbsp;&nbsp;Case&nbsp;&#34;&nbsp;&#34;&nbsp;<br/>&nbsp;&nbsp;If&nbsp;Not&nbsp;insideString&nbsp;Then&nbsp;<br/>&nbsp;&nbsp;charBuffer&nbsp;=&nbsp;charBuffer&nbsp;&amp;&nbsp;&#34;&nbsp;&#34;&nbsp;<br/>&nbsp;&nbsp;If&nbsp;charBuffer&nbsp;&lt;&gt;&#34;&nbsp;&#34;&nbsp;Then&nbsp;<br/>&nbsp;&nbsp;If&nbsp;left(charBuffer,&nbsp;1)&nbsp;=&nbsp;&#34;&nbsp;&#34;&nbsp;Then&nbsp;outputString&nbsp;=&nbsp;outputString&nbsp;&amp;&nbsp;&#34;&nbsp;&#34;&nbsp;<br/>&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&#39;&nbsp;Check&nbsp;for&nbsp;a&nbsp;&#39;rem&#39;&nbsp;style&nbsp;comment&nbsp;marker&nbsp;<br/>&nbsp;&nbsp;If&nbsp;LCase(Trim(charBuffer))&nbsp;=&nbsp;&#34;rem&#34;&nbsp;Then&nbsp;<br/>&nbsp;&nbsp;outputString&nbsp;=&nbsp;outputString&nbsp;&amp;&nbsp;CommentColor&nbsp;<br/>&nbsp;&nbsp;outputString&nbsp;=&nbsp;outputString&nbsp;&amp;&nbsp;&#34;REM&#34;&nbsp;<br/>&nbsp;&nbsp;workString&nbsp;=&nbsp;mid(&nbsp;inLine,&nbsp;i,&nbsp;Len(inLine))&nbsp;<br/>&nbsp;&nbsp;workString&nbsp;=&nbsp;replace(workString,&nbsp;&#34;&lt;&#34;,&nbsp;&#34;＆ｌｔ；&#34;)&nbsp;<br/>&nbsp;&nbsp;workString&nbsp;=&nbsp;replace(workString,&nbsp;&#34;&gt;&#34;,&nbsp;&#34;＆ｇｔ；&#34;)&nbsp;<br/>&nbsp;&nbsp;outputString&nbsp;=&nbsp;outputString&nbsp;&amp;&nbsp;workString&nbsp;&amp;&nbsp;&#34;&lt;/font&gt;&#34;&nbsp;<br/>&nbsp;&nbsp;charBuffer&nbsp;=&nbsp;&#34;&#34;&nbsp;<br/>&nbsp;&nbsp;Exit&nbsp;For&nbsp;<br/>&nbsp;&nbsp;End&nbsp;If&nbsp;<br/>&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;outputString&nbsp;=&nbsp;outputString&nbsp;&amp;&nbsp;FindReplace(Trim(charBuffer))&nbsp;<br/>&nbsp;&nbsp;If&nbsp;right(charBuffer,&nbsp;1)&nbsp;=&nbsp;&#34;&nbsp;&#34;&nbsp;Then&nbsp;outputString&nbsp;=&nbsp;outputString&nbsp;&amp;&nbsp;&#34;&nbsp;&#34;&nbsp;<br/>&nbsp;&nbsp;charBuffer&nbsp;=&nbsp;&#34;&#34;&nbsp;<br/>&nbsp;&nbsp;End&nbsp;If&nbsp;<br/>&nbsp;&nbsp;Else&nbsp;<br/>&nbsp;&nbsp;outputString&nbsp;=&nbsp;outputString&nbsp;&amp;&nbsp;&#34;&nbsp;&#34;&nbsp;<br/>&nbsp;&nbsp;End&nbsp;If&nbsp;<br/>&nbsp;&nbsp;Case&nbsp;&#34;(&#34;&nbsp;<br/>&nbsp;&nbsp;If&nbsp;left(charBuffer,&nbsp;1)&nbsp;=&nbsp;&#34;&nbsp;&#34;&nbsp;Then&nbsp;<br/>&nbsp;&nbsp;outputString&nbsp;=&nbsp;outputString&nbsp;&amp;&nbsp;&#34;&nbsp;&#34;&nbsp;<br/>&nbsp;&nbsp;End&nbsp;If&nbsp;<br/>&nbsp;&nbsp;outputString&nbsp;=&nbsp;outputString&nbsp;&amp;&nbsp;FindReplace(Trim(charBuffer))&nbsp;&amp;&nbsp;&#34;(&#34;&nbsp;<br/>&nbsp;&nbsp;charBuffer&nbsp;=&nbsp;&#34;&#34;&nbsp;<br/>&nbsp;&nbsp;Case&nbsp;Chr(60)&nbsp;<br/>&nbsp;&nbsp;outputString&nbsp;=&nbsp;outputString&nbsp;&amp;&nbsp;&#34;&lt;&#34;&nbsp;<br/>&nbsp;&nbsp;Case&nbsp;Chr(62)&nbsp;<br/>&nbsp;&nbsp;outputString&nbsp;=&nbsp;outputString&nbsp;&amp;&nbsp;&#34;&gt;&#34;&nbsp;<br/>&nbsp;&nbsp;Case&nbsp;Chr(34)&nbsp;<br/>&nbsp;&nbsp;&#39;&nbsp;catch&nbsp;quote&nbsp;chars&nbsp;and&nbsp;flip&nbsp;a&nbsp;boolean&nbsp;variable&nbsp;to&nbsp;denote&nbsp;that&nbsp;<br/>&nbsp;&nbsp;&#39;&nbsp;whether&nbsp;o&#114;&nbsp;not&nbsp;we&#39;re&nbsp;&#34;inside&#34;&nbsp;a&nbsp;quoted&nbsp;string&nbsp;<br/>&nbsp;&nbsp;insideString&nbsp;=&nbsp;Not&nbsp;insideString&nbsp;<br/>&nbsp;&nbsp;If&nbsp;insideString&nbsp;Then&nbsp;<br/>&nbsp;&nbsp;outputString&nbsp;=&nbsp;outputString&nbsp;&amp;&nbsp;StringColor&nbsp;<br/>&nbsp;&nbsp;outputString&nbsp;=&nbsp;outputString&nbsp;&amp;&nbsp;&#34;＆ｑｕｏｔ；&#34;&nbsp;<br/>&nbsp;&nbsp;Else&nbsp;<br/>&nbsp;&nbsp;outputString&nbsp;=&nbsp;outputString&nbsp;&amp;&nbsp;&#34;&#34;&#34;&#34;&nbsp;<br/>&nbsp;&nbsp;outputString&nbsp;=&nbsp;outputString&nbsp;&amp;&nbsp;&#34;&lt;/font&gt;&#34;&nbsp;<br/>&nbsp;&nbsp;End&nbsp;If&nbsp;<br/>&nbsp;&nbsp;Case&nbsp;&#34;&#39;&#34;&nbsp;<br/>&nbsp;&nbsp;&#39;&nbsp;Catch&nbsp;comments&nbsp;and&nbsp;output&nbsp;the&nbsp;rest&nbsp;of&nbsp;the&nbsp;line&nbsp;<br/>&nbsp;&nbsp;&#39;&nbsp;as&nbsp;a&nbsp;comment&nbsp;IF&nbsp;we&#39;re&nbsp;not&nbsp;inside&nbsp;a&nbsp;string.&nbsp;<br/>&nbsp;&nbsp;If&nbsp;Not&nbsp;insideString&nbsp;Then&nbsp;<br/>&nbsp;&nbsp;outputString&nbsp;=&nbsp;outputString&nbsp;&amp;&nbsp;CommentColor&nbsp;<br/>&nbsp;&nbsp;workString&nbsp;=&nbsp;mid(&nbsp;inLine,&nbsp;i,&nbsp;Len(inLine))&nbsp;<br/>&nbsp;&nbsp;workString&nbsp;=&nbsp;replace(workString,&nbsp;&#34;&lt;&#34;,&nbsp;&#34;＆ｌｔ；&#34;)&nbsp;<br/>&nbsp;&nbsp;workString&nbsp;=&nbsp;replace(workString,&nbsp;&#34;&gt;&#34;,&nbsp;&#34;＆ｇｔ；&#34;)&nbsp;<br/>&nbsp;&nbsp;outputString&nbsp;=&nbsp;outputString&nbsp;&amp;&nbsp;workString&nbsp;<br/>&nbsp;&nbsp;outputString&nbsp;=&nbsp;outputString&nbsp;&amp;&nbsp;&#34;&lt;/font&gt;&#34;&nbsp;<br/>&nbsp;&nbsp;Exit&nbsp;For&nbsp;<br/>&nbsp;&nbsp;Else&nbsp;<br/>&nbsp;&nbsp;outputString&nbsp;=&nbsp;outputString&nbsp;&amp;&nbsp;&#34;&#39;&#34;&nbsp;<br/>&nbsp;&nbsp;End&nbsp;If&nbsp;<br/>&nbsp;&nbsp;Case&nbsp;Else&nbsp;<br/>&nbsp;&nbsp;&#39;&nbsp;We&#39;ve&nbsp;dealt&nbsp;with&nbsp;special&nbsp;case&nbsp;characters&nbsp;so&nbsp;now&nbsp;<br/>&nbsp;&nbsp;&#39;&nbsp;we&#39;ll&nbsp;begin&nbsp;adding&nbsp;characters&nbsp;to&nbsp;our&nbsp;outputString&nbsp;<br/>&nbsp;&nbsp;&#39;&nbsp;o&#114;&nbsp;charBuffer&nbsp;depending&nbsp;on&nbsp;the&nbsp;state&nbsp;of&nbsp;the&nbsp;insideString&nbsp;<br/>&nbsp;&nbsp;&#39;&nbsp;boolean&nbsp;variable&nbsp;<br/>&nbsp;&nbsp;If&nbsp;insideString&nbsp;Then&nbsp;<br/>&nbsp;&nbsp;outputString&nbsp;=&nbsp;outputString&nbsp;&amp;&nbsp;tempChar&nbsp;<br/>&nbsp;&nbsp;Else&nbsp;<br/>&nbsp;&nbsp;charBuffer&nbsp;=&nbsp;charBuffer&nbsp;&amp;&nbsp;tempChar&nbsp;<br/>&nbsp;&nbsp;End&nbsp;If&nbsp;<br/>&nbsp;&nbsp;End&nbsp;Sel&#101;ct&nbsp;<br/>&nbsp;&nbsp;Next&nbsp;<br/>&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&#39;&nbsp;Deal&nbsp;with&nbsp;the&nbsp;last&nbsp;part&nbsp;of&nbsp;the&nbsp;string&nbsp;in&nbsp;the&nbsp;character&nbsp;buffer&nbsp;<br/>&nbsp;&nbsp;If&nbsp;Left(charBuffer,&nbsp;1)&nbsp;=&nbsp;&#34;&nbsp;&#34;&nbsp;Then&nbsp;<br/>&nbsp;&nbsp;outputString&nbsp;=&nbsp;outputString&nbsp;&amp;&nbsp;&#34;&nbsp;&#34;&nbsp;<br/>&nbsp;&nbsp;End&nbsp;If&nbsp;<br/>&nbsp;&nbsp;&#39;&nbsp;Check&nbsp;for&nbsp;closing&nbsp;parentheses&nbsp;at&nbsp;the&nbsp;end&nbsp;of&nbsp;a&nbsp;string&nbsp;<br/>&nbsp;&nbsp;If&nbsp;right(charBuffer,&nbsp;1)&nbsp;=&nbsp;&#34;)&#34;&nbsp;Then&nbsp;<br/>&nbsp;&nbsp;charBuffer&nbsp;=&nbsp;Left(charBuffer,&nbsp;Len(charBuffer)&nbsp;-&nbsp;1)&nbsp;<br/>&nbsp;&nbsp;CharacterParse&nbsp;=&nbsp;outputString&nbsp;&amp;&nbsp;FindReplace(Trim(charBuffer))&nbsp;&amp;&nbsp;&#34;)&#34;&nbsp;<br/>&nbsp;&nbsp;Exit&nbsp;Function&nbsp;<br/>&nbsp;&nbsp;End&nbsp;If&nbsp;<br/>&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;CharacterParse&nbsp;=&nbsp;outputString&nbsp;&amp;&nbsp;FindReplace(Trim(charBuffer))&nbsp;<br/>&nbsp;&nbsp;End&nbsp;Function&nbsp;<br/>&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&#39;&nbsp;return&nbsp;true&nbsp;o&#114;&nbsp;false&nbsp;if&nbsp;a&nbsp;passed&nbsp;in&nbsp;number&nbsp;is&nbsp;between&nbsp;KeyMin&nbsp;and&nbsp;KeyMax&nbsp;<br/>&nbsp;&nbsp;Private&nbsp;Function&nbsp;InRange(inLen)&nbsp;<br/>&nbsp;&nbsp;If&nbsp;inLen&nbsp;&gt;=&nbsp;KeyMin&nbsp;And&nbsp;inLen&nbsp;&lt;=&nbsp;KeyMax&nbsp;Then&nbsp;<br/>&nbsp;&nbsp;InRange&nbsp;=&nbsp;True&nbsp;<br/>&nbsp;&nbsp;Exit&nbsp;Function&nbsp;<br/>&nbsp;&nbsp;End&nbsp;If&nbsp;<br/>&nbsp;&nbsp;InRange&nbsp;=&nbsp;False&nbsp;<br/>&nbsp;&nbsp;End&nbsp;Function&nbsp;<br/>&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&#39;&nbsp;Evaluate&nbsp;the&nbsp;passed&nbsp;in&nbsp;string&nbsp;and&nbsp;see&nbsp;if&nbsp;it&#39;s&nbsp;a&nbsp;keyword&nbsp;in&nbsp;the&nbsp;<br/>&nbsp;&nbsp;&#39;&nbsp;dictionary.&nbsp;If&nbsp;it&nbsp;is&nbsp;we&nbsp;will&nbsp;add&nbsp;html&nbsp;formatting&nbsp;to&nbsp;the&nbsp;string&nbsp;<br/>&nbsp;&nbsp;&#39;&nbsp;and&nbsp;return&nbsp;it&nbsp;to&nbsp;the&nbsp;caller.&nbsp;Otherwise&nbsp;just&nbsp;return&nbsp;the&nbsp;same&nbsp;<br/>&nbsp;&nbsp;&#39;&nbsp;string&nbsp;as&nbsp;was&nbsp;passed&nbsp;in.&nbsp;<br/>&nbsp;&nbsp;Private&nbsp;Function&nbsp;FindReplace(inToken)&nbsp;<br/>&nbsp;&nbsp;&#39;&nbsp;Check&nbsp;the&nbsp;length&nbsp;to&nbsp;make&nbsp;sure&nbsp;it&#39;s&nbsp;within&nbsp;the&nbsp;range&nbsp;of&nbsp;KeyMin&nbsp;and&nbsp;KeyMax&nbsp;<br/>&nbsp;&nbsp;If&nbsp;InRange(Len(inToken))&nbsp;Then&nbsp;<br/>&nbsp;&nbsp;If&nbsp;objDict.Exists(inToken)&nbsp;Then&nbsp;<br/>&nbsp;&nbsp;FindReplace&nbsp;=&nbsp;CodeColor&nbsp;&amp;&nbsp;objDict.Item(inToken)&nbsp;&amp;&nbsp;&#34;&lt;/Strong&gt;&lt;/Font&gt;&#34;&nbsp;<br/>&nbsp;&nbsp;Exit&nbsp;Function&nbsp;<br/>&nbsp;&nbsp;End&nbsp;If&nbsp;<br/>&nbsp;&nbsp;End&nbsp;If&nbsp;<br/>&nbsp;&nbsp;&#39;&nbsp;Keyword&nbsp;is&nbsp;either&nbsp;too&nbsp;short&nbsp;o&#114;&nbsp;too&nbsp;long&nbsp;o&#114;&nbsp;doesn&#39;t&nbsp;exist&nbsp;in&nbsp;the&nbsp;<br/>&nbsp;&nbsp;&#39;&nbsp;dictionary&nbsp;so&nbsp;we&#39;ll&nbsp;just&nbsp;return&nbsp;what&nbsp;was&nbsp;passed&nbsp;in&nbsp;to&nbsp;the&nbsp;function&nbsp;<br/>&nbsp;&nbsp;FindReplace&nbsp;=&nbsp;inToken&nbsp;<br/>&nbsp;&nbsp;End&nbsp;Function&nbsp;<br/>&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;End&nbsp;Class&nbsp;<br/>&nbsp;&nbsp;%&gt;&nbsp;<br/>&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;使用前把里面的全角字符转换成半角的<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;!--#include&nbsp;file=&#34;token.asp&#34;--&gt;&nbsp;<br/>&nbsp;&nbsp;&lt;%&nbsp;&#39;&nbsp;*************************************************************************&nbsp;<br/>&nbsp;&nbsp;&#39;&nbsp;This&nbsp;is&nbsp;all&nbsp;test/example&nbsp;code&nbsp;showing&nbsp;the&nbsp;calling&nbsp;syntax&nbsp;of&nbsp;the&nbsp;<br/>&nbsp;&nbsp;&#39;&nbsp;cBuffer&nbsp;class&nbsp;...&nbsp;the&nbsp;interface&nbsp;to&nbsp;the&nbsp;cBuffer&nbsp;object&nbsp;is&nbsp;quite&nbsp;simple.&nbsp;<br/>&nbsp;&nbsp;&#39;&nbsp;<br/>&nbsp;&nbsp;&#39;&nbsp;Use&nbsp;it&nbsp;for&nbsp;reference&nbsp;...&nbsp;del&#101;te&nbsp;it&nbsp;...&nbsp;whatever.&nbsp;<br/>&nbsp;&nbsp;&#39;&nbsp;*************************************************************************&nbsp;<br/>&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;REM&nbsp;This&nbsp;is&nbsp;a&nbsp;rem&nbsp;type&nbsp;comment&nbsp;just&nbsp;for&nbsp;testing&nbsp;purposes!&nbsp;<br/>&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&#39;&nbsp;This&nbsp;variable&nbsp;will&nbsp;hold&nbsp;an&nbsp;instance&nbsp;of&nbsp;the&nbsp;cBuffer&nbsp;class&nbsp;<br/>&nbsp;&nbsp;Dim&nbsp;objBuffer&nbsp;<br/>&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&#39;&nbsp;Set&nbsp;up&nbsp;the&nbsp;error&nbsp;handling&nbsp;<br/>&nbsp;&nbsp;On&nbsp;Error&nbsp;Resume&nbsp;Next&nbsp;<br/>&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&#39;&nbsp;cr&#101;ate&nbsp;the&nbsp;instance&nbsp;of&nbsp;the&nbsp;cBuffer&nbsp;class&nbsp;<br/>&nbsp;&nbsp;Set&nbsp;objBuffer&nbsp;=&nbsp;New&nbsp;cBuffer&nbsp;<br/>&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&#39;&nbsp;Set&nbsp;the&nbsp;PathToFile&nbsp;property&nbsp;of&nbsp;the&nbsp;cBuffer&nbsp;class&nbsp;<br/>&nbsp;&nbsp;&#39;&nbsp;<br/>&nbsp;&nbsp;&#39;&nbsp;Just&nbsp;for&nbsp;kicks&nbsp;we&#39;ll&nbsp;use&nbsp;the&nbsp;asp&nbsp;file&nbsp;that&nbsp;we&nbsp;cr&#101;ated&nbsp;<br/>&nbsp;&nbsp;&#39;&nbsp;in&nbsp;the&nbsp;last&nbsp;installment&nbsp;of&nbsp;this&nbsp;article&nbsp;series&nbsp;for&nbsp;testing&nbsp;purposes&nbsp;<br/>&nbsp;&nbsp;objBuffer.PathToFile&nbsp;=&nbsp;&#34;../081899/random.asp&#34;&nbsp;&#39;这是文件名啦。&nbsp;<br/>&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&#39;&nbsp;Here&#39;s&nbsp;an&nbsp;example&nbsp;of&nbsp;how&nbsp;to&nbsp;add&nbsp;a&nbsp;new&nbsp;keyword&nbsp;to&nbsp;the&nbsp;keyword&nbsp;array&nbsp;<br/>&nbsp;&nbsp;&#39;&nbsp;You&nbsp;could&nbsp;add&nbsp;a&nbsp;list&nbsp;of&nbsp;your&nbsp;own&nbsp;function&nbsp;names,&nbsp;variables&nbsp;o&#114;&nbsp;whatever...cool!&nbsp;<br/>&nbsp;&nbsp;&#39;&nbsp;NOTE:&nbsp;You&nbsp;can&nbsp;add&nbsp;different&nbsp;HTML&nbsp;formatting&nbsp;if&nbsp;you&nbsp;like,&nbsp;the&nbsp;&lt;strong&gt;&nbsp;<br/>&nbsp;&nbsp;&#39;&nbsp;attribute&nbsp;will&nbsp;applied&nbsp;to&nbsp;all&nbsp;keywords&nbsp;...&nbsp;this&nbsp;is&nbsp;likely&nbsp;to&nbsp;change&nbsp;<br/>&nbsp;&nbsp;&#39;&nbsp;in&nbsp;the&nbsp;near&nbsp;future.&nbsp;<br/>&nbsp;&nbsp;&#39;&nbsp;<br/>&nbsp;&nbsp;&#39;objBuffer.AddKeyword&nbsp;&#34;response.write&#34;,&nbsp;&#34;&lt;font&nbsp;color=Red&gt;Response.Write&lt;/font&gt;&#34;&nbsp;<br/>&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&#39;&nbsp;Here&nbsp;are&nbsp;examples&nbsp;of&nbsp;changing&nbsp;the&nbsp;table&nbsp;background&nbsp;color,&nbsp;code&nbsp;color,&nbsp;<br/>&nbsp;&nbsp;&#39;&nbsp;comment&nbsp;color,&nbsp;string&nbsp;color&nbsp;and&nbsp;tab&nbsp;space&nbsp;properties&nbsp;<br/>&nbsp;&nbsp;&#39;&nbsp;<br/>&nbsp;&nbsp;&#39;objBuffer.TableBGColor&nbsp;=&nbsp;&#34;LightGrey&#34;&nbsp;&#39;&nbsp;o&#114;&nbsp;<br/>&nbsp;&nbsp;&#39;objBuffer.TableBGColor&nbsp;=&nbsp;&#34;#ffffdd&#34;&nbsp;&#39;&nbsp;simple&nbsp;right?&nbsp;<br/>&nbsp;&nbsp;&#39;objBuffer.CodeColor&nbsp;=&nbsp;&#34;Red&#34;&nbsp;<br/>&nbsp;&nbsp;&#39;objBuffer.CommentColor&nbsp;=&nbsp;&#34;Orange&#34;&nbsp;<br/>&nbsp;&nbsp;&#39;objBuffer.StringColor&nbsp;=&nbsp;&#34;Purple&#34;&nbsp;<br/>&nbsp;&nbsp;&#39;objBuffer.TabSpaces&nbsp;=&nbsp;&#34;&nbsp;&#34;&nbsp;<br/>&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&#39;&nbsp;Call&nbsp;the&nbsp;ParseFile&nbsp;method&nbsp;of&nbsp;the&nbsp;cBuffer&nbsp;class,&nbsp;pass&nbsp;it&nbsp;true&nbsp;if&nbsp;you&nbsp;want&nbsp;the&nbsp;<br/>&nbsp;&nbsp;&#39;&nbsp;HTML&nbsp;contained&nbsp;in&nbsp;the&nbsp;page&nbsp;output&nbsp;o&#114;&nbsp;false&nbsp;if&nbsp;you&nbsp;don&#39;t&nbsp;<br/>&nbsp;&nbsp;objBuffer.ParseFile&nbsp;False&nbsp;&#39;注意：显示代码的response.write已经在class中。这里调用方法就可以了。&nbsp;<br/>&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&#39;&nbsp;Check&nbsp;for&nbsp;errors&nbsp;that&nbsp;may&nbsp;have&nbsp;been&nbsp;raised&nbsp;and&nbsp;write&nbsp;them&nbsp;out&nbsp;<br/>&nbsp;&nbsp;If&nbsp;Err.number&nbsp;&lt;&gt;&nbsp;0&nbsp;Then&nbsp;<br/>&nbsp;&nbsp;Response.Write&nbsp;Err.number&nbsp;&amp;&nbsp;&#34;:&#34;&nbsp;&amp;&nbsp;Err.description&nbsp;&amp;&nbsp;&#34;:&#34;&nbsp;&amp;&nbsp;Err.source&nbsp;&amp;&nbsp;&#34;&lt;br&gt;&#34;&nbsp;<br/>&nbsp;&nbsp;End&nbsp;If&nbsp;<br/>&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&#39;&nbsp;Output&nbsp;the&nbsp;processing&nbsp;time&nbsp;and&nbsp;number&nbsp;of&nbsp;lines&nbsp;processed&nbsp;by&nbsp;the&nbsp;script&nbsp;<br/>&nbsp;&nbsp;Response.Write&nbsp;&#34;&lt;strong&gt;Processing&nbsp;Time:&lt;/strong&gt;&nbsp;&#34;&nbsp;&amp;&nbsp;objBuffer.ProcessingTime&nbsp;&amp;&nbsp;&#34;&nbsp;seconds&lt;br&gt;&#34;&nbsp;<br/>&nbsp;&nbsp;Response.Write&nbsp;&#34;&lt;strong&gt;Lines&nbsp;Processed:&lt;/strong&gt;&nbsp;&#34;&nbsp;&amp;&nbsp;objBuffer.LineCount&nbsp;&amp;&nbsp;&#34;&lt;br&gt;&#34;&nbsp;<br/>&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&#39;&nbsp;Destroy&nbsp;the&nbsp;instance&nbsp;of&nbsp;our&nbsp;cBuffer&nbsp;class&nbsp;<br/>&nbsp;&nbsp;Set&nbsp;objBuffer&nbsp;=&nbsp;Nothing&nbsp;<br/>&nbsp;&nbsp;%&gt;<br/><br/>&#39;引用自<a href="http://www.jscode.cn/arthtml/art4445.htm" target="_blank">http://www.jscode.cn/arthtml/art4445.htm</a>]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.is21.cn/default.asp?id=656" /> 
	  <id>http://www.is21.cn/default.asp?id=656</id> 
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[CPU占用率]]></title>
	  <author>
		 <name>admin</name>
		 <uri>http://www.is21.cn/</uri>
		 <email>lianxiangpanjin@163.com</email>
	  </author>
	  <category term="" scheme="http://www.is21.cn/default.asp?cateID=20" label="vb" /> 
	  <updated>2008-06-21T01:42:08+08:00</updated>
	  <published>2008-06-21T01:42:08+08:00</published>
		  <summary type="html"><![CDATA[<img src="http://www.is21.cn/images/download.gif" alt="下载文件" style="margin:0px 2px -4px 0px"/> <a href="http://www.is21.cn/attachments/month_0806/7200862114158.zip" target="_blank">点击下载此文件</a><br/><br/><br/>引用自<a href="http://www.china-askpro.com/vbasic11.shtml" target="_blank">http://www.china-askpro.com/vbasic11.shtml</a><br/>]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.is21.cn/default.asp?id=378" /> 
	  <id>http://www.is21.cn/default.asp?id=378</id> 
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[透明效果]]></title>
	  <author>
		 <name>admin</name>
		 <uri>http://www.is21.cn/</uri>
		 <email>lianxiangpanjin@163.com</email>
	  </author>
	  <category term="" scheme="http://www.is21.cn/default.asp?cateID=20" label="vb" /> 
	  <updated>2008-06-21T01:40:46+08:00</updated>
	  <published>2008-06-21T01:40:46+08:00</published>
		  <summary type="html"><![CDATA[Private&nbsp;Declare&nbsp;Function&nbsp;GetWindowLong&nbsp;Lib&nbsp;&#34;user32&#34;&nbsp;Alias&nbsp;&#34;GetWindowLongA&#34;&nbsp;(ByVal&nbsp;hwnd&nbsp;As&nbsp;Long,&nbsp;ByVal&nbsp;nIndex&nbsp;As&nbsp;Long)&nbsp;As&nbsp;Long<br/><br/>Private&nbsp;Declare&nbsp;Function&nbsp;SetWindowLong&nbsp;Lib&nbsp;&#34;user32&#34;&nbsp;Alias&nbsp;&#34;SetWindowLongA&#34;&nbsp;(ByVal&nbsp;hwnd&nbsp;As&nbsp;Long,&nbsp;ByVal&nbsp;nIndex&nbsp;As&nbsp;Long,&nbsp;ByVal&nbsp;dwNewLong&nbsp;As&nbsp;Long)&nbsp;As&nbsp;Long<br/><br/>Private&nbsp;Declare&nbsp;Function&nbsp;SetLayeredWindowAttributes&nbsp;Lib&nbsp;&#34;user32&#34;&nbsp;(ByVal&nbsp;hwnd&nbsp;As&nbsp;Long,&nbsp;ByVal&nbsp;crKey&nbsp;As&nbsp;Long,&nbsp;ByVal&nbsp;bAlpha&nbsp;As&nbsp;Byte,&nbsp;ByVal&nbsp;dwFlags&nbsp;As&nbsp;Long)&nbsp;As&nbsp;Long<br/><br/>Private&nbsp;Const&nbsp;WS_EX_LAYERED&nbsp;=&nbsp;&amp;H80000<br/><br/>Private&nbsp;Const&nbsp;GWL_EXSTYLE&nbsp;=&nbsp;(-20)&nbsp;&#39;&nbsp;设置窗体的透明度<br/><br/>Private&nbsp;Const&nbsp;LWA_ALPHA&nbsp;=&nbsp;&amp;H2<br/><br/>Private&nbsp;Sub&nbsp;Form_Activate()<br/><br/>On&nbsp;Error&nbsp;Resume&nbsp;Next<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;For&nbsp;i&nbsp;=&nbsp;0&nbsp;To&nbsp;150&nbsp;Step&nbsp;2.5<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SetLayeredWindowAttributes&nbsp;Me.hwnd,&nbsp;0,&nbsp;i,&nbsp;LWA_ALPHA<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DoEvents<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;Next&nbsp;i<br/><br/>End&nbsp;Sub<br/><br/>Private&nbsp;Sub&nbsp;Form_load()<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;Dim&nbsp;rtn&nbsp;As&nbsp;Long<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;rtn&nbsp;=&nbsp;GetWindowLong(Me.hwnd,&nbsp;GWL_EXSTYLE)<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;rtn&nbsp;=&nbsp;rtn&nbsp;o&#114;&nbsp;WS_EX_LAYERED<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;SetWindowLong&nbsp;Me.hwnd,&nbsp;GWL_EXSTYLE,&nbsp;rtn<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;SetLayeredWindowAttributes&nbsp;Me.hwnd,&nbsp;0,&nbsp;0,&nbsp;LWA_ALPHA<br/><br/>End&nbsp;Sub<br/><br/><br/><br/>&#39;引用自<a href="http://hi.baidu.com/%D3%EA%D6%AE%D3%A1%BC%C7/blog/item/2fa5d8ca45687f85c817683a.html" target="_blank">http://hi.baidu.com/%D3%EA%D6%AE%D3%A1%BC%C7/blog/item/2fa5d8ca45687f85c817683a.html</a>]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.is21.cn/default.asp?id=377" /> 
	  <id>http://www.is21.cn/default.asp?id=377</id> 
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[sqlserver控制器]]></title>
	  <author>
		 <name>admin</name>
		 <uri>http://www.is21.cn/</uri>
		 <email>lianxiangpanjin@163.com</email>
	  </author>
	  <category term="" scheme="http://www.is21.cn/default.asp?cateID=20" label="vb" /> 
	  <updated>2008-06-18T00:29:56+08:00</updated>
	  <published>2008-06-18T00:29:56+08:00</published>
		  <summary type="html"><![CDATA[一个很Cool的数据库控件，具有以下功能：<br/>登录到SQL&nbsp;Server数据库<br/>备份、修复以及还原数据库<br/>上载数据库以及删除数据库<br/>控制SQL&nbsp;Server服务（启动、停止、暂停等）&nbsp;<br/>检测与数据库的连接<br/>检测服务器状态<br/>显示数据库中存储的图片<br/>保存数据库中存储的文件（例如文本文件或者图片）&nbsp;<br/>等等很多功能<br/><img src="http://www.is21.cn/images/download.gif" alt="下载文件" style="margin:0px 2px -4px 0px"/> <a href="http://www.is21.cn/attachments/month_0806/o200861802715.zip" target="_blank">点击下载此文件</a><br/><br/><br/><br/>&#39;引用自<a href="http://www.applevb.com/sourcecode/sourcecode.htm" target="_blank">http://www.applevb.com/sourcecode/sourcecode.htm</a><br/>]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.is21.cn/default.asp?id=374" /> 
	  <id>http://www.is21.cn/default.asp?id=374</id> 
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[遍历当局域网中的所有资源]]></title>
	  <author>
		 <name>admin</name>
		 <uri>http://www.is21.cn/</uri>
		 <email>lianxiangpanjin@163.com</email>
	  </author>
	  <category term="" scheme="http://www.is21.cn/default.asp?cateID=20" label="vb" /> 
	  <updated>2008-06-18T00:23:42+08:00</updated>
	  <published>2008-06-18T00:23:42+08:00</published>
		  <summary type="html"><![CDATA[<img src="http://www.is21.cn/images/download.gif" alt="下载文件" style="margin:0px 2px -4px 0px"/> <a href="http://www.is21.cn/attachments/month_0806/u200861802312.zip" target="_blank">点击下载此文件</a><br/><br/><br/>&#39;引用自<a href="http://www.applevb.com/sourcecode/sourcecode.htm" target="_blank">http://www.applevb.com/sourcecode/sourcecode.htm</a>]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.is21.cn/default.asp?id=373" /> 
	  <id>http://www.is21.cn/default.asp?id=373</id> 
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[QQ聊天圣手代码.]]></title>
	  <author>
		 <name>admin</name>
		 <uri>http://www.is21.cn/</uri>
		 <email>lianxiangpanjin@163.com</email>
	  </author>
	  <category term="" scheme="http://www.is21.cn/default.asp?cateID=20" label="vb" /> 
	  <updated>2008-06-18T00:16:39+08:00</updated>
	  <published>2008-06-18T00:16:39+08:00</published>
		  <summary type="html"><![CDATA[<img src="http://www.is21.cn/images/download.gif" alt="下载文件" style="margin:0px 2px -4px 0px"/> <a href="http://www.is21.cn/attachments/month_0806/l200861801532.zip" target="_blank">点击下载此文件</a><br/><br/><br/><br/>&#39;我试了在qq2008下不能运行，代码只供参考<br/>&#39;引用自<a href="http://vbworld.sxnw.gov.cn/" target="_blank">http://vbworld.sxnw.gov.cn/</a><br/>]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.is21.cn/default.asp?id=372" /> 
	  <id>http://www.is21.cn/default.asp?id=372</id> 
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[一个验证码相似度算法]]></title>
	  <author>
		 <name>admin</name>
		 <uri>http://www.is21.cn/</uri>
		 <email>lianxiangpanjin@163.com</email>
	  </author>
	  <category term="" scheme="http://www.is21.cn/default.asp?cateID=20" label="vb" /> 
	  <updated>2008-06-17T23:17:14+08:00</updated>
	  <published>2008-06-17T23:17:14+08:00</published>
		  <summary type="html"><![CDATA[<img src="http://www.is21.cn/images/download.gif" alt="下载文件" style="margin:0px 2px -4px 0px"/> <a href="http://www.is21.cn/attachments/month_0806/c2008617231653.rar" target="_blank">点击下载此文件</a><br/><br/><br/>引用自老马论坛<a href="http://www.m5home.com/bbs/dispbbs.asp?boardid=19" target="_blank">http://www.m5home.com/bbs/dispbbs.asp?boardid=19</a>&amp;Id=1493<br/>]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.is21.cn/default.asp?id=371" /> 
	  <id>http://www.is21.cn/default.asp?id=371</id> 
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[vb读取指定行的效率问题]]></title>
	  <author>
		 <name>admin</name>
		 <uri>http://www.is21.cn/</uri>
		 <email>lianxiangpanjin@163.com</email>
	  </author>
	  <category term="" scheme="http://www.is21.cn/default.asp?cateID=20" label="vb" /> 
	  <updated>2008-06-17T03:27:34+08:00</updated>
	  <published>2008-06-17T03:27:34+08:00</published>
		  <summary type="html"><![CDATA[3种方法都可以&nbsp;<br/>文本方式&nbsp;input&nbsp;+seek&nbsp;<br/>随机读取&nbsp;random+strconv&nbsp;(该模式要求文件中的每条记录的长度都是相同的，记录与记录之间不需要特殊的分隔符号。只要给出记录号，可以直接访问某一特定记录，其优点是存取速度快，更新容易。)<br/>数据库方式<br/><br/><br/><br/>-------------------------------------------<br/>因为你文件中存放的是固定长度记录，所以可用随机存储文件打开：&nbsp;<br/><br/>Open&nbsp;&#34;...&#34;&nbsp;For&nbsp;Random&nbsp;As&nbsp;#1&nbsp;Length&nbsp;=&nbsp;34&nbsp;&nbsp;&nbsp;&nbsp;&#39;包含回车换行符&nbsp;<br/>Get&nbsp;#1,&nbsp;n,&nbsp;strLine&nbsp;&nbsp;&nbsp;&nbsp;&#39;此处的&nbsp;n&nbsp;是记录号（行号），从&nbsp;1&nbsp;计起&nbsp;<br/>Close&nbsp;#1&nbsp;<br/><br/>其实，用文本文件打开也可以：&nbsp;<br/>Open&nbsp;&#34;...&#34;&nbsp;For&nbsp;Input&nbsp;As&nbsp;#1&nbsp;<br/>Seek&nbsp;#1,&nbsp;n&nbsp;*&nbsp;34&nbsp;+&nbsp;1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#39;此处的&nbsp;n&nbsp;是行号，从&nbsp;0&nbsp;计起&nbsp;<br/>Line&nbsp;Input&nbsp;#1,&nbsp;strLine&nbsp;&nbsp;&nbsp;&nbsp;<br/>Close&nbsp;#1<br/><br/>-----------------------------------------------------<br/><br/>&#39;引用自csdn<br/><br/>]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.is21.cn/default.asp?id=370" /> 
	  <id>http://www.is21.cn/default.asp?id=370</id> 
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[常用api模块]]></title>
	  <author>
		 <name>admin</name>
		 <uri>http://www.is21.cn/</uri>
		 <email>lianxiangpanjin@163.com</email>
	  </author>
	  <category term="" scheme="http://www.is21.cn/default.asp?cateID=20" label="vb" /> 
	  <updated>2008-06-17T02:34:21+08:00</updated>
	  <published>2008-06-17T02:34:21+08:00</published>
		  <summary type="html"><![CDATA[Option&nbsp;Explicit<br/>&#39;*****************************************************************<br/>&#39;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;通用模块，建立于2005年11月10日&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*<br/>&#39;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*<br/>&#39;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;wstar&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*<br/>&#39;*****************************************************************<br/><br/>&#39;打开、另存文件对话框<br/>Declare&nbsp;Function&nbsp;GetOpenFileName&nbsp;Lib&nbsp;&#34;comdlg32.dll&#34;&nbsp;Alias&nbsp;&#34;GetOpenFileNameA&#34;&nbsp;(pOpenfilename&nbsp;As&nbsp;OPENFILENAME)&nbsp;As&nbsp;Long<br/>Declare&nbsp;Function&nbsp;GetSaveFileName&nbsp;Lib&nbsp;&#34;comdlg32.dll&#34;&nbsp;Alias&nbsp;&#34;GetSaveFileNameA&#34;&nbsp;(pOpenfilename&nbsp;As&nbsp;OPENFILENAME)&nbsp;As&nbsp;Long<br/><br/>Type&nbsp;OPENFILENAME<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lStructSize&nbsp;As&nbsp;Long<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hwndOwner&nbsp;As&nbsp;Long<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hInstance&nbsp;As&nbsp;Long<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lpstrFilter&nbsp;As&nbsp;String<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lpstrCustomFilter&nbsp;As&nbsp;String<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nMaxCustFilter&nbsp;As&nbsp;Long<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nFilterIndex&nbsp;As&nbsp;Long<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lpstrFile&nbsp;As&nbsp;String<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nMaxFile&nbsp;As&nbsp;Long<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lpstrFileTitle&nbsp;As&nbsp;String<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nMaxFileTitle&nbsp;As&nbsp;Long<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lpstrInitialDir&nbsp;As&nbsp;String<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lpstrTitle&nbsp;As&nbsp;String<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;flags&nbsp;As&nbsp;Long<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nFileOffset&nbsp;As&nbsp;Integer<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nFileExtension&nbsp;As&nbsp;Integer<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lpstrDefExt&nbsp;As&nbsp;String<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lCustData&nbsp;As&nbsp;Long<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lpfnHook&nbsp;As&nbsp;Long<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lpTemplateName&nbsp;As&nbsp;String<br/>End&nbsp;Type<br/><br/>&#39;打开目录对话框<br/>Public&nbsp;Declare&nbsp;Function&nbsp;SHGetPathFromIDList&nbsp;Lib&nbsp;&#34;Shell32.dll&#34;&nbsp;Alias&nbsp;&#34;SHGetPathFromIDListA&#34;&nbsp;(ByVal&nbsp;pidl&nbsp;As&nbsp;Long,&nbsp;ByVal&nbsp;pszPath&nbsp;As&nbsp;String)&nbsp;As&nbsp;Long<br/>Public&nbsp;Declare&nbsp;Function&nbsp;SHBrowseForFolder&nbsp;Lib&nbsp;&#34;Shell32.dll&#34;&nbsp;Alias&nbsp;&#34;SHBrowseForFolderA&#34;&nbsp;(lpBrowseInfo&nbsp;As&nbsp;BROWSEINFO)&nbsp;As&nbsp;Long<br/>Public&nbsp;Type&nbsp;BROWSEINFO<br/>&nbsp;&nbsp;&nbsp;hOwner&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;As&nbsp;Long<br/>&nbsp;&nbsp;&nbsp;pidlRoot&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;As&nbsp;Long<br/>&nbsp;&nbsp;&nbsp;pszDisplayName&nbsp;&nbsp;&nbsp;As&nbsp;String<br/>&nbsp;&nbsp;&nbsp;lpszTitle&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;As&nbsp;String<br/>&nbsp;&nbsp;&nbsp;ulFlags&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;As&nbsp;Long<br/>&nbsp;&nbsp;&nbsp;lpfn&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;As&nbsp;Long<br/>&nbsp;&nbsp;&nbsp;lParam&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;As&nbsp;Long<br/>&nbsp;&nbsp;&nbsp;iImage&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;As&nbsp;Long<br/>End&nbsp;Type<br/>Public&nbsp;Const&nbsp;BIF_RETURNONLYFSDIRS&nbsp;=&nbsp;&amp;H1<br/>Public&nbsp;pidl&nbsp;As&nbsp;Long<br/><br/>&#39;读取INI文件<br/>Public&nbsp;Declare&nbsp;Function&nbsp;GetPrivateProfileString&nbsp;Lib&nbsp;&#34;kernel32&#34;&nbsp;Alias&nbsp;&#34;GetPrivateProfileStringA&#34;&nbsp;(ByVal&nbsp;lpApplicationName&nbsp;As&nbsp;String,&nbsp;ByVal&nbsp;lpKeyName&nbsp;As&nbsp;Any,&nbsp;ByVal&nbsp;lpDefault&nbsp;As&nbsp;String,&nbsp;ByVal&nbsp;lpReturnedString&nbsp;As&nbsp;String,&nbsp;ByVal&nbsp;nSize&nbsp;As&nbsp;Long,&nbsp;ByVal&nbsp;lpFileName&nbsp;As&nbsp;String)&nbsp;As&nbsp;Long<br/>Public&nbsp;Declare&nbsp;Function&nbsp;WritePrivateProfileString&nbsp;Lib&nbsp;&#34;kernel32&#34;&nbsp;Alias&nbsp;&#34;WritePrivateProfileStringA&#34;&nbsp;(ByVal&nbsp;lpApplicationName&nbsp;As&nbsp;String,&nbsp;ByVal&nbsp;lpKeyName&nbsp;As&nbsp;Any,&nbsp;ByVal&nbsp;lpString&nbsp;As&nbsp;Any,&nbsp;ByVal&nbsp;lpFileName&nbsp;As&nbsp;String)&nbsp;As&nbsp;Long<br/><br/>&#39;移动、复制、删除目录<br/>Declare&nbsp;Function&nbsp;SHFileOperation&nbsp;Lib&nbsp;&#34;Shell32.dll&#34;&nbsp;Alias&nbsp;&#34;SHFileOperationA&#34;&nbsp;(lpFileOp&nbsp;As&nbsp;SHFILEOPSTRUCT)&nbsp;As&nbsp;Long<br/>Type&nbsp;SHFILEOPSTRUCT<br/>hwnd&nbsp;As&nbsp;Long&nbsp;&#39;窗口句柄<br/>wFunc&nbsp;As&nbsp;Long&nbsp;&#39;执行的操作<br/>pFrom&nbsp;As&nbsp;String&nbsp;&#39;原地点<br/>pTo&nbsp;As&nbsp;String&nbsp;&#39;目标地点<br/>fFlags&nbsp;As&nbsp;Long&nbsp;&#39;操作执行方式<br/>fAnyOperationsAborted&nbsp;As&nbsp;Long&nbsp;&#39;错误代码返回<br/>hNameMappings&nbsp;As&nbsp;Long<br/>lpszProgressTitle&nbsp;As&nbsp;String<br/>End&nbsp;Type<br/>Public&nbsp;Const&nbsp;FO_MOVE&nbsp;As&nbsp;Long&nbsp;=&nbsp;&amp;H1<br/>Public&nbsp;Const&nbsp;FO_COPY&nbsp;As&nbsp;Long&nbsp;=&nbsp;&amp;H2<br/>Public&nbsp;Const&nbsp;FO_Del&#101;te&nbsp;As&nbsp;Long&nbsp;=&nbsp;&amp;H3<br/>Public&nbsp;Const&nbsp;FO_RENAME&nbsp;As&nbsp;Long&nbsp;=&nbsp;&amp;H4<br/>Public&nbsp;Const&nbsp;FOF_MULTIDESTFILES&nbsp;As&nbsp;Long&nbsp;=&nbsp;&amp;H1<br/>Public&nbsp;Const&nbsp;FOF_CONFIRMMOUSE&nbsp;As&nbsp;Long&nbsp;=&nbsp;&amp;H2<br/>Public&nbsp;Const&nbsp;FOF_SILENT&nbsp;As&nbsp;Long&nbsp;=&nbsp;&amp;H4<br/>Public&nbsp;Const&nbsp;FOF_RENAMEONCOLLISION&nbsp;As&nbsp;Long&nbsp;=&nbsp;&amp;H8<br/>Public&nbsp;Const&nbsp;FOF_NOCONFIRMATION&nbsp;As&nbsp;Long&nbsp;=&nbsp;&amp;H10<br/>Public&nbsp;Const&nbsp;FOF_WANTMAPPINGHANDLE&nbsp;As&nbsp;Long&nbsp;=&nbsp;&amp;H20<br/>Public&nbsp;Const&nbsp;FOF_Cr&#101;atePROGRESSDLG&nbsp;As&nbsp;Long&nbsp;=&nbsp;&amp;H0<br/>Public&nbsp;Const&nbsp;FOF_ALLOWUNDO&nbsp;As&nbsp;Long&nbsp;=&nbsp;&amp;H40<br/>Public&nbsp;Const&nbsp;FOF_FILESONLY&nbsp;As&nbsp;Long&nbsp;=&nbsp;&amp;H80<br/>Public&nbsp;Const&nbsp;FOF_SIMPLEPROGRESS&nbsp;As&nbsp;Long&nbsp;=&nbsp;&amp;H100<br/>Public&nbsp;Const&nbsp;FOF_NOCONFIRMMKDIR&nbsp;As&nbsp;Long&nbsp;=&nbsp;&amp;H200<br/><br/>&#39;读写注册表<br/>Public&nbsp;Declare&nbsp;Function&nbsp;RegQueryValueEx&nbsp;Lib&nbsp;&#34;advapi32.dll&#34;&nbsp;Alias&nbsp;&#34;RegQueryValueExA&#34;&nbsp;(ByVal&nbsp;hKey&nbsp;As&nbsp;Long,&nbsp;ByVal&nbsp;lpValueName&nbsp;As&nbsp;String,&nbsp;ByVal&nbsp;lpReserved&nbsp;As&nbsp;Long,&nbsp;lpType&nbsp;As&nbsp;Long,&nbsp;lpData&nbsp;As&nbsp;Any,&nbsp;lpcbData&nbsp;As&nbsp;Long)&nbsp;As&nbsp;Long&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#39;&nbsp;Note&nbsp;that&nbsp;if&nbsp;you&nbsp;declare&nbsp;the&nbsp;lpData&nbsp;parameter&nbsp;as&nbsp;String,&nbsp;you&nbsp;must&nbsp;pass&nbsp;it&nbsp;By&nbsp;Value.<br/>Public&nbsp;Declare&nbsp;Function&nbsp;RegOpenKeyEx&nbsp;Lib&nbsp;&#34;advapi32.dll&#34;&nbsp;Alias&nbsp;&#34;RegOpenKeyExA&#34;&nbsp;(ByVal&nbsp;hKey&nbsp;As&nbsp;Long,&nbsp;ByVal&nbsp;lpSubKey&nbsp;As&nbsp;String,&nbsp;ByVal&nbsp;ulOptions&nbsp;As&nbsp;Long,&nbsp;ByVal&nbsp;samDesired&nbsp;As&nbsp;Long,&nbsp;phkResult&nbsp;As&nbsp;Long)&nbsp;As&nbsp;Long<br/>Public&nbsp;Declare&nbsp;Function&nbsp;RegCloseKey&nbsp;Lib&nbsp;&#34;advapi32.dll&#34;&nbsp;(ByVal&nbsp;hKey&nbsp;As&nbsp;Long)&nbsp;As&nbsp;Long<br/>Public&nbsp;Declare&nbsp;Function&nbsp;RegSetValueEx&nbsp;Lib&nbsp;&#34;advapi32.dll&#34;&nbsp;Alias&nbsp;&#34;RegSetValueExA&#34;&nbsp;(ByVal&nbsp;hKey&nbsp;As&nbsp;Long,&nbsp;ByVal&nbsp;lpValueName&nbsp;As&nbsp;String,&nbsp;ByVal&nbsp;Reserved&nbsp;As&nbsp;Long,&nbsp;ByVal&nbsp;dwType&nbsp;As&nbsp;Long,&nbsp;lpData&nbsp;As&nbsp;Any,&nbsp;ByVal&nbsp;cbData&nbsp;As&nbsp;Long)&nbsp;As&nbsp;Long&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#39;&nbsp;Note&nbsp;that&nbsp;if&nbsp;you&nbsp;declare&nbsp;the&nbsp;lpData&nbsp;parameter&nbsp;as&nbsp;String,&nbsp;you&nbsp;must&nbsp;pass&nbsp;it&nbsp;By&nbsp;Value.<br/>Public&nbsp;Declare&nbsp;Function&nbsp;RegCr&#101;ateKey&nbsp;Lib&nbsp;&#34;advapi32.dll&#34;&nbsp;Alias&nbsp;&#34;RegCr&#101;ateKeyA&#34;&nbsp;(ByVal&nbsp;hKey&nbsp;As&nbsp;Long,&nbsp;ByVal&nbsp;lpSubKey&nbsp;As&nbsp;String,&nbsp;phkResult&nbsp;As&nbsp;Long)&nbsp;As&nbsp;Long<br/><br/>Public&nbsp;Const&nbsp;HKEY_CLASSES_ROOT&nbsp;=&nbsp;&amp;H80000000<br/>Public&nbsp;Const&nbsp;HKEY_CURRENT_USER&nbsp;=&nbsp;&amp;H80000001<br/>Public&nbsp;Const&nbsp;HKEY_LOCAL_MACHINE&nbsp;=&nbsp;&amp;H80000002<br/><br/>Function&nbsp;wReadIni(wAppName&nbsp;As&nbsp;String,&nbsp;wKeyName&nbsp;As&nbsp;String,&nbsp;wIniFilePath&nbsp;As&nbsp;String)&nbsp;As&nbsp;String<br/>&nbsp;&nbsp;&nbsp;Dim&nbsp;RetStr&nbsp;As&nbsp;String<br/>&nbsp;&nbsp;&nbsp;RetStr&nbsp;=&nbsp;String(255,&nbsp;Chr(0))<br/>&nbsp;&nbsp;&nbsp;wReadIni&nbsp;=&nbsp;Left(RetStr,&nbsp;GetPrivateProfileString(wAppName,&nbsp;ByVal&nbsp;wKeyName,&nbsp;&#34;&#34;,&nbsp;RetStr,&nbsp;Len(RetStr),&nbsp;wIniFilePath))<br/>End&nbsp;Function<br/><br/>Function&nbsp;wWriteIni(wAppName&nbsp;As&nbsp;String,&nbsp;wKeyName&nbsp;As&nbsp;String,&nbsp;wText&nbsp;As&nbsp;String,&nbsp;wIniFilePath&nbsp;As&nbsp;String)&nbsp;As&nbsp;Long<br/>&nbsp;&nbsp;&nbsp;wWriteIni&nbsp;=&nbsp;WritePrivateProfileString(wAppName,&nbsp;wKeyName,&nbsp;wText,&nbsp;wIniFilePath)<br/>End&nbsp;Function<br/><br/>Function&nbsp;wCutFolder(wSource&nbsp;As&nbsp;String,&nbsp;wDestination&nbsp;As&nbsp;String,&nbsp;wHwnd&nbsp;As&nbsp;Long)&nbsp;As&nbsp;Long<br/>&nbsp;&nbsp;&nbsp;&nbsp;Dim&nbsp;DelFileOp&nbsp;As&nbsp;SHFILEOPSTRUCT<br/>&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;With&nbsp;DelFileOp<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.hwnd&nbsp;=&nbsp;wHwnd<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.wFunc&nbsp;=&nbsp;FO_MOVE&nbsp;&#39;(这三行代码完成移动)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.pFrom&nbsp;=&nbsp;wSource&nbsp;&amp;&nbsp;vbNullChar&nbsp;&amp;&nbsp;vbNullChar<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.pTo&nbsp;=&nbsp;wDestination<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.fFlags&nbsp;=&nbsp;FOF_NOCONFIRMATION<br/>&nbsp;&nbsp;&nbsp;&nbsp;End&nbsp;With<br/>&nbsp;&nbsp;&nbsp;&nbsp;wCutFolder&nbsp;=&nbsp;SHFileOperation(DelFileOp)<br/>End&nbsp;Function<br/><br/>Function&nbsp;wCopyFolder(wSource&nbsp;As&nbsp;String,&nbsp;wDestination&nbsp;As&nbsp;String,&nbsp;wHwnd&nbsp;As&nbsp;Long)&nbsp;As&nbsp;Long<br/>&nbsp;&nbsp;&nbsp;&nbsp;Dim&nbsp;DelFileOp&nbsp;As&nbsp;SHFILEOPSTRUCT<br/>&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;With&nbsp;DelFileOp<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.hwnd&nbsp;=&nbsp;wHwnd<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.wFunc&nbsp;=&nbsp;FO_COPY&nbsp;&#39;(这三行代码完成拷贝)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.pFrom&nbsp;=&nbsp;wSource&nbsp;&amp;&nbsp;vbNullChar&nbsp;&amp;&nbsp;vbNullChar<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.pTo&nbsp;=&nbsp;wDestination<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.fFlags&nbsp;=&nbsp;FOF_NOCONFIRMATION<br/>&nbsp;&nbsp;&nbsp;&nbsp;End&nbsp;With<br/>&nbsp;&nbsp;&nbsp;&nbsp;wCopyFolder&nbsp;=&nbsp;SHFileOperation(DelFileOp)<br/>End&nbsp;Function<br/>Function&nbsp;wDelFolder(wFoldPath&nbsp;As&nbsp;String,&nbsp;wHwnd&nbsp;As&nbsp;Long)&nbsp;As&nbsp;Long<br/>&nbsp;&nbsp;&nbsp;&nbsp;Dim&nbsp;DelFileOp&nbsp;As&nbsp;SHFILEOPSTRUCT<br/>&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;With&nbsp;DelFileOp<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.hwnd&nbsp;=&nbsp;wHwnd<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.wFunc&nbsp;=&nbsp;FO_Del&#101;te&nbsp;&#39;(这两行代码完成删除)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.pFrom&nbsp;=&nbsp;wFoldPath&nbsp;&amp;&nbsp;vbNullChar&nbsp;&amp;&nbsp;vbNullChar<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.fFlags&nbsp;=&nbsp;FOF_NOCONFIRMATION<br/>&nbsp;&nbsp;&nbsp;&nbsp;End&nbsp;With<br/>&nbsp;&nbsp;&nbsp;&nbsp;wDelFolder&nbsp;=&nbsp;SHFileOperation(DelFileOp)<br/>End&nbsp;Function<br/><br/>Function&nbsp;wSel&#101;ctFolder(wCaption&nbsp;As&nbsp;String,&nbsp;wHwnd&nbsp;As&nbsp;Long)&nbsp;As&nbsp;String<br/>&nbsp;&nbsp;&nbsp;&nbsp;Dim&nbsp;bi&nbsp;As&nbsp;BROWSEINFO<br/>&nbsp;&nbsp;&nbsp;&nbsp;Dim&nbsp;r&nbsp;As&nbsp;Long<br/>&nbsp;&nbsp;&nbsp;&nbsp;Dim&nbsp;pidl&nbsp;As&nbsp;Long<br/>&nbsp;&nbsp;&nbsp;&nbsp;Dim&nbsp;path&nbsp;As&nbsp;String<br/>&nbsp;&nbsp;&nbsp;&nbsp;Dim&nbsp;pos&nbsp;As&nbsp;Integer<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#39;句柄<br/>&nbsp;&nbsp;&nbsp;&nbsp;bi.hOwner&nbsp;=&nbsp;wHwnd<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#39;展开根目录<br/>&nbsp;&nbsp;&nbsp;&nbsp;bi.pidlRoot&nbsp;=&nbsp;0&amp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#39;列表框标题<br/>&nbsp;&nbsp;&nbsp;&nbsp;bi.lpszTitle&nbsp;=&nbsp;wCaption<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#39;规定只能选择文件夹，其他无效<br/>&nbsp;&nbsp;&nbsp;&nbsp;bi.ulFlags&nbsp;=&nbsp;BIF_RETURNONLYFSDIRS<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#39;调用API函数显示列表框<br/>&nbsp;&nbsp;&nbsp;&nbsp;pidl&nbsp;=&nbsp;SHBrowseForFolder(bi)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#39;利用API函数获取返回的路径<br/>&nbsp;&nbsp;&nbsp;&nbsp;path&nbsp;=&nbsp;Space$(512)<br/>&nbsp;&nbsp;&nbsp;&nbsp;r&nbsp;=&nbsp;SHGetPathFromIDList(ByVal&nbsp;pidl&amp;,&nbsp;ByVal&nbsp;path)<br/>&nbsp;&nbsp;&nbsp;&nbsp;If&nbsp;r&nbsp;Then<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pos&nbsp;=&nbsp;InStr(path,&nbsp;Chr$(0))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;wSel&#101;ctFolder&nbsp;=&nbsp;Left(path,&nbsp;pos&nbsp;-&nbsp;1)<br/>&nbsp;&nbsp;&nbsp;&nbsp;Else<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;wSel&#101;ctFolder&nbsp;=&nbsp;&#34;&#34;<br/>&nbsp;&nbsp;&nbsp;&nbsp;End&nbsp;If<br/>End&nbsp;Function<br/><br/>Function&nbsp;wOpenFile(wCaption&nbsp;As&nbsp;String,&nbsp;wFilter&nbsp;As&nbsp;String,&nbsp;wHwnd&nbsp;As&nbsp;Long)&nbsp;As&nbsp;String<br/>&nbsp;&nbsp;&nbsp;&nbsp;Dim&nbsp;ofn&nbsp;As&nbsp;OPENFILENAME<br/>&nbsp;&nbsp;&nbsp;&nbsp;Dim&nbsp;rtn&nbsp;As&nbsp;String<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;ofn.lStructSize&nbsp;=&nbsp;Len(ofn)<br/>&nbsp;&nbsp;&nbsp;&nbsp;ofn.hwndOwner&nbsp;=&nbsp;wHwnd<br/>&nbsp;&nbsp;&nbsp;&nbsp;ofn.hInstance&nbsp;=&nbsp;App.hInstance<br/>&nbsp;&nbsp;&nbsp;&nbsp;ofn.lpstrFilter&nbsp;=&nbsp;wFilter<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#39;&#34;文本文件&nbsp;(*.TXT)&#34;&nbsp;+&nbsp;Chr$(0)&nbsp;+&nbsp;&#34;*.TXT&#34;&nbsp;+&nbsp;Chr$(0)&nbsp;+&nbsp;&#34;所有文件&nbsp;(*.*)&#34;&nbsp;+&nbsp;Chr$(0)&nbsp;+&nbsp;&#34;*.*&#34;&nbsp;+&nbsp;Chr$(0)<br/>&nbsp;&nbsp;&nbsp;&nbsp;ofn.lpstrFile&nbsp;=&nbsp;Space(254)<br/>&nbsp;&nbsp;&nbsp;&nbsp;ofn.nMaxFile&nbsp;=&nbsp;255<br/>&nbsp;&nbsp;&nbsp;&nbsp;ofn.lpstrFileTitle&nbsp;=&nbsp;Space(254)<br/>&nbsp;&nbsp;&nbsp;&nbsp;ofn.nMaxFileTitle&nbsp;=&nbsp;255<br/>&nbsp;&nbsp;&nbsp;&nbsp;ofn.lpstrInitialDir&nbsp;=&nbsp;App.path<br/>&nbsp;&nbsp;&nbsp;&nbsp;ofn.lpstrTitle&nbsp;=&nbsp;wCaption<br/>&nbsp;&nbsp;&nbsp;&nbsp;ofn.flags&nbsp;=&nbsp;6148<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;rtn&nbsp;=&nbsp;GetOpenFileName(ofn)<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;If&nbsp;rtn&nbsp;&gt;=&nbsp;1&nbsp;Then<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;wOpenFile&nbsp;=&nbsp;ofn.lpstrFile<br/>&nbsp;&nbsp;&nbsp;&nbsp;Else<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;wOpenFile&nbsp;=&nbsp;&#34;&#34;<br/>&nbsp;&nbsp;&nbsp;&nbsp;End&nbsp;If<br/>End&nbsp;Function<br/><br/><br/><br/>Function&nbsp;wSaveFile(wCaption&nbsp;As&nbsp;String,&nbsp;wFilter&nbsp;As&nbsp;String,&nbsp;wHwnd&nbsp;As&nbsp;Long)&nbsp;As&nbsp;String<br/>&nbsp;&nbsp;&nbsp;&nbsp;Dim&nbsp;i&nbsp;As&nbsp;Integer<br/>&nbsp;&nbsp;&nbsp;&nbsp;Dim&nbsp;ofn&nbsp;As&nbsp;OPENFILENAME<br/>&nbsp;&nbsp;&nbsp;&nbsp;Dim&nbsp;filename&nbsp;As&nbsp;String<br/>&nbsp;&nbsp;&nbsp;&nbsp;ofn.lStructSize&nbsp;=&nbsp;Len(ofn)<br/>&nbsp;&nbsp;&nbsp;&nbsp;ofn.hwndOwner&nbsp;=&nbsp;wHwnd<br/>&nbsp;&nbsp;&nbsp;&nbsp;ofn.hInstance&nbsp;=&nbsp;App.hInstance<br/>&nbsp;&nbsp;&nbsp;&nbsp;ofn.lpstrFile&nbsp;=&nbsp;Space(254)<br/>&nbsp;&nbsp;&nbsp;&nbsp;ofn.nMaxFile&nbsp;=&nbsp;255<br/>&nbsp;&nbsp;&nbsp;&nbsp;ofn.lpstrFileTitle&nbsp;=&nbsp;Space(254)<br/>&nbsp;&nbsp;&nbsp;&nbsp;ofn.nMaxFileTitle&nbsp;=&nbsp;255<br/>&nbsp;&nbsp;&nbsp;&nbsp;ofn.lpstrInitialDir&nbsp;=&nbsp;App.path<br/>&nbsp;&nbsp;&nbsp;&nbsp;ofn.flags&nbsp;=&nbsp;6148<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#39;过虑对话框文件类型<br/>&nbsp;&nbsp;&nbsp;&nbsp;ofn.lpstrFilter&nbsp;=&nbsp;wFilter<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#39;&#34;文本文件&nbsp;(*.TXT)&#34;&nbsp;+&nbsp;Chr$(0)&nbsp;+&nbsp;&#34;*.TXT&#34;&nbsp;+&nbsp;Chr$(0)&nbsp;+&nbsp;&#34;所有文件&nbsp;(*.*)&#34;&nbsp;+&nbsp;Chr$(0)&nbsp;+&nbsp;&#34;*.*&#34;&nbsp;+&nbsp;Chr$(0)<br/>&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#39;对话框标题栏文字<br/>&nbsp;&nbsp;&nbsp;&nbsp;ofn.lpstrTitle&nbsp;=&nbsp;wCaption<br/>&nbsp;&nbsp;&nbsp;&nbsp;i&nbsp;=&nbsp;GetSaveFileName(ofn)&nbsp;&#39;显示保存文件对话框<br/>&nbsp;&nbsp;&nbsp;&nbsp;If&nbsp;i&nbsp;&gt;=&nbsp;1&nbsp;Then&nbsp;&#39;取得对话中用户选择输入的文件名及路径<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;filename&nbsp;=&nbsp;ofn.lpstrFile<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;wSaveFile&nbsp;=&nbsp;Left(filename,&nbsp;InStr(filename,&nbsp;Chr(0))&nbsp;-&nbsp;1)<br/>&nbsp;&nbsp;&nbsp;&nbsp;End&nbsp;If<br/>End&nbsp;Function<br/><br/>Function&nbsp;wReadReg(wMainKey&nbsp;As&nbsp;Long,&nbsp;wKeySubPath&nbsp;As&nbsp;String,&nbsp;wSubKey&nbsp;As&nbsp;String)&nbsp;As&nbsp;Variant&nbsp;&#39;参数顺序为：根键，子路径主键，键名<br/>&nbsp;&nbsp;&nbsp;&nbsp;Dim&nbsp;rqveValue,&nbsp;apiFunHandle,&nbsp;apiFunData,&nbsp;apiFunType&nbsp;As&nbsp;Long<br/>&nbsp;&nbsp;&nbsp;&nbsp;Dim&nbsp;srqvStr&nbsp;As&nbsp;String<br/>&nbsp;&nbsp;&nbsp;&nbsp;If&nbsp;RegOpenKeyEx(wMainKey,&nbsp;wKeySubPath,&nbsp;0&amp;,&nbsp;&amp;H20019,&nbsp;apiFunHandle)&nbsp;&lt;&gt;&nbsp;0&amp;&nbsp;Then&nbsp;Exit&nbsp;Function<br/>&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;rqveValue&nbsp;=&nbsp;RegQueryValueEx(apiFunHandle,&nbsp;wSubKey,&nbsp;0&amp;,&nbsp;apiFunType,&nbsp;ByVal&nbsp;srqvStr,&nbsp;apiFunData)<br/>&nbsp;&nbsp;&nbsp;&nbsp;srqvStr&nbsp;=&nbsp;Space(apiFunData)<br/>&nbsp;&nbsp;&nbsp;&nbsp;rqveValue&nbsp;=&nbsp;RegQueryValueEx(apiFunHandle,&nbsp;wSubKey,&nbsp;0&amp;,&nbsp;apiFunType,&nbsp;ByVal&nbsp;srqvStr,&nbsp;apiFunData)<br/>&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;If&nbsp;RegCloseKey(apiFunHandle)&nbsp;&lt;&gt;&nbsp;0&amp;&nbsp;Then&nbsp;apiFunType&nbsp;=&nbsp;-1&amp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;wReadReg&nbsp;=&nbsp;srqvStr<br/>End&nbsp;Function<br/><br/>Function&nbsp;wWriteReg(wMainKey&nbsp;As&nbsp;Long,&nbsp;wKeySubPath&nbsp;As&nbsp;String,&nbsp;ParamArray&nbsp;SKnKV())&nbsp;As&nbsp;Boolean&nbsp;&#39;参数顺序为：根键、子路径主键、要建立的键名,键值列表，（可以一次调用本函数来建立多个同路径的键名，但键值只能为字符串，一只调用最多是16383个），如果写入正确，则函数返回true<br/>&nbsp;&nbsp;&nbsp;&nbsp;Dim&nbsp;KeyLong&nbsp;As&nbsp;Long<br/>&nbsp;&nbsp;&nbsp;&nbsp;Dim&nbsp;Revalue&nbsp;As&nbsp;Long<br/>&nbsp;&nbsp;&nbsp;&nbsp;Dim&nbsp;Keyvalue&nbsp;As&nbsp;String<br/>&nbsp;&nbsp;&nbsp;&nbsp;Dim&nbsp;Sk()&nbsp;As&nbsp;String,&nbsp;Kv()&nbsp;As&nbsp;String<br/>&nbsp;&nbsp;&nbsp;&nbsp;Dim&nbsp;SkKvNum&nbsp;As&nbsp;Integer<br/>&nbsp;&nbsp;&nbsp;&nbsp;Dim&nbsp;i&nbsp;As&nbsp;Integer,&nbsp;Scl&nbsp;As&nbsp;Integer<br/>&nbsp;&nbsp;&nbsp;&nbsp;SkKvNum&nbsp;=&nbsp;(UBound(SKnKV)&nbsp;+&nbsp;1)&nbsp;/&nbsp;2<br/>&nbsp;&nbsp;&nbsp;&nbsp;ReDim&nbsp;Sk(SkKvNum)<br/>&nbsp;&nbsp;&nbsp;&nbsp;ReDim&nbsp;Kv(SkKvNum)<br/>&nbsp;&nbsp;&nbsp;&nbsp;For&nbsp;i&nbsp;=&nbsp;1&nbsp;To&nbsp;SkKvNum<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sk(i)&nbsp;=&nbsp;SKnKV(Scl)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Scl&nbsp;=&nbsp;Scl&nbsp;+&nbsp;1<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Kv(i)&nbsp;=&nbsp;SKnKV(Scl)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Scl&nbsp;=&nbsp;Scl&nbsp;+&nbsp;1<br/>&nbsp;&nbsp;&nbsp;&nbsp;Next<br/>&nbsp;&nbsp;&nbsp;&nbsp;Revalue&nbsp;=&nbsp;RegCr&#101;ateKey(wMainKey,&nbsp;wKeySubPath,&nbsp;KeyLong)<br/>&nbsp;&nbsp;&nbsp;&nbsp;For&nbsp;i&nbsp;=&nbsp;1&nbsp;To&nbsp;SkKvNum<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Revalue&nbsp;=&nbsp;RegSetValueEx(KeyLong,&nbsp;Sk(i),&nbsp;0&amp;,&nbsp;1,&nbsp;ByVal&nbsp;Kv(i),&nbsp;Len(Kv(i))&nbsp;+&nbsp;1)<br/>&nbsp;&nbsp;&nbsp;&nbsp;Next<br/>&nbsp;&nbsp;&nbsp;&nbsp;wWriteReg&nbsp;=&nbsp;True<br/>&nbsp;&nbsp;&nbsp;&nbsp;If&nbsp;Err&nbsp;&lt;&gt;&nbsp;0&nbsp;Then<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Err&nbsp;=&nbsp;0<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;wWriteReg&nbsp;=&nbsp;False<br/>&nbsp;&nbsp;&nbsp;&nbsp;End&nbsp;If<br/>End&nbsp;Function<br/><br/>Function&nbsp;wProgress(wPictureBox&nbsp;As&nbsp;Control,&nbsp;ByVal&nbsp;wPercent)<br/>&nbsp;&nbsp;&nbsp;&nbsp;Dim&nbsp;Num&nbsp;As&nbsp;String<br/>&nbsp;&nbsp;&nbsp;&nbsp;Dim&nbsp;BarString&nbsp;As&nbsp;String<br/>&nbsp;&nbsp;&nbsp;&nbsp;If&nbsp;Not&nbsp;wPictureBox.AutoRedraw&nbsp;Then<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;wPictureBox.AutoRedraw&nbsp;=&nbsp;-1<br/>&nbsp;&nbsp;&nbsp;&nbsp;End&nbsp;If<br/>&nbsp;&nbsp;&nbsp;&nbsp;wPictureBox.Cls<br/>&nbsp;&nbsp;&nbsp;&nbsp;wPictureBox.ScaleWidth&nbsp;=&nbsp;100<br/>&nbsp;&nbsp;&nbsp;&nbsp;wPictureBox.DrawMode&nbsp;=&nbsp;10<br/>&nbsp;&nbsp;&nbsp;&nbsp;Num&nbsp;=&nbsp;BarString&nbsp;&amp;&nbsp;Format$(wPercent,&nbsp;&#34;###&#34;)&nbsp;+&nbsp;&#34;%&#34;<br/>&nbsp;&nbsp;&nbsp;&nbsp;wPictureBox.CurrentX&nbsp;=&nbsp;50&nbsp;-&nbsp;wPictureBox.TextWidth(Num)&nbsp;/&nbsp;2<br/>&nbsp;&nbsp;&nbsp;&nbsp;wPictureBox.CurrentY&nbsp;=&nbsp;(wPictureBox.ScaleHeight&nbsp;-&nbsp;wPictureBox.TextHeight(Num))&nbsp;/&nbsp;2<br/>&nbsp;&nbsp;&nbsp;&nbsp;wPictureBox.Print&nbsp;Num<br/>&nbsp;&nbsp;&nbsp;&nbsp;wPictureBox.Line&nbsp;(0,&nbsp;0)-(wPercent,&nbsp;wPictureBox.ScaleHeight),&nbsp;RGB(22,&nbsp;17,&nbsp;238),&nbsp;BF<br/>&nbsp;&nbsp;&nbsp;&nbsp;wPictureBox.Refresh<br/>End&nbsp;Function<br/><br/><br/><br/><br/>&#39;引用自<a href="http://topic.csdn.net/u/20080529/00/573e70c3-e6c5-43be-86da-8654e8fb841b.html" target="_blank">http://topic.csdn.net/u/20080529/00/573e70c3-e6c5-43be-86da-8654e8fb841b.html</a>&nbsp;&nbsp;<br/>感谢wstar&nbsp;]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.is21.cn/default.asp?id=369" /> 
	  <id>http://www.is21.cn/default.asp?id=369</id> 
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[键盘鼠标全局钩子]]></title>
	  <author>
		 <name>admin</name>
		 <uri>http://www.is21.cn/</uri>
		 <email>lianxiangpanjin@163.com</email>
	  </author>
	  <category term="" scheme="http://www.is21.cn/default.asp?cateID=20" label="vb" /> 
	  <updated>2008-06-17T02:21:09+08:00</updated>
	  <published>2008-06-17T02:21:09+08:00</published>
		  <summary type="html"><![CDATA[<img src="http://www.is21.cn/images/download.gif" alt="下载文件" style="margin:0px 2px -4px 0px"/> <a href="http://www.is21.cn/attachments/month_0806/6200861722055.rar" target="_blank">点击下载此文件</a><br/><br/><br/>&#39;引用自网上不知名<br/>]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.is21.cn/default.asp?id=368" /> 
	  <id>http://www.is21.cn/default.asp?id=368</id> 
  </entry>	
		
</feed>