﻿<?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>IT博客-剑飘红</title><link>http://www.cnitblog.com/charen/</link><description>Charen's blog of IT&amp;Life </description><language>zh-cn</language><lastBuildDate>Wed, 29 Apr 2026 06:01:12 GMT</lastBuildDate><pubDate>Wed, 29 Apr 2026 06:01:12 GMT</pubDate><ttl>60</ttl><item><title>vb窗口最大化问题的解决方法</title><link>http://www.cnitblog.com/charen/archive/2008/03/16/41014.html</link><dc:creator>何剑新</dc:creator><author>何剑新</author><pubDate>Sun, 16 Mar 2008 14:17:00 GMT</pubDate><guid>http://www.cnitblog.com/charen/archive/2008/03/16/41014.html</guid><wfw:comment>http://www.cnitblog.com/charen/comments/41014.html</wfw:comment><comments>http://www.cnitblog.com/charen/archive/2008/03/16/41014.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/charen/comments/commentRss/41014.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/charen/services/trackbacks/41014.html</trackback:ping><description><![CDATA[<h4 style="MARGIN: auto 0cm 0pt"><font face=宋体><span lang=EN-US>
<p><span lang=EN-US>VB</span>实现控件与窗体不能同步缩放呢？<span lang=EN-US><o:p></o:p></span></p>
</font>
<p>为什么会出现这种情况呢？原因很简单：当窗体的尺寸缩放(如最大化)时，窗体内的控件的尺寸以及在窗体内的相对位置没有<span style="FONT-FAMILY: Arial">得到相应的调整。事实上，窗体和控件的大小分别是由窗体和控件的Width属性和Height属性确定的。所以，当程序界面设计完成之后，窗体及其内部各控件的Width、Height属性便随之确定下来；从而窗体相对于每一个控件，它们的宽度之比、高度之比也被确定下来。</span><br>&nbsp;&nbsp;&nbsp;例如：如果窗体Form1内的一个文本框控件Text1的宽度(Width)为3600，高度(Height)为1900，；而窗体Form1的这两个值分别为4900和3700，则它们的宽度之比和高度之比分别为：3600／4900、1900／3700。而当用户在程序启动后调整了窗体的尺寸，则窗体的宽度和高度分别为Form1.ScaleWidth和Form1.ScaleHeight。由此可以看出，要保证控件与窗体之间的原有比例，只要按比例来调整文本框控件Text1的高度和宽度值即可。即：</p>
<p>　　调整后的<span lang=EN-US>Text1</span>的<span lang=EN-US>Width</span>值<span lang=EN-US>&#922;(3600</span>／<span lang=EN-US>4900)&#215;Form1.ScaleWidth</span></p>
<p>　　调整后的<span lang=EN-US>Text1</span>的<span lang=EN-US>Height</span>值<span lang=EN-US>&#922;(1900</span>／<span lang=EN-US>3700)&#215;Form1.ScaleHeight</span></p>
<p>　　将上面的例子中得出的结论推而广之：一般而言，当窗体尺寸调整后，窗体内控件的尺寸应按以下公式同步进行调整：调整后的控件的<span lang=EN-US>Width</span>值<span lang=EN-US>&#922;(</span>控件原<span lang=EN-US>Width</span>值／窗体原<span lang=EN-US>Width</span>值<span lang=EN-US>)&#215;</span>窗体<span lang=EN-US>.ScaleWidth</span>；调整后的控件的<span lang=EN-US>Height</span>属性值<span lang=EN-US>&#922;(</span>控件原<span lang=EN-US>Height</span>值／窗体原<span lang=EN-US>Height</span>值<span lang=EN-US>)&#215;</span>窗体<span lang=EN-US>.ScaleHeight</span>。</p>
<p>　　窗体尺寸缩放的同时，窗体内的控件在窗体中的相对位置应如何同步调整呢？控件在窗体中的位置由该控件的<span lang=EN-US>Left</span>和<span lang=EN-US>Top</span>属性确定。程序启动后如果窗体被缩放，只要按照缩放的比例来重新调整窗体内各控件的<span lang=EN-US>Left</span>和<span lang=EN-US>Top</span>属性值即可。因此，根据上面介绍的同步调整控件尺寸的原理，在窗体被缩放的同时，只要按照下面的关系来设置控件的<span lang=EN-US>Left</span>和<span lang=EN-US>Top</span>值即可；调整后控件的<span lang=EN-US>Left</span>值<span lang=EN-US>&#922;(</span>控件原<span lang=EN-US>Left</span>值／窗体原<span lang=EN-US>Left</span>值<span lang=EN-US>)&#215;</span>窗体<span lang=EN-US>.ScaleWidth</span>；调整后控件的<span lang=EN-US>Top</span>值<span lang=EN-US>&#922;(</span>控件原<span lang=EN-US>Top</span>值／窗体原<span lang=EN-US>Top</span>值<span lang=EN-US>)&#215;</span>窗体<span lang=EN-US>.ScaleHeight</span>。</p>
<p>　　上面谈了控件与窗体同步缩放及保持相对位置的原理，下面看看在<span lang=EN-US>VB</span>程序中实现的具体方法。我们知道，<span lang=EN-US>Resize</span>事件是窗体响应的一个事件；当窗体第一次显示或当窗体的状态被改变时<span lang=EN-US>(</span>如窗体被最大化、最小化或被还原时<span lang=EN-US>)</span>该事件发生。所以，只要将对控件大小和位置的调整代码写入窗体的<span lang=EN-US>Resize</span>事件中便可达到目的。具体可在窗体的<span lang=EN-US>Re size</span>事件过程中使用对象的<span lang=EN-US>Move</span>方法：</p>
<p>　　<span lang=EN-US>PrivateSubForm-Resize()</span></p>
<p>　　<span lang=EN-US>Object.moveNewleft</span>，<span lang=EN-US>Newtop</span>，<span lang=EN-US>NewWidth</span>，<span lang=EN-US>NewHeight</span></p>
<p>　　<span lang=EN-US>EndSub</span></p>
<p>　　其中：<span lang=EN-US>Object</span>是需要调整大小和位置的任意一个控件的名称；<span lang=EN-US>NewLeft</span>、<span lang=EN-US>NewTop</span>、<span lang=EN-US>NewWidth</span>与<span lang=EN-US>NewHeight</span>分别是窗体缩放后控件应有的新的<span lang=EN-US>Left</span>、<span lang=EN-US>Top</span>、<span lang=EN-US>Width</span>与<span lang=EN-US>Height</span>的属性值，它们确定了当窗体被缩放后控件的大小和位置。<span lang=EN-US>NewWidth</span>、<span lang=EN-US>NewHeight</span>、<span lang=EN-US>NewLeft</span>和<span lang=EN-US>NewTop</span>可直接使用文中给出的相应公式的表达式。</p>
<p>　　最后要注意的是，不要对窗体内的不可见控件(如果有的话)进行类似的处理，否则会出错。</p>
<br>下面的代码可以实现，vb</span>窗口最大化的时候，里面的控件一起变化</h4>
<p><font face=宋体><span lang=EN-US>Option Explicit<br>Private InitWidth As Long&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' Form </span>的原始大小</font><span lang=EN-US><br><font face=宋体>Private InitHeight As Long </font></span></p>
<p><font face=宋体><span lang=EN-US>Private Sub Form_Load()<br>InitWidth = ScaleWidth<br>InitHeight = ScaleHeight<br>Dim Ctl As Control<br>' </span>记录每个<span lang=EN-US> Control </span>的原始位置、大小、字型大小<span lang=EN-US>, </span>放在<span lang=EN-US> Tag </span>属性中</font><span lang=EN-US><br><font face=宋体>On Error Resume Next '</font></span><font face=宋体>确保<span lang=EN-US>left, top, width, height, Tag</span>属性没有全有的</font><font face=宋体><span lang=EN-US>Control<br>For Each Ctl In Me&nbsp;&nbsp; '</span>也能正常执行</font><span lang=EN-US><br><font face=宋体>&nbsp;&nbsp;&nbsp;&nbsp;Ctl.Tag = Ctl.Left &amp; " " &amp; Ctl.Top &amp; " " &amp; Ctl.Width &amp; " " &amp; Ctl.Height &amp; " "<br>&nbsp;&nbsp;&nbsp;&nbsp;Ctl.Tag = Ctl.Tag &amp; Ctl.FontSize &amp; " "<br>Next Ctl<br>On Error GoTo 0<br>End Sub </font></span></p>
<p><span lang=EN-US><font face=宋体>Private Sub Form_Resize()<br>Dim D(4) As Double<br>Dim I As Long<br>Dim TempPos As Long<br>Dim StartPos As Long<br>Dim Ctl As Control<br>Dim TempVisible As Boolean<br>Dim ScaleX As Double<br>Dim ScaleY As Double </font></span></p>
<p><font face=宋体><span lang=EN-US>ScaleX = ScaleWidth / InitWidth<br>ScaleY = ScaleHeight / InitHeight<br>On Error Resume Next<br>For Each Ctl In Me<br>&nbsp;&nbsp;&nbsp;&nbsp;TempVisible = Ctl.Visible<br>&nbsp;&nbsp;&nbsp;&nbsp;Ctl.Visible = False<br>&nbsp;&nbsp;&nbsp;&nbsp;StartPos = 1<br>&nbsp;&nbsp;&nbsp;&nbsp;' </span>读取<span lang=EN-US> Control </span>的原始位置、大小、字型大小</font><span lang=EN-US><br><font face=宋体>&nbsp;&nbsp;&nbsp;&nbsp;For I = 0 To 4<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TempPos = InStr(StartPos, Ctl.Tag, " ", vbTextCompare)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If TempPos &gt; 0 Then<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;D(I) = Mid(Ctl.Tag, StartPos, TempPos - StartPos)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;StartPos = TempPos + 1<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Else<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;D(I) = 0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;End If<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;' </font></span><font face=宋体>根据比例设定<span lang=EN-US> Control </span>的位置、大小、字型大小</font><span lang=EN-US><br><font face=宋体>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ctl.Move D(0) * ScaleX, D(1) * ScaleY, D(2) * ScaleX, D(3) * ScaleY<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'Ctl.Width = D(2) * ScaleX<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'Ctl.Height = D(3) * ScaleY<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If ScaleX &lt; ScaleY Then<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ctl.FontSize = D(4) * ScaleX<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Else<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ctl.FontSize = D(4) * ScaleY<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;End If<br>&nbsp;&nbsp;&nbsp;&nbsp;Next I<br>&nbsp;&nbsp;&nbsp;&nbsp;Ctl.Visible = TempVisible<br>Next Ctl<br>On Error GoTo 0<br>End Sub</font></span></p><img src ="http://www.cnitblog.com/charen/aggbug/41014.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/charen/" target="_blank">何剑新</a> 2008-03-16 22:17 <a href="http://www.cnitblog.com/charen/archive/2008/03/16/41014.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Windows 2000 professional版下也用远程桌面！</title><link>http://www.cnitblog.com/charen/archive/2008/03/06/40567.html</link><dc:creator>何剑新</dc:creator><author>何剑新</author><pubDate>Thu, 06 Mar 2008 03:29:00 GMT</pubDate><guid>http://www.cnitblog.com/charen/archive/2008/03/06/40567.html</guid><wfw:comment>http://www.cnitblog.com/charen/comments/40567.html</wfw:comment><comments>http://www.cnitblog.com/charen/archive/2008/03/06/40567.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.cnitblog.com/charen/comments/commentRss/40567.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/charen/services/trackbacks/40567.html</trackback:ping><description><![CDATA[<h2 style="FONT-SIZE: 10pt">在网络上找了很多文章，说法不一，有的说实现不了，有的方法太过复杂，其实方法很简单，用windows自带的工具就可以解决这个问题。<br>默认状态下，Windows 2000 professiona及其之前的<span class=t_tag onclick=tagshow(event) href="tag.php?name=%CF%B5%CD%B3">系统</span>并没有安装远程桌面，要想在这些<span class=t_tag onclick=tagshow(event) href="tag.php?name=%CF%B5%CD%B3">系统</span>中使用远程桌面，需要自己手工添加。在Windows XP系统安装光盘的&#8220;<font size=5>SUPPORTTOOLS</font>&#8221;目录中，可找到一个名为<font size=5><font color=darkorange><font color=#999999 size=2>"</font>Msrdpcli.exe</font></font>&#8221;的程序，它实际上就是远程桌面连接登录器。将此程序复制到没有远程桌面的系统中并运行后，即可<span class=t_tag onclick=tagshow(event) href="tag.php?name=%D7%D4%B6%AF">自动</span>在系统中安装远程桌面连接程序。安装过程非常简单，连续点击&#8220;下一步&#8221;即可，当安装完成后，点击&#8220;Start&#8594;Program&#8594;Remote Desktop Connection&#8221;，便能登录<span class=t_tag onclick=tagshow(event) href="tag.php?name=%CD%F8%C2%E7">网络</span>连接远程<span class=t_tag onclick=tagshow(event) href="tag.php?name=%BC%C6%CB%E3%BB%FA">计算机</span>了。</h2><img src ="http://www.cnitblog.com/charen/aggbug/40567.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/charen/" target="_blank">何剑新</a> 2008-03-06 11:29 <a href="http://www.cnitblog.com/charen/archive/2008/03/06/40567.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>教你一招！多种ADSL宽带提速方法</title><link>http://www.cnitblog.com/charen/archive/2007/10/22/35183.html</link><dc:creator>何剑新</dc:creator><author>何剑新</author><pubDate>Mon, 22 Oct 2007 06:05:00 GMT</pubDate><guid>http://www.cnitblog.com/charen/archive/2007/10/22/35183.html</guid><wfw:comment>http://www.cnitblog.com/charen/comments/35183.html</wfw:comment><comments>http://www.cnitblog.com/charen/archive/2007/10/22/35183.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/charen/comments/commentRss/35183.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/charen/services/trackbacks/35183.html</trackback:ping><description><![CDATA[ADSL宽带,是目前很多家庭用户所采用的宽带接入方式，但是在国内网络环境并不是很好的情况下，如何能让我在网上能够快速的浏览网页、收发邮件、传输文件以及网上游戏，就是很多用户都梦想的。那么我们今天就和大家一起来探讨一下，如何在现有基础上，提高我们的网速。<br>　　首先，我们要选择合适的ISP（网络接入服务商）。我们在选择ISP时，往往比较注重接入费用、每小时的服务费用等，然而我们大部分人都忽略了一个关键问题，就是接入带宽。不同ISP所宣传的网络带宽也是不同的，我们必须要先搞清楚ISP所说的带宽是独享还是共享。对于共享的带宽，同时使用的用户越多，我们上网的速率也就越慢。对于不同的ISP，我们可以致电其客户服务中心或到其营业部索取相关的技术资料，也可以到网络上查询相关资料，通过了解更多的信息，选择合适的ISP。<br>　　其次，我们还要在硬件上对网络进行优化。我们可能都没有注意过走线问题，ADSL一般都是用的电话线来作为传输线，其工作原理就是在普通电话线的低频语音上叠加高频数字信号，再通过&#8220;猫&#8221;的接收解码来传输数字信息，为了确保数据不受外界干扰，最好能将电话线和ADSL数据传输线分开，这样在上网时就能避免很多问题。而且注意布线时不要和电源线平行走线，因为电源线有很强的电磁波，它会对高频数字信号产生非常强的干扰作用，使传输不稳定从而影响速度。<br>　　再次，我们可以通过修改自己电脑的设置来提高上网速度。Win XP系统通过使用QoS（Quality of Service）中RSVP协议的来管理网络流量，一般情况下都能改善网络的数据传输速度，但是，如果用户使用的应用程序不能很好地使用QoS API．（接口程序），则会占用网络带宽，反而会导致网络交通拥堵。可以通过修改保留带宽的值来实现网络&#8220;提速&#8221;。　　<br>　　我们以管理员身份登录，运行命令&#8220;gpedit．msc&#8221;即可进入到&#8220;组策略&#8221;编辑窗口。依次点击&#8220;计算机设置&#8221;—&#8220;管理模块&#8221;—&#8220;网络&#8221;—&#8220;QoS数据包调度程序&#8221;，然后在右边选中&#8220;限制可保留带宽&#8221;，右击它，选择&#8220;属性&#8221;，即可打开它的属性窗口，将&#8220;限制带宽&#8221;相对应的值修改为&#8220;0&#8221;，即可释放被保留的带宽。<br>我们还可以修改注册表来优化网速，但是需要大家注意的是，这样的方法极有可能导致系统不稳定甚至崩溃，请事先备份注册表，以便在故障时恢复。　　<br>　　可以修改的键值如下：　　<br>1．MaxMT：修改最大传输单位。<br>2．DefaultRcvWindow和DefaultTTL设置传输单元缓冲区的大小值和TCP/IP分组寿命。<br>3．设置DNS查询优先：提高网页的浏览速度。<br>4．提高TCP/IP使用的RAM：增加TCP/IP所使用的缓冲来提高数据速率。<br>　　最后，就是利用软件来优化网速。网上有很多基于ADSL的优化软件，我们可以借助这些软件来对ADSL进行优化，这些软件通常是从硬件本身开始优化，结合着对系统中相关的参数进行最优化设置来达到优化的目的。<br>　　最为广大网友用到的就是ADSL超频奇兵，这是目前十分出色的一款ADSL加速软件。它通过修改PC系统注册表中原来专为低速接入而设置的TCP/IP默认参数，以适应PPPoE方式的ADSL接入。实测可以提高一倍左右的下载速度，并解决了ADSL浏览网页停顿，速度减慢的问题。ADSL超频奇兵的操作极其简便，所有工作都在后台进行。程序提供了两种优化方案，一种是普通超频，另一种则是高级超频，普通超频使用方法很简单，直接单击运行窗口中的&#8220;普通超频&#8221;按钮，程序即可使用默认的优化参数代替系统的当前参数，就可达到优化目的。高级超频设置需单击运行窗口的&#8220;高级超频&#8221;按钮打开高级超频的窗口。 <br>　　值得一提的是，超频奇兵提供了&#8220;系统恢复&#8221;的功能，如果你对先前的优化设置不满意，或者是优化后出现了问题，可以通过此功能将系统恢复到优化之前的状态，从而避免设置出现不必要的麻烦。操作也很简单：单击高级超频窗口中的&#8220;系统恢复&#8221;按钮即可。<br>　　我们的用户在上网时，最注重的就是网速问题。但是我们目前ADSL宽带，总是不能让我们的用户满意，这时我们就只有自己来想办法去解决。通过上面的几种方法，我们可以根据自己的实际情况来进行优化，让网速真正的飞起来。<br><br><img src ="http://www.cnitblog.com/charen/aggbug/35183.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/charen/" target="_blank">何剑新</a> 2007-10-22 14:05 <a href="http://www.cnitblog.com/charen/archive/2007/10/22/35183.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>53条EXCEL使用技巧 (转载)</title><link>http://www.cnitblog.com/charen/archive/2007/10/17/34993.html</link><dc:creator>何剑新</dc:creator><author>何剑新</author><pubDate>Wed, 17 Oct 2007 04:54:00 GMT</pubDate><guid>http://www.cnitblog.com/charen/archive/2007/10/17/34993.html</guid><wfw:comment>http://www.cnitblog.com/charen/comments/34993.html</wfw:comment><comments>http://www.cnitblog.com/charen/archive/2007/10/17/34993.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/charen/comments/commentRss/34993.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/charen/services/trackbacks/34993.html</trackback:ping><description><![CDATA[&nbsp;
<p><span>53</span><span>条</span><span>EXCEL</span><span>使用技巧</span><span> (</span><span>转载</span><span>)</span></p>
<p><span>Excel</span><span>使用技巧全攻略</span></p>
<p><span>&nbsp;</span><span><span>&nbsp;&nbsp; </span>53</span><span>条</span><span>EXCEL</span><span>使用技巧</span> </p>
<p><span>01</span><span>、如何在已有的单元格中批量加入一段固定字符？</span> <br><span>例如：在单位的人事资料，在</span><span>excel</span><span>中输入后，由于上级要求在原来的职称证书的号码全部再加两位，即要在每个人的证书号码前再添上两位数</span><span>13</span><span>，如果一个一个改的话实在太麻烦了，那么我们可以用下面的办法，省时又省力：</span> </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;<span>1</span><span>）假设证书号在</span><span>A</span><span>列，在</span><span>A</span><span>列后点击鼠标右键，插入一列，为</span><span>B</span><span>列；</span> </p>
<p>&nbsp;</p>
<p><span>&nbsp;&nbsp;&nbsp;2</span><span>）在</span><span>B2</span><span>单元格写入：</span><span> ="13" &amp; A2 </span><span>后回车；</span> </p>
<p>&nbsp;</p>
<p><span>&nbsp;&nbsp;&nbsp;3</span><span>）看到结果为</span><span> 13xxxxxxxxxxxxx </span><span>了吗？鼠标放到</span><span>B2</span><span>位置，单元格的下方不是有一个小方点吗，按着鼠标左键往下拖动直到结束。当你放开鼠标左键时就全部都改好了。</span> <span>若是在原证书号后面加</span><span>13 </span><span>则在</span><span>B2</span><span>单元格中写入：</span><span>=A2 &amp; </span><span>&#8220;</span><st1:chmetcnv w:st="on" TCSC="0" NumberType="1" Negative="False" HasSpace="False" SourceValue="13" UnitName="&#8221;"><span>13</span><span>&#8221;</span></st1:chmetcnv> <span>后回车。</span> </p>
<p>&nbsp;</p>
<p><span>02</span><span>、如何设置文件下拉窗口的最下面的最近运行的文件名个数？</span> </p>
<p>&nbsp;<span>打开&#8220;工具&#8221;，选&#8220;选项&#8221;，再选&#8220;常规&#8221;，在&#8220;最近使用的文件清单&#8221;下面的文件个数输入框中改变文件数目即可。若不在菜单中显示最近使用的文件名，则将&#8220;最近使用的文件清单&#8221;前的复选框去掉即可。</span> </p>
<p>&nbsp;</p>
<p><span>03</span><span>、在</span><span>EXCEL</span><span>中输入如&#8220;</span><span>1<st1:chmetcnv w:st="on" TCSC="0" NumberType="1" Negative="True" HasSpace="False" SourceValue="1" UnitName="&#8221;">-1<span><span>&#8221;</span></span></st1:chmetcnv><span>、&#8220;</span>1<st1:chmetcnv w:st="on" TCSC="0" NumberType="1" Negative="True" HasSpace="False" SourceValue="2" UnitName="&#8221;">-2<span><span>&#8221;</span></span></st1:chmetcnv><span>之类的格式后它即变成</span><st1:chsdate w:st="on" IsROCDate="False" IsLunarDate="False" Day="1" Month="1" Year="2007">1<span><span>月</span></span>1<span><span>日</span></span></st1:chsdate><span>，</span><st1:chsdate w:st="on" IsROCDate="False" IsLunarDate="False" Day="2" Month="1" Year="2007">1<span><span>月</span></span>2<span><span>日</span></span></st1:chsdate><span>等日期形式，怎么办？</span></span> </p>
<p>&nbsp;<span>这是由于</span><span>EXCEL</span><span>自动识别为日期格式所造成，你只要点击主菜单的&#8220;格式&#8221;菜单，选&#8220;单元格&#8221;，再在&#8220;数字&#8221;菜单标签下把该单元格的格式设成文本格式就行了。</span> </p>
<p>&nbsp;</p>
<p><span>04</span><span>、在</span><span>EXCEL</span><span>中如何使它象</span><span>WORD</span><span>一样的自动定时保存文件？</span> </p>
<p>&nbsp;<span>点击&#8220;工具&#8221;菜单&#8220;自动保存&#8221;项，设置自动保存文件夹的间隔时间。如果在&#8220;工具&#8221;菜单下没有&#8220;自动保存&#8221;菜单项，那么执行&#8220;工具&#8221;菜单下&#8220;加载宏</span><span>...</span><span>&#8221;选上&#8220;自动保存&#8221;，&#8220;确定&#8221;。然后进行设置即可。</span> </p>
<p>&nbsp;</p>
<p><span>05</span><span>、用</span><span>Excel</span><span>做多页的表格时，怎样像</span><span>Word</span><span>的表格那样做一个标题，即每页的第一行（或几行）是一样的。但是不是用页眉来完成？</span> </p>
<p>&nbsp;<span>在</span><span>EXCEL</span><span>的文件菜单－页面设置－工作表－打印标题；可进行顶端或左端标题设置，通过按下折叠对话框按钮后，用鼠标划定范围即可。这样</span><span>Excel</span><span>就会自动在各页上加上你划定的部分作为表头。</span> </p>
<p>&nbsp;</p>
<p><span>06</span><span>、在</span><span>Excel</span><span>中如何设置加权平均？</span> </p>
<p>&nbsp;<span>加权平均在财务核算和统计工作中经常用到，并不是一项很复杂的计算，关键是要理解加权平均值其实就是总量值（如金额）除以总数量得出的单位平均值，而不是简单的将各个单位值（如单价）平均后得到的那个单位值。在</span><span>Excel</span><span>中可设置公式解决（其实就是一个除法算式），分母是各个量值之和，分子是相应的各个数量之和，它的结果就是这些量值的加权平均值。</span> </p>
<p>&nbsp;</p>
<p><span>07</span><span>、如果在一个</span><span>Excel</span><span>文件中含有多个工作表，如何将多个工作表一次设置成同样的页眉和页脚？如何才能一次打印多个工作表？</span> </p>
<p>&nbsp;<span>把鼠标移到工作表的名称处（若你没有特别设置的话，</span><span>Excel</span><span>自动设置的名称是&#8220;</span><span>sheet1</span><span>、</span><span>sheet2</span><span>、</span><span>sheet3.......</span><span>&#8221;），然后点右键，在弹出的菜单中选择&#8220;选择全部工作表&#8221;的菜单项，这时你的所有操作都是针对全部工作表了，不管是设置页眉和页脚还是打印你工作表。</span> </p>
<p>&nbsp;</p>
<p><span>08</span><span>、</span><span>EXCEL</span><span>中有序号一栏，由于对表格进行调整，序号全乱了</span><span>,</span><span>可要是手动一个一个改序号实在太慢太麻烦，用什么方法可以快速解决？</span> </p>
<p>&nbsp;<span>如果序号是不应随着表格其他内容的调整而发生变化的话，那么在制作</span><span>EXCEL</span><span>表格时就应将序号这一字段与其他字段分开，如在&#8220;总分&#8221;与&#8220;排名&#8221;之间空开一列，为了不影响显示美观，可将这一空的列字段设为隐藏，这样在调整表格（数据清单）的内容时就不会影响序号了。</span> </p>
<p>&nbsp;</p>
<p><span>09</span><span>、用</span><span>Excel2000</span><span>做成的工资表，只有第一个人有工资条的条头（如编号、姓名、岗位工资</span><span>.......)</span><span>，想输出成工资条的形式。怎么做？</span> </p>
<p>&nbsp;<span>这个问题应该这样解决：先复制一张工资表，然后在页面设置中选中工作表选项，设置打印工作表行标题，选好工资条的条头，然后在每一个人之间插入行分页符，再把页长设置成工资条的高度即可。</span> <span>使用自定义方式重装了一遍中文</span><span>office</span><span>，</span><span>Excel</span><span>的打印纸选项中只有</span><span>A4</span><span>一种，怎么办？</span> <span>随便安装一个打印机驱动程序就可以了。</span> </p>
<p>&nbsp;</p>
<p><span>10</span><span>、在</span><span>Excel</span><span>中小数点无法输入，按小数点，显示的却是逗号，无论怎样设置选项都无济于事，该怎么办？</span> </p>
<p>&nbsp;<span>这是一个比较特殊的问题，我曾为此花了十几个小时的时间，但说白了很简单。在</span><span>Windows</span><span>的控制面板中，点击&#8220;区域设置&#8221;图标，在弹出的&#8220;区域设置属性&#8221;对话面板上在&#8220;区域设置&#8221;里选择&#8220;中文（中国）&#8221;，在&#8220;区域设置属性&#8221;对话面板上在&#8220;数字&#8221;属性里把小数点改为&#8220;</span><span>.</span><span>&#8221;（未改前是&#8220;，&#8221;），按&#8220;确定&#8221;按钮结束。这样再打开</span><span>Excel</span><span>就一切都正常了。</span> </p>
<p>&nbsp;</p>
<p><span>11</span><span>、如何快速选取特定区域？</span> </p>
<p>&nbsp;<span>使用</span><span>F5</span><span>键可以快速选取特定区域。例如，要选取</span><span>A2</span><span>：</span><span>A1000</span><span>，最简便的方法是按</span><span>F5</span><span>键，出现&#8220;定位&#8221;窗口，在&#8220;引用&#8221;栏内输入需选取的区域</span><span>A2</span><span>：</span><span>A1000</span><span>。</span> </p>
<p>&nbsp;</p>
<p><span>12</span><span>、如何快速返回选中区域？</span> </p>
<p>&nbsp;<span>按</span><span>Ctr+BacksPae</span><span>（即退格键）。</span> </p>
<p>&nbsp;</p>
<p><span>13</span><span>、如何快速定位到单元格？</span> </p>
<p>&nbsp;<span>方法一：按</span><span>F5</span><span>键，出现&#8220;定位&#8221;对话框，在引用栏中输入欲跳到的单元格地址，单市&#8220;确定&#8221;按钮即可。</span> </p>
<p>&nbsp;<span>方法二：单击编辑栏左侧单元格地址框，输入单元格地址即可。</span> </p>
<p>&nbsp;<br><span>14</span><span>、&#8220;</span><span>Ctrl</span><span>＋</span><span>*</span><span>&#8221;的特殊功用</span> </p>
<p>&nbsp;<span>一般来说，当处理一个工作表中有很多数据的表格时，通过选定表格中某个单元格，然后按下</span><span> Ctrl</span><span>＋</span><span>* </span><span>键可选定整个表格。</span><span>Ctfl</span><span>＋</span><span>* </span><span>选定的区域是这样决定的：根据选定单元格向四周辐射所涉及到的有数据单元格的最大区域。</span> </p>
<p>&nbsp;</p>
<p><span>15</span><span>、如何快速选取工作表中所有包含公式的单元格？</span> </p>
<p>&nbsp;<span>有时，需要对工作表中所有包含公式的单元格加以保护，或填入与其他单元格不同的颜色，以提醒用户注意不能在有此颜色的区域内输入数据。以下方法可以帮助快速选取所有包含公式的单元格：选择&#8220;编辑&#8221;</span><span>\</span><span>&#8220;定位&#8221;，单击&#8220;定位条件&#8221;按钮，在&#8220;定位条件&#8221;对话框中选择&#8220;公式&#8221;项，按&#8220;确定&#8221;按钮即可。</span> </p>
<p>&nbsp;</p>
<p><span>16</span><span>、如何在不同单元格中快速输入同一数内容？</span> </p>
<p>&nbsp;<span>选定单元格区域，输入值，然后按</span><span> Ctrl</span><span>＋</span><span> Ener</span><span>键，即可实现在选定的单元格区域中一次性输入相同的值。</span> </p>
<p>&nbsp;</p>
<p><span>17</span><span>、只记得函数的名称，但记不清函数的参数了，怎么办？</span> </p>
<p>&nbsp;<span>如果你知道所要使用函数的名字，但又记不清它的所有参数格式，那么可以用键盘快捷键把参数粘贴到编辑栏内。</span> </p>
<p>&nbsp;<span>具体方法是：在编辑栏中输入一个等号其后接函数名，然后按</span><span> Ctr</span><span>＋</span><span> A</span><span>键，</span><span>Excel</span><span>则自动进入&#8220;函数指南——步骤</span><span> 2</span><span>之</span><span>2</span><span>&#8221;。当使用易于记忆的名字且具有很长一串参数的函数时，上述方法显得特别有用。</span> </p>
<p>&nbsp;</p>
<p><span>18</span><span>、如何把选定的一个或多个单元格拖放至新的位置？</span> </p>
<p>&nbsp;<span>按住</span><span>Shift</span><span>键可以快速修改单元格内容的次序。</span> </p>
<p>&nbsp;<span>具体方法是：</span> <span>选定单元格，按下</span><span>Shift</span><span>键，移动鼠标指针至单元格边缘，直至出现拖放指针箭头（空心箭头），然后按住鼠标左键进行拖放操作。上下拖拉时鼠标在单元格间边界处会变为一个水平&#8220;工&#8221;状标志，左右拖拉时会变为垂直&#8220;工&#8221;状标志，释放鼠标按钮完成操作后，选定的一个或多个单元格就被拖放至新的位置。</span> </p>
<p>&nbsp;</p>
<p><span>&nbsp;</span></p>
<p>&nbsp;</p>
<p><span>19</span><span>、如何让屏幕上的工作空间变大？</span> </p>
<p>&nbsp;<span>可以将不用的工具栏隐藏，也可以极大化</span><span>Excel</span><span>窗口，或者在&#8220;视图&#8221;菜单中选择&#8220;全屏显示&#8221;命令。</span> </p>
<p>&nbsp;</p>
<p><span>20</span><span>、如何使用快显菜单？</span> </p>
<p>&nbsp;<span>快显菜单中包括了一些操作中最常用的命令，利用它们可以大大提高操作效率。首先选定一个区域，然后单击鼠标右健即可调出快显菜单，根据操作需要选择不同命令。</span> </p>
<p>&nbsp;</p>
<p><span>21</span><span>、如何使用快显菜单？</span> </p>
<p>&nbsp;<span>快显菜单中包括了一些操作中最常用的命令，利用它们可以大大提高操作效率。首先选定一个区域，然后单击鼠标右健即可调出快显菜单，根据操作需要选择不同命令。</span> </p>
<p>&nbsp;</p>
<p><span>22</span><span>、如何防止</span><span>Excel</span><span>自动打开太多文件？</span> </p>
<p>&nbsp;<span>当</span><span>Excel</span><span>启动时，它会自动打开</span><span>Xlstart</span><span>目录下的所有文件。当该目录下的文件过多时，</span><span>Excel</span><span>加载太多文件不但费时而且还有可能出错。解决方法是将不该位于</span><span>Xlstart</span><span>目录下的文件移走。另外，还要防止</span><span>EXcel</span><span>打开替补启动目录下的文件：选择&#8220;工具&#8221;</span><span>\</span><span>&#8220;选项&#8221;</span><span>\</span><span>&#8220;普通&#8221;，将&#8220;替补启动目录&#8221;一栏中的所有内容删除。</span> </p>
<p>&nbsp;</p>
<p><span>23</span><span>、如何去掉网格线？</span> </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;<span>1</span><span>）除去编辑窗口中的表格线</span> </p>
<p><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;单击&#8220;工具&#8221;菜单中的&#8220;选项&#8221;，再选中&#8220;视图&#8221;，找到&#8220;网格线&#8221;，使之失效；</span> </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;<span>2</span><span>）除去打印时的未定义表格线</span> </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;<span>有时会出现这样的情况：你在编辑时未定义的表格线（在编辑窗中看到的也是淡灰色表格线），一般情况下在打印时是不会打印出来的，可有时却偏偏不听使唤给打印出来了，特别是一些所谓的&#8220;电脑&#8221;</span><span>VCD</span><span>中编辑的</span><span>Excel</span><span>表格更是这样。要除去这些表格线，只要在单击&#8220;文件&#8221;、&#8220;页面设置&#8221;、&#8220;工作表&#8221;菜单，点击一下&#8220;网格线&#8221;左边的选择框，取消选择&#8220;网格线&#8221;就行了。</span> </p>
<p>&nbsp;</p>
<p><span>24</span><span>、如何快速格式化报表？</span> </p>
<p>&nbsp;<span>为了制作出美观的报表，需要对报表进行格式化。有快捷方法，即自动套用</span><span>Excel</span><span>预设的表格样式。方法是：</span> <span>选定操作区域，选取&#8220;格式&#8221;菜单中的&#8220;自动套用格式&#8221;命令，在格式列表框中选取一款你满意的格式样式，按&#8220;确定&#8221;按钮即可。要注意的是，格式列表框下面有包括&#8220;数字&#8221;、&#8220;边框线&#8221;、&#8220;字体&#8221;等</span><span>6</span><span>个&#8220;应用格式种类&#8221;选项，若某项前面的&#8220;</span><span>x</span><span>&#8221;不出现，则在套用表格样式时就不会用该项。</span> </p>
<p>&nbsp;</p>
<p><span>25</span><span>、如何快速地复制单元格的格式？</span> </p>
<p>&nbsp;<span>要将某一格式化操作复制到另一部分数据上，可使用&#8220;格式刷&#8221;按钮。选择含有所需源格式的单元格，单击工具条上的&#8220;格式刷&#8221;按钮，此时鼠标变成了刷子形状，然后单击要格式化的单元格即可将格式拷贝过去。</span> </p>
<p>&nbsp;</p>
<p><span>26</span><span>、如何为表格添加斜线？</span> </p>
<p>&nbsp;<span>一般我们习惯表格上有斜线，而工作表本身并没有提供该功能。其实，我们可以使用绘图工具来实现：</span> <span>&#8220;绘图&#8221;按钮，选取&#8220;直线&#8221;，鼠标变成十字型．将其移至要添加斜线的开始位置，按住鼠标左键拖动至终止位置，释放鼠标，斜线就画出来了。另外，使用&#8220;文字框&#8221;按钮可以方便地在斜线上下方添加文字，但文字周围有边框，要想取消它，可选中文字框，调出快显菜单，选择&#8220;对象格式&#8221;</span><span>\</span><span>&#8220;图案&#8221;，选择&#8220;无边框&#8221;项即可。</span> </p>
<p>&nbsp;</p>
<p><span>27</span><span>、如何快速地将数字作为文本输入？</span> </p>
<p>&nbsp;<span>在输入数字前加一个单引号&#8220;&#8217;&#8221;，可以强制地将数字作为文本输入。</span> </p>
<p>&nbsp;</p>
<p><span>28</span><span>、如何定义自己的函数？</span> </p>
<p>&nbsp;<span>用户在</span><span>Excel</span><span>中可以自定义函数。切换至</span><span> Visual Basic</span><span>模块，或插入一页新的模块表（</span><span>Module</span><span>），在出现的空白程序窗口中键入自定义函数</span><span>VBA</span><span>程序，按</span><span>Enter</span><span>确认后完成编</span> <span>写工作，</span><span>Excel</span><span>将自动检查其正确性。此后，在同一工作薄内，你就可以与使用</span><span>Exed</span><span>内部函数一样在工作表中使用自定义函数，如：</span> </p>
<p>&nbsp;</p>
<p><span>Function Zm(a) </span></p>
<p>&nbsp;</p>
<p><span>If a</span><span>＜</span><span> 60 Then im</span><span>＝&#8216;不及格</span></p><img src ="http://www.cnitblog.com/charen/aggbug/34993.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/charen/" target="_blank">何剑新</a> 2007-10-17 12:54 <a href="http://www.cnitblog.com/charen/archive/2007/10/17/34993.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>30秒清除C盘200M垃圾&amp;DEL命令解析 </title><link>http://www.cnitblog.com/charen/archive/2007/10/12/34759.html</link><dc:creator>何剑新</dc:creator><author>何剑新</author><pubDate>Fri, 12 Oct 2007 06:56:00 GMT</pubDate><guid>http://www.cnitblog.com/charen/archive/2007/10/12/34759.html</guid><wfw:comment>http://www.cnitblog.com/charen/comments/34759.html</wfw:comment><comments>http://www.cnitblog.com/charen/archive/2007/10/12/34759.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/charen/comments/commentRss/34759.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/charen/services/trackbacks/34759.html</trackback:ping><description><![CDATA[30秒清除C盘200M垃圾<br>来源：<a href="http://benew.cn&nbsp;/" target=_blank><u><font color=#0000ff>http://benew.cn&nbsp;</font></u></a><br>这个程序是自动清理电脑里的垃圾而不会破坏系统&nbsp;<br>比很多软件都好哦&nbsp;<br>新建一个记事本&nbsp;并输入以下的内容(蓝色部分)：&nbsp;<br><br><br>@echo&nbsp;off&nbsp;<br>echo&nbsp;www.benew.cn......&nbsp;<br>del&nbsp;/f&nbsp;/s&nbsp;/q&nbsp;%systemdrive%\*.tmp&nbsp;<br>del&nbsp;/f&nbsp;/s&nbsp;/q&nbsp;%systemdrive%\*._mp&nbsp;<br>del&nbsp;/f&nbsp;/s&nbsp;/q&nbsp;%systemdrive%\*.log&nbsp;<br>del&nbsp;/f&nbsp;/s&nbsp;/q&nbsp;%systemdrive%\*.gid&nbsp;<br>del&nbsp;/f&nbsp;/s&nbsp;/q&nbsp;%systemdrive%\*.chk&nbsp;<br>del&nbsp;/f&nbsp;/s&nbsp;/q&nbsp;%systemdrive%\*.old&nbsp;<br>del&nbsp;/f&nbsp;/s&nbsp;/q&nbsp;%systemdrive%\recycled\*.*&nbsp;<br>del&nbsp;/f&nbsp;/s&nbsp;/q&nbsp;%windir%\*.bak&nbsp;<br>del&nbsp;/f&nbsp;/s&nbsp;/q&nbsp;%windir%\prefetch\*.*&nbsp;<br>rd&nbsp;/s&nbsp;/q&nbsp;%windir%\temp&nbsp;&amp;&nbsp;md&nbsp;%windir%\temp&nbsp;<br>del&nbsp;/f&nbsp;/q&nbsp;%userprofile%\cookies\*.*&nbsp;<br>del&nbsp;/f&nbsp;/q&nbsp;%userprofile%\recent\*.*&nbsp;<br>del&nbsp;/f&nbsp;/s&nbsp;/q&nbsp;"%userprofile%\Local&nbsp;Settings\Temporary&nbsp;Internet&nbsp;Files\*.*"&nbsp;<br>del&nbsp;/f&nbsp;/s&nbsp;/q&nbsp;"%userprofile%\Local&nbsp;Settings\Temp\*.*"&nbsp;<br>del&nbsp;/f&nbsp;/s&nbsp;/q&nbsp;"%userprofile%\recent\*.*"&nbsp;<br>echo&nbsp;清除系统垃圾完成！&nbsp;<br>echo.&nbsp;&amp;&nbsp;pause&nbsp;<br><br><br>把这个记事本另存为&nbsp;.bat&nbsp;的格式，后缀为bat的为批处理格式，这样就完成了&nbsp;<br>保留cookie的话,把内容中红色部分的cookie换为其他什么东西&nbsp;<br>然后双击运行该文件，C盘至少腾出200M的空间&nbsp;<br>我在网吧服务器试过，宿舍的笔记本也试过，在青海省党校的哥们说腾出了210M<br><br><br><br>具体DEL命令的参数如下:<br>del&nbsp;/?&nbsp;<br>删除一个或数个文件。&nbsp;<br><br>DEL&nbsp;[/P]&nbsp;[/F]&nbsp;[/S]&nbsp;[/Q]&nbsp;[/A[[:]attributes]]&nbsp;names&nbsp;<br>ERASE&nbsp;[/P]&nbsp;[/F]&nbsp;[/S]&nbsp;[/Q]&nbsp;[/A[[:]attributes]]&nbsp;names&nbsp;<br><br>names&nbsp;指定一个或数个文件或目录列表。通配符可被用来&nbsp;<br>删除多个文件。如果指定了一个目录，目录中的所&nbsp;<br>有文件都会被删除。&nbsp;<br><br>/P&nbsp;删除每一个文件之前提示确认。&nbsp;<br>/F&nbsp;强制删除只读文件。&nbsp;<br>/S&nbsp;从所有子目录删除指定文件。&nbsp;<br>/Q&nbsp;安静模式。删除全局通配符时，不要求确认。&nbsp;<br>/A&nbsp;根据属性选择要删除的文件。<br><br>attributes&nbsp;R&nbsp;只读文件&nbsp;S&nbsp;系统文件&nbsp;<br>H&nbsp;隐藏文件&nbsp;A&nbsp;存档文件&nbsp;<br>-&nbsp;表示&#8220;否&#8221;的前缀&nbsp;<br><br>如果命令扩展名被启用，DEL&nbsp;和&nbsp;ERASE&nbsp;会如下改变:&nbsp;<br>/S&nbsp;开关的显示句法会颠倒，即只显示已经删除的文件，而不显示找不到的文件。<br><br><br>del&nbsp;/f&nbsp;/s&nbsp;/q&nbsp;%systemdrive%\*.tmp&nbsp;<br>del&nbsp;/f&nbsp;/s&nbsp;/q&nbsp;%systemdrive%\*._mp&nbsp;<br>del&nbsp;/f&nbsp;/s&nbsp;/q&nbsp;%systemdrive%\*.log<br><br><br>删除系统盘(一般为C:，不过你可以在命令提示符下打入cd&nbsp;%systemdrive%检查一下是不是)下的*.tmp/*._mp/*.log文件 <script type=text/javascript>
//<![cdata[
Sys.WebForms.PageRequestManager._initialize('AjaxHolder$scriptmanager1', document.getElementById('Form1'));
Sys.WebForms.PageRequestManager.getInstance()._updateControls(['tAjaxHolder$UpdatePanel1'], [], [], 90);
//]]&gt;
</script><img src ="http://www.cnitblog.com/charen/aggbug/34759.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/charen/" target="_blank">何剑新</a> 2007-10-12 14:56 <a href="http://www.cnitblog.com/charen/archive/2007/10/12/34759.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>提示xxx无法访问，你可能没有权限使用网络资源</title><link>http://www.cnitblog.com/charen/archive/2007/09/24/33952.html</link><dc:creator>何剑新</dc:creator><author>何剑新</author><pubDate>Mon, 24 Sep 2007 02:55:00 GMT</pubDate><guid>http://www.cnitblog.com/charen/archive/2007/09/24/33952.html</guid><wfw:comment>http://www.cnitblog.com/charen/comments/33952.html</wfw:comment><comments>http://www.cnitblog.com/charen/archive/2007/09/24/33952.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/charen/comments/commentRss/33952.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/charen/services/trackbacks/33952.html</trackback:ping><description><![CDATA[&nbsp;
<p><span>现在总结一下：</span><span> <br><br></span><span>（</span><span>1)</span><span>安装</span><span>NWlink IPX/SPX/NetBIOS Compatible Transport Protocol</span><span>协议。</span><span> <br><br></span><span>（</span><span>2)</span><span>开启</span><span>guest</span><span>账号：右击我的电脑</span><span>\</span><span>管理</span><span>\</span><span>用户有个</span><span>guest</span><span>，双击之去掉</span><span>&#8220;</span><span>账户已停用</span><span>&#8221;</span><span>前面的勾。</span><span> <br><br></span><span>（</span><span>3)</span><span>右击我的电脑</span><span>\</span><span>属性</span><span>\</span><span>计算机名，查看该选项卡中出现的局域网工作组名称</span><span> <br><br></span><span>（</span><span>4</span><span>）使用</span><span>winxp</span><span>防火墙的例外：</span><span>winxp</span><span>防火墙在默认状态下是全面启用的，这意味着运行计算机的所有网络连接，难于实现网上邻居共享。同时，由于</span><span>windows</span><span>防火墙默认状态下是禁止</span><span>&#8220;</span><span>文件与打印机共享的</span><span>&#8221;</span><span>，所以，启用了防火墙，往往不能共享打印，解决办法是：进入</span><span>&#8220;</span><span>本地连接</span><span>&#8221;</span><span>窗口，点</span><span>&#8220;</span><span>高级</span><span>&#8221;\&#8220;</span><span>设置</span><span>&#8221;\&#8220;</span><span>例外</span><span>&#8221;\</span><span>在程序与服务下勾选</span><span>&#8220;</span><span>文件和打印机共享</span><span>&#8221;</span><span>。</span><span> <br><br></span><span>（</span><span>5)</span><span>删除</span><span>&#8220;</span><span>拒绝从网络上访问这台计算机</span><span>&#8221;</span><span>项中的</span><span>guest</span><span>账户：运行组策略（</span><span>gpedit.msc</span><span>）</span><span>\</span><span>本地计算机</span><span>\</span><span>计算机配置</span><span>\windows</span><span>设置</span><span>\</span><span>安全设置</span><span>\</span><span>本地策略</span><span>\</span><span>用户权利指派</span><span>\</span><span>拒绝从网络访问这台计算机。如果其中有</span><span>guest</span><span>，则将其删除。（原因是：有时</span><span>xp</span><span>的</span><span>guest</span><span>是不允许访问共享的）</span><span> <br><br></span><span>（</span><span>6)</span><span>取消</span><span>&#8220;</span><span>使用简单文件共享</span><span>&#8221;</span><span>方式：资源管理器</span><span>\</span><span>工具</span><span>\</span><span>文件夹选项</span><span>\</span><span>查看</span><span>\</span><span>去掉</span><span>&#8220;</span><span>使用简单文件共享（推荐）</span><span>&#8221;</span><span>前面的勾。</span><span> <br><br></span><span>（</span><span>7)</span><span>工作组名称一致。</span><span> <br><br></span><span>（</span><span>8)</span><span>勾选</span><span>&#8220;Microsoft</span><span>网络的文件和打印机共享</span><span>&#8221;</span><span>。</span><span> <br><br></span><span>（</span><span>9)</span><span>运行服务策略</span><span>&#8220;Services.msc&#8221;</span><span>。启动其中的</span><span>&#8220;Clipbook Server&#8221;(</span><span>文件夹服务器</span><span>)</span><span>：这个服务允许你们网络上的其他用户看到你的文件夹。当然有时你可把它改为手动启动，然后再使用其他程序在你的网络上发布信息。</span><span> <br><br></span><span>（</span><span>10)win98</span><span>的计算机无法访问</span><span>win2000/winxp</span><span>的计算机，原因是：</span><span>win2000/winxp</span><span>的计算机中的</span><span>guest</span><span>用户被禁用了或者</span><span>win2000/winxp</span><span>采用</span><span>NTFS</span><span>分区格式，设置了权限控制。一般要允许</span><span>win98</span><span>访问的话，</span><span>win2000/winxp</span><span>里的安全控制里不要将</span><span>everyone</span><span>的账号组删除。</span><span> <br><br></span><span>注意：</span><span>a</span><span>、如果您没有加入域并想查看</span><span>&#8220;</span><span>安全</span><span>&#8221;</span><span>选项卡，则设置显示</span><span>&#8220;</span><span>安全</span><span>&#8221;</span><span>选项卡：资源管理器</span><span>\</span><span>工具</span><span>\</span><span>文件夹选项</span><span>\</span><span>查看</span><span>\</span><span>去掉</span><span>&#8220;</span><span>使用简单文件共享（推荐）</span><span>&#8221;</span><span>前面的勾。</span><span>b</span><span>、查看文件和文件夹的有效权限：资源管理器</span><span>\</span><span>右击要查看有效权限该文件或文件夹</span><span>\&#8220;</span><span>属性</span><span>&#8221;\</span><span>单击</span><span>&#8220;</span><span>安全</span><span>&#8221;</span><span>选项卡</span><span>\&#8220;</span><span>高级</span><span>&#8221;\&#8220;</span><span>有效权限</span><span>&#8221;\&#8220;</span><span>选择</span><span>&#8221;\</span><span>在</span><span>&#8220;</span><span>名称</span><span>&#8221;</span><span>框中键入用户或组的名称，然后单击</span><span>&#8220;</span><span>确定</span><span>&#8221;</span><span>。选中的复选框表示用户或组对该文件或文件夹的有效权限。</span><span>c</span><span>、只能在格式化为使用</span><span> NTFS </span><span>的驱动器上设置权限。</span></p>
<p>&nbsp;</p>
<p align=left><a name=47626372><span>局域网共享故障的分析与排除</span></a><span><span> <br><br>IPC</span></span><span><span>、</span></span><span><span>Server</span></span><span><span>服务与共享故障</span></span><span><span> <br>IPC</span></span><span><span>（</span></span><span><span>Internet Process Connection</span></span><span><span>），</span></span><span><span>IPC</span></span><span><span>是</span></span><span><span>NT</span></span><span><span>以上的系统为了让进程间通信而开放的命名管道，可以通过验证用户名和密码获得相应的权限，在远程管理计算机和查看计算机的共享资源时使用，微软把它用于局域网功能的实现，如果它被关闭，计算机就会出现</span></span><span><span>&#8220;</span></span><span><span>无法访问网络邻居</span></span><span><span>&#8221;</span></span><span><span>的故障。</span></span><span><span> <span><br></span></span></span><span><span>在</span></span><span><span>Windows NT</span></span><span><span>以后的系统里，</span></span><span><span>IPC</span></span><span><span>是依赖于</span></span><span><span>Server</span></span><span><span>服务运行的，一些习惯了单机环境的用户可能会关闭这个服务，这样的后果就是系统将无法提供与局域网有关的操作，用户无法查看别人的计算机，也无法为自己发布任何共享。</span></span><span><span> <br></span></span><span><span>要确认</span></span><span><span>IPC</span></span><span><span>和</span></span><span><span>Server</span></span><span><span>服务是否正常，可以在命令提示符里输入命令</span></span><span><span>net share</span></span><span><span>，如果</span></span><span><span>Server</span></span><span><span>服务未开启，系统会提示</span></span><span><span>&#8220;</span></span><span><span>没有启动</span></span><span><span> Server </span></span><span><span>服务。是否可以启动</span></span><span><span>? (Y/N) [Y]:&#8221;</span></span><span><span>，回车即可以启动</span></span><span><span>Server</span></span><span><span>服务。如果</span></span><span><span>Server</span></span><span><span>服务已开启，系统会列出当前的所有共享资源列表，其中至少要有名为</span></span><span><span>&#8220;IPC$&#8221;</span></span><span><span>的共享，否则用户依然无法正常使用共享资源。</span></span><span><span> <br></span></span><span><span>除了</span></span><span><span>Server</span></span><span><span>服务以外，还有两个服务会对共享造成影响，分别是</span></span><span><span>&#8220;Computer Browser&#8221;</span></span><span><span>和</span></span><span><span>&#8220;TCP/IP NetBIOS Helper Service&#8221;</span></span><span><span>，前者用于保存和交换局域网内计算机的</span></span><span><span>NetBIOS</span></span><span><span>名称和共享资源列表，当一个程序需要访问另一台计算机的共享资源时，它会从这个列表里查询目标计算机，一旦该服务被禁止，</span></span><span><span>IPC</span></span><span><span>就认定当前没有可供访问的共享资源，用户自然就没法访问其他计算机的共享资源了；后者主要用于在</span></span><span><span>TCP/IP</span></span><span><span>上传输的</span></span><span><span>NetBIOS</span></span><span><span>协议（</span></span><span><span>NetBT</span></span><span><span>）和</span></span><span><span>NetBIOS</span></span><span><span>名称解析工作，</span></span><span><span>NetBT</span></span><span><span>协议为跨网段实现</span></span><span><span>NetBIOS</span></span><span><span>命令传输提供了载体，正因如此，早期的黑客入侵教材里</span></span><span><span>&#8220;</span></span><span><span>关于</span></span><span><span>139</span></span><span><span>端口的远程入侵</span></span><span><span>&#8221;</span></span><span><span>才能实现，因为</span></span><span><span>NetBIOS</span></span><span><span>协议被</span></span><span><span>TCP</span></span><span><span>封装起来通过</span></span><span><span>Internet</span></span><span><span>传输到对方机器里处理了，同样对方也是用相同途径实现数据传输的，否则黑客们根本无法跨网段使用网络资源映射指令</span></span><span><span>&#8220;net use&#8221;</span></span><span><span>。虽然对于本地局域网来说，</span></span><span><span>NetBT</span></span><span><span>协议并非任何时候都会用到，但通常还是留着它比较好。</span></span><span><span> <br></span></span><span><span>如果这两个服务异常终止，局域网内的共享可能就无法正常使用，这时候我们可以通过执行程序</span></span><span><span>&#8220;services.msc&#8221;</span></span><span><span>打开服务管理器，在里面查找</span></span><span><span>&#8220;Computer Browser&#8221;</span></span><span><span>和</span></span><span><span>&#8220;TCP/IP NetBIOS Helper Service&#8221;</span></span><span><span>服务并点击</span></span><span><span>&#8220;</span></span><span><span>启动</span></span><span><span>&#8221;</span></span><span><span>即可。</span></span><span><span> <br><br></span></span><span><span>系统安全策略与共享故障</span></span><span><span> <br></span></span><span><span>熟悉</span></span><span><span>Windows</span></span><span><span>系统的用户或多或少都会接触到</span></span><span><span>&#8220;</span></span><span><span>组策略</span></span><span><span>&#8221;</span></span><span><span>（</span></span><span><span>gpedit.msc</span></span><span><span>），这里实际上是提供了一个比手工修改注册表更直观的操作方法来设置系统的一些功能和用户权限，但是这里的设置失误也会影响到局域网共享资源的使用。</span></span><span><span> <br></span></span><span><span>由于</span></span><span><span>IPC</span></span><span><span>本身就是用于身份验证的，因此它对计算机账户的配置特别敏感，而组策略里偏偏就有很多方面的设置是针对计算机账户的，其中影响最大的要数</span></span><span><span>&#8220;</span></span><span><span>计算机配置</span></span><span><span> &#8211; Windows</span></span><span><span>配置</span></span><span><span> &#8211; </span></span><span><span>安全设置</span></span><span><span> &#8211; </span></span><span><span>本地策略</span></span><span><span> &#8211; </span></span><span><span>用户权利指派</span></span><span><span>&#8221;</span></span><span><span>里的</span></span><span><span>&#8220;</span></span><span><span>拒绝从网络访问这台计算机</span></span><span><span>&#8221;</span></span><span><span>，在</span></span><span><span>Windows 2000</span></span><span><span>系统里默认是不做任何限制的，可是自从</span></span><span><span>XP</span></span><span><span>出现后，这个部分就默认多了两个帐户，一个是用于远程协助（也就是被简化过的终端服务）身份登录的</span></span><span><span>3389</span></span><span><span>用户名，另一个则是我们局域网共享的基本成员</span></span><span><span>guest</span></span><span><span>！</span></span><span><span> <br></span></span><span><span>许多使用</span></span><span><span>XP</span></span><span><span>系统的用户无法正常开启共享资源的访问权限，正是这个项目的限制，解决方法也很容易，只要从列表里移除</span></span><span><span>&#8220;Guest&#8221;</span></span><span><span>帐户就可以了。</span></span><span><span> <br></span></span><span><span>除了与帐户相关的策略，这里还有几个与</span></span><span><span>NetBIOS</span></span><span><span>和</span></span><span><span>IPC</span></span><span><span>相关的组策略设置，它们是位于</span></span><span><span>&#8220;</span></span><span><span>计算机配置</span></span><span><span> &#8211; Windows</span></span><span><span>配置</span></span><span><span> &#8211; </span></span><span><span>安全设置</span></span><span><span> &#8211; </span></span><span><span>本地策略</span></span><span><span> &#8211; </span></span><span><span>安全选项</span></span><span><span>&#8221;</span></span><span><span>里的</span></span><span><span>&#8220;</span></span><span><span>对匿名连接的额外限制</span></span><span><span>&#8221;</span></span><span><span>（默认为</span></span><span><span>&#8220;</span></span><span><span>无</span></span><span><span>&#8221;</span></span><span><span>），对于</span></span><span><span>XP</span></span><span><span>以上的系统，这里还有</span></span><span><span>&#8220;</span></span><span><span>不允许</span></span><span><span>SAM</span></span><span><span>账户和共享的匿名枚举</span></span><span><span>&#8221;</span></span><span><span>（默认为</span></span><span><span>&#8220;</span></span><span><span>已停用</span></span><span><span>&#8221;</span></span><span><span>）、</span></span><span><span>&#8220;</span></span><span><span>本地账户的共享和安全模式</span></span><span><span>&#8221;</span></span><span><span>（默认为</span></span><span><span>&#8220;</span></span><span><span>仅来宾</span></span><span><span>&#8221;</span></span><span><span>），其中</span></span><span><span>&#8220;</span></span><span><span>对匿名连接的额外限制</span></span><span><span>&#8221;</span></span><span><span>的设置是可以直接扼杀共享功能的，当它被设置为</span></span><span><span>&#8220;</span></span><span><span>不允许枚举</span></span><span><span>&#8221;</span></span><span><span>时，其他计算机就无法获取共享资源列表，如果它被设置为</span></span><span><span>&#8220;</span></span><span><span>没有显式匿名权限就无法访问</span></span><span><span>&#8221;</span></span><span><span>的话，这台计算机就与共享功能彻底告别了，所以有时候实在找不出故障，不妨检查一下该项目。</span></span><span><span> <br><br></span></span><span><span>权限与共享的冲突</span></span><span><span> <br></span></span><span><span>如今的局域网普遍建立在</span></span><span><span>Windows 2000</span></span><span><span>以上的系统架构上运行，而且</span></span><span><span>IPC</span></span><span><span>的作用本来就是为了提供身份验证，因而共享始终离不开权限的影子，何况如果系统不会把文件共享的访问身份设置为最小权限的来宾帐户的话，别有用心的访问者就能轻易夺取管理员级别了。但是也正因为这样，一些时候权限反而会成为阻挠共享顺利进行的罪魁祸首。</span></span><span><span> <br><br></span></span><span><span>细心的用户如果点击了共享资源属性里的</span></span><span><span>&#8220;</span></span><span><span>权限</span></span><span><span>&#8221;</span></span><span><span>界面，可能会发现系统已经自动给这里添加了</span></span><span><span>&#8220;Everyone&#8221;</span></span><span><span>权限，这是个特殊权限，它的存在是为了让用户能访问被标记为</span></span><span><span>&#8220;</span></span><span><span>公有</span></span><span><span>&#8221;</span></span><span><span>的文件，这也是一些程序正常运行需要的访问权限，任何人都能正常访问被赋予</span></span><span><span>&#8220;Everyone&#8221;</span></span><span><span>权限的文件，包括来宾组成员。</span></span><span><span> <br></span></span><span><span>但是有时候这个理论会因某种原因而产生混乱，进而导致来宾组成员丧失了访问权限，这时候，用户只能手工为它添加一个</span></span><span><span>&#8220;guest&#8221;</span></span><span><span>的访问权限了。在一些系统上，甚至要添加</span></span><span><span>&#8220;Users&#8221;</span></span><span><span>或</span></span><span><span>&#8220;Administrators&#8221;</span></span><span><span>权限才能实现文件共享，但是对于这种权限指派已经严重混乱的系统，小金建议还是重新安装一个算了。</span></span><span><span> <br></span></span><span><span>对于</span></span><span><span>Windows XP</span></span><span><span>系统，它默认是仅仅给共享显示一个简单的界面而已，如果你要自定义更多东西，就必须进入</span></span><span><span>&#8220;</span></span><span><span>控制面板</span></span><span><span>&#8221;</span></span><span><span>的</span></span><span><span>&#8220;</span></span><span><span>文件夹选项</span></span><span><span>&#8221;</span></span><span><span>里，取消</span></span><span><span>&#8220;</span></span><span><span>使用简单文件共享</span></span><span><span>&#8221;</span></span><span><span>的勾，而且这里还涉及到</span></span><span><span>NTFS</span></span><span><span>分区</span></span><span><span>&#8220;</span></span><span><span>安全</span></span><span><span>&#8221;</span></span><span><span>页设置的显示。</span></span><span><span> <br><br></span></span><span><span>随着</span></span><span><span>Windows XP</span></span><span><span>的逐步推进以及安全概念的推广，越来越多用户开始使用</span></span><span><span>NTFS</span></span><span><span>格式作为自己的硬盘分区，这样就在</span></span><span><span>IPC</span></span><span><span>的用户身份验证模式上又增加了一种权限限制：</span></span><span><span>NTFS</span></span><span><span>权限。</span></span><span><span> <br><br></span></span><span><span>一些刚接触</span></span><span><span>NTFS</span></span><span><span>分区的用户经常会发现，自己机器的共享和来宾帐户都开了，但是别人无论怎么访问都提示</span></span><span><span>&#8220;</span></span><span><span>权限不足</span></span><span><span>&#8221;</span></span><span><span>，即使给共享权限里添加了来宾帐户甚至管理员帐户也无效，这是为什么？归根究底还是因为在</span></span><span><span>NTFS</span></span><span><span>这部分被拦截了，用户必须理清一个概念，那就是无论你对某个项目的权限做了什么改动，都是磁盘权限最大，因为它是实现文件访问的最后一层防卫，系统不允许任何继承权限超越它，如果一个文件夹的权限只有</span></span><span><span>&#8220;SYSTEM&#8221;</span></span><span><span>，那么即使你当前登录的身份为管理员，你一样无法打开这个文件夹。而用于共享身份识别的</span></span><span><span>IPC</span></span><span><span>更是只有</span></span><span><span>Guest</span></span><span><span>权限，更是无法突破</span></span><span><span>NTFS</span></span><span><span>限制的。因此要获得正常的访问权限，除了做好共享目录的权限设置工作以外，还在共享目录上单击右键</span></span><span><span>---</span></span><span><span>属性</span></span><span><span>----</span></span><span><span>安全，在里面添加</span></span><span><span>Guest</span></span><span><span>和</span></span><span><span>Everyone</span></span><span><span>权限并设置相应的访问规则（完全控制、可修改、可读取等），如果没有其他故障因素，你就会发现共享正常开启访问了。</span></span><span><span> <br><br></span></span><span><span>防火墙与共享的矛盾</span></span><span><span> <br></span></span><span><span>现在基本上已经没有一台计算机是不曾安装网络防火墙和病毒防火墙的了，可是用户在众多的墙里享受安全特性的时候，偶尔也会发现局域网共享莫名其妙的失败了，如果用户留意到防火墙正在闪烁的报警状态，也许会发现日志上记录着</span></span><span><span>&#8220;</span></span><span><span>计算机</span></span><span><span>x.x.x.x </span></span><span><span>试图访问本机</span></span><span><span>139 &#8211; NetBIOS</span></span><span><span>端口，该操作已被拦截</span></span><span><span>&#8221;</span></span><span><span>，这是为什么？因为防火墙把</span></span><span><span>NetBIOS</span></span><span><span>的通讯给拦截掉了，别忘记</span></span><span><span>NetBIOS</span></span><span><span>可是局域网通讯的基础。防火墙此举是为了阻止前面提到的利用</span></span><span><span>NetBT</span></span><span><span>进行的</span></span><span><span>&#8220;139</span></span><span><span>入侵</span></span><span><span>&#8221;</span></span><span><span>模式攻击，虽然防火墙规则里可能写着</span></span><span><span>&#8220;</span></span><span><span>允许局域网资源共享</span></span><span><span>&#8221;</span></span><span><span>，但是可能这条规则没被选中，或者防火墙没能认出这是一个局域网。</span></span><span><span> <br></span></span><span><span>知道了缘由，解决起来也就容易多了，对于有原配规则设置的防火墙，只要勾上</span></span><span><span>&#8220;</span></span><span><span>允许局域网资源共享</span></span><span><span>&#8221;</span></span><span><span>，就能让</span></span><span><span>NetBIOS</span></span><span><span>协议正常通讯了，如果没有，就自己建立一个规则：协议方向为</span></span><span><span>&#8220;</span></span><span><span>入</span></span><span><span>&#8221;</span></span><span><span>，协议选择</span></span><span><span>&#8220;TCP&#8221;</span></span><span><span>，端口范围</span></span><span><span>134—139</span></span><span><span>，标志位</span></span><span><span>&#8220;SYN&#8221;</span></span><span><span>，满足时的规则为</span></span><span><span>&#8220;</span></span><span><span>通行</span></span><span><span>&#8221;</span></span><span><span>即可。一些</span></span><span><span>XP</span></span><span><span>系统内置的</span></span><span><span>Windows</span></span><span><span>防火墙</span></span><span><span>ICF</span></span><span><span>往往会掐了自家共享的脖子，如果是这样，就把它关掉，因为</span></span><span><span>ICF</span></span><span><span>始终比不过专门的防火墙，更别指望靠它抵挡一切入侵了。</span></span><span><span> <br><br></span></span><span><span>特殊的共享故障</span></span><span><span> <br></span></span><span><span>在一小部分机器里，网络共享是艰难的，它们怎么做也看不到对方的计算机和资源列表，但是使用一些局域网管理工具如</span></span><span><span>LANExplorer</span></span><span><span>、</span></span><span><span>LANetAdmin</span></span><span><span>等却能看到一切，对于这种计算机，只能通过直接输入资源名称或把对方共享资源通过</span></span><span><span>net use</span></span><span><span>命令给映射过来作为虚拟盘符才能工作，对于这种机器，我们也束手无策，只能这么凑合着使用了</span></span><span><span> </span></span></p>
<p align=left><span><a name=47785483><span>修改</span></a></span><span><span><span>hkey_local_machine\system\currentcontrolset\lsa</span></span></span><span><span><span>右边的</span></span></span><span><span><span>restrictanonymous</span></span></span><span><span><span>值为</span></span></span><span><span><span>0,</span></span></span><span><span><span>然后重启电脑</span></span></span><span><span><span> </span></span></span></p>
<p align=left><span>&nbsp;</span></p>
<p>&nbsp;</p>
v<img src ="http://www.cnitblog.com/charen/aggbug/33952.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/charen/" target="_blank">何剑新</a> 2007-09-24 10:55 <a href="http://www.cnitblog.com/charen/archive/2007/09/24/33952.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Excel汉字转拼音的完美解决方案～函数进化</title><link>http://www.cnitblog.com/charen/archive/2007/09/24/33949.html</link><dc:creator>何剑新</dc:creator><author>何剑新</author><pubDate>Mon, 24 Sep 2007 02:33:00 GMT</pubDate><guid>http://www.cnitblog.com/charen/archive/2007/09/24/33949.html</guid><wfw:comment>http://www.cnitblog.com/charen/comments/33949.html</wfw:comment><comments>http://www.cnitblog.com/charen/archive/2007/09/24/33949.html#Feedback</comments><slash:comments>21</slash:comments><wfw:commentRss>http://www.cnitblog.com/charen/comments/commentRss/33949.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/charen/services/trackbacks/33949.html</trackback:ping><description><![CDATA[<strong>汉字转拼音的完美解决方案～[4.5更新]～函数进化<br></strong>Tag： <br>
<div style="PADDING-RIGHT: 0px; MARGIN-TOP: 10px; FONT-SIZE: 13px; OVERFLOW-X: hidden; WIDTH: 97%; WORD-BREAK: break-all; TEXT-INDENT: 24px; LINE-HEIGHT: 180%; HEIGHT: 200px; WORD-WRAP: break-word" onload="this.style.overflowX='auto';">
<p>汉字转拼音的完美解决方案～<br>err...至少是比较完美<br>经测试在office xp,2003,2007通过。<br><br>'***************************************************************************<br>'*<br>'* MODULE NAME:&nbsp;&nbsp;&nbsp;&nbsp; HzToPy<br>'* AUTHOR &amp; DATE:&nbsp;&nbsp; tt.t<br>'*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 29 March 2007<br>'*<br>'* Usage:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Function HzToPy(HzStr as String) as String<br>'*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; e.g. Msgbox HzToPy("奥斯") will display ao4si1 with mspy2.0<br>'*<br>'*<br>'* DESCRIPTION:&nbsp;&nbsp;&nbsp;&nbsp; 将中文字符串转换为拼音，就这些～<br>'*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 有汉字得到拼音其实并不是我很关心的一个问题，只是发现已经公开<br>'*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 的方法有很大的缺陷，但WORD却做得很好，因此才尝试解决这个问题。<br>'*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 过程比我预期的要曲折的多，主要是VBA实在是一种很受限制的语言。<br>'*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 不过好在有Google和Olldbg，难题也仅仅是如何找到绕过限制的途径，<br>'*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 终于在5个小时内搞定了一切～<br>'*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 时间比我预计的长了很多，因为我实在是不了解VBA，也不很熟悉OLE:"(<br>'*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 不过好在一切都解决了～～终于从VBA小白成长了一些。<br>'*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 其实VBA也是很强大的～<br>'*<br>'* Theory：&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; WORD的拼音向导能够将汉字转成拼音全是倚仗微软拼音的帮助，<br>'*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 微软拼音2.0以上版本都提供了汉字到拼音的转换功能。<br>'*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 微软拼音MSIME.China类中的IFELanguage接口具体实现了转换功能<br>'*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 不过MSIME.China中没有提供IDispatch接口，VBA的CreateObject不支持<br>'*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 调用这样的类，因此我们只好手工调用。CoCreateInstance可以创建类<br>'*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 并获取IFELanguage接口，但我们无法直接调用，因为VBA不知道如何调用<br>'*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IFELanguage接口的Method。这里困扰了我好久，原本希望能向其他语言那样<br>'*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 声明接口结构，但VBA并不支持。万般无奈下只好在OLE相关DLL中寻找，期待能<br>'*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 找到代理函数简介调用接口的Method。呵呵～功夫不负苦心人终于在OLEAUT32中<br>'*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 找到了DispCallfunc。Google了一下，果然是我需要的。接口知道了，如何调用也<br>'*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 清楚了，剩下的问题就是如何取得转换后的结果。IFELanguage.GetMorphResult会将<br>'*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 转换的结果存在一个叫做tagMORRSLT的结构中，并返回指向tagMORRSLT的指针。<br>'*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 新问题又来了，VBA不支持指针...sigh，为什么其他语言很容易实现的功能VBA用起来<br>'*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 就这么烦呢～幸好VBA读取内存的限制也好突破，只需调用ntdll的RtlMoveMemory。<br>'*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 好了～一切限制都已解除，HzToPy终于正常工作了～～<br>'*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 说起来一切顺理成章，可是寻找解决方法的过程真的很痛苦，不过VBA经验值大涨也算有所收获。<br>'*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 下面就让代码来说话吧。<br>'*<br>'*<br>'***************************************************************************<br>关键字：汉字 注音 拼音 IFELanguage vba DispCallfunc OLE</p>
<p><br>在废话一下，用windows ime api也可以实现汉字到拼音，但是在WINPY.ime中有个bug，<br>而且在2000 sp4~xp sp2一直存在，就是必须要将winnt\system32\winpy.mb考到系统盘根目录下才行。<br>这个bug存在了如此长的时间，估计是MS有意为之，鄙视一下。</p>
<p><font color=#0029cc size=3>第二次更新：2007.04.05</font><font size=3><br></font><font color=#0029cc size=3>似乎大家更喜欢直接使用函数而不是DIY，那就提供一个完整的函数供大家使用了&nbsp;&nbsp;&nbsp;</font></p>
<p><font color=#0029cc size=3><strong>〔详细说明请看文件〕</strong></font></p>
<p><font color=#0029cc size=3><strong></strong><br>函数原型如下：&nbsp;&nbsp;&nbsp;<br>HzToPy(Hz As String, Optional Sep As String = "", Optional ShowNotation As Boolean = True, <br>Optional ShowInitialOnly As Boolean, Optional ShowOnlyOneChar As Boolean = True) As String&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;<br>&nbsp;参数名&nbsp;参数类型&nbsp;说明<br>第1个参数&nbsp;Hz&nbsp;字符型&nbsp;为汉字字符串<br>第2个参数&nbsp;Sep&nbsp;字符型，可选&nbsp;设定拼音间隔字符，默认为空（""）<br>第3个参数&nbsp;ShowNotation&nbsp;布尔型，可选&nbsp;设定是否显示注音符号，默认显示<br>第4个参数&nbsp;ShowInitialOnly&nbsp;布尔型，可选&nbsp;设定是否仅显示拼音首字，默认显示全部<br>第5个参数&nbsp;ShowOnlyOneChar&nbsp;布尔型，可选&nbsp;设定是否仅显示拼音首字母("zh"显示为"z")，默认只显示首字母<br>&nbsp;&nbsp;&nbsp;<br>应用举例&nbsp;&nbsp;&nbsp;<br>目标汉字：&nbsp;汉字转拼音举例&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;<br>1&nbsp;显示用空格分开的拼音&nbsp;&nbsp;<br>&nbsp;公式：&nbsp;=HzToPy($b$19," ")&nbsp;<br>&nbsp;结果：&nbsp;h&#224;n z&#236; zhuǎn pīn yīn jǔ l&#236;&nbsp;<br>2&nbsp;显示用空格分开的拼音，同时不显示注音符号&nbsp;&nbsp;<br>&nbsp;公式：&nbsp;=HzToPy($b$19," ",false)&nbsp;<br>&nbsp;结果：&nbsp;han zi zhuan pin yin ju li&nbsp;<br>3&nbsp;显示用空格分开的拼音，不显示注音符号,同时仅显示拼音的首字,并大写&nbsp;&nbsp;<br>&nbsp;公式：&nbsp;=HzToPy($b$19," ",false，true，false)&nbsp;<br>&nbsp;结果：&nbsp;H Z ZH P Y J L&nbsp;<br>4&nbsp;显示用空格分开的拼音，不显示注音符号,同时仅显示拼音的首字母,并大写&nbsp;&nbsp;<br>&nbsp;公式：&nbsp;=HzToPy($b$19," ",false，true)&nbsp;<br>&nbsp;结果：&nbsp;H Z Z P Y J L&nbsp;</font></p>
<p><font color=#0938f7><font color=#0029cc><font size=3>这里是第二次更新的文件：<br></font><font color=#000000 size=3><a href="http://dla.excelhome.net/2007-4/HztoPy_v02_070405.rar___2007451642431512.rar" target=_blank><u><font color=#0000ff>点击浏览该文件</font></u></a></font></font></font></p>
<p><u><font color=#0000ff></font></u><font size=3></p>
<u><font color=#0000ff>
<hr>
</font></u></font>
<p><u><font color=#0000ff></font></u></p>
<p><font color=#000000 size=3>第一次更新：<br></font><font color=#000000 size=3>2007.04.03更新了一下，真对大家提出的要求加入了拼音间加入分隔符和去掉注音的功能，并改成了类，以方便使用。<br><font color=#000000>请参照&#8220;模块1&#8221;中的例子，用起来很简单：）<br>更正了在Function IFELanguage_GetMorphResult中的一个错误，redim时vba数组默认起始<br>更正了在Function IFELanguage_GetMorphResult中的一个错误，redim时vba数组默认起始搞错了<br>这里是第一次更新的文件：<br><a href="http://dla.excelhome.net/2007-4/HztoPy-class.rar___20074311291078329.rar" target=_blank>点击浏览该文件</a></font></font></p>
</div><img src ="http://www.cnitblog.com/charen/aggbug/33949.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/charen/" target="_blank">何剑新</a> 2007-09-24 10:33 <a href="http://www.cnitblog.com/charen/archive/2007/09/24/33949.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>windows203+sql server 2000无法打开1433端口</title><link>http://www.cnitblog.com/charen/archive/2007/09/24/33945.html</link><dc:creator>何剑新</dc:creator><author>何剑新</author><pubDate>Mon, 24 Sep 2007 01:51:00 GMT</pubDate><guid>http://www.cnitblog.com/charen/archive/2007/09/24/33945.html</guid><wfw:comment>http://www.cnitblog.com/charen/comments/33945.html</wfw:comment><comments>http://www.cnitblog.com/charen/archive/2007/09/24/33945.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/charen/comments/commentRss/33945.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/charen/services/trackbacks/33945.html</trackback:ping><description><![CDATA[<span id=zoom>1.如果你是win2003,那么一定要安装sql的补丁sp3a<br><br>检查你的SQL有没有打补丁,没有的话要打上补丁,检查的方法是在查询分析器中运行:<br>select at @version<br>如果出来的版本号是8 dot 00.760以下,则表明你未安装sp3的补丁,要装上.<br><br>SQL补丁下载:<br>全部补丁的位置<br><a href="http://www.microsoft.com/downloads/results.aspx?freetext=sql+2000&amp;productID=261BA873-F3AB-420E-96D6-E3004596A551&amp;DisplayLang=zh-cn" target=_blank><u><font color=#0000ff>http://www.microsoft.com/downloads/results.aspx?freetext=sql+2000&amp;productID=261BA873-F3AB-420E-96D6-E3004596A551&amp;DisplayLang=zh-cn</font></u></a><br><br>注意下载后,执行的时候是解压,要在解压后的目录中执行setup.bat才是真正的安装<br><br>2.SQL Server连接中的四个最常见错误:<br><br><br>一."SQL Server 不存在或访问被拒绝"<br><br>这个是最复杂的,错误发生的原因比较多,需要检查的方面也比较多.<br><br>一般说来,有以下几种可能性:<br><br>1,SQL Server名称或IP地址拼写有误<br>2,服务器端网络配置有误<br>3,客户端网络配置有误<br><br>要解决这个问题,我们一般要遵循以下的步骤来一步步找出导致错误的原因.<br><br><br>============= 首先,检查网络物理连接 =============<br>ping &lt;服务器IP地址/服务器名称&gt;<br><br>如果 ping &lt;服务器IP地址&gt; 不成功,说明物理连接有问题,这时候要检查硬件设备,如网卡,HUB,路由器等.<br>还有一种可能是由于客户端和服务器之间安装有防火墙软件造成的,比如 ISA Server.防火墙软件可能会屏蔽对 ping,telnet 等的响应<br>因此在检查连接问题的时候,我们要先把防火墙软件暂时关闭,或者打开所有被封闭的端口.<br><br>如果ping &lt;服务器IP地址&gt; 成功而,ping &lt;服务器名称&gt; 失败<br>则说明名字解析有问题,这时候要检查 DNS 服务是否正常.<br>有时候客户端和服务器不在同一个局域网里面,这时候很可能无法直接使用服务器名称来标识该服务器,这时候我们可以使用HOSTS文件来进行名字解析,<br>具体的方法是:<br><br>1.使用记事本打开HOSTS文件（一般情况下位于C:\WINNT\system32\drivers\etc）.<br>添加一条IP地址与服务器名称的对应记录,如:<br>172.168.10.24 myserver<br><br>2.或在 SQL Server 的客户端网络实用工具里面进行配置,后面会有详细说明.<br><br><br>============= 其次,使用 telnet 命令检查SQL Server服务器工作状态 =============<br>telnet &lt;服务器IP地址&gt; 1433<br><br>如果命令执行成功,可以看到屏幕一闪之后光标在左上角不停闪动,这说明 SQL Server 服务器工作正常,并且正在监听1433端口的 TCP/IP 连接<br>如果命令返回"无法打开连接"的错误信息,则说明服务器端没有启动 SQL Server 服务,<br>也可能服务器端没启用 TCP/IP 协议,或者服务器端没有在 SQL Server 默认的端口1433上监听.<br><br><br>=============接着,我们要到服务器上检查服务器端的网络配置,检查是否启用了命名管道.是否启用了 TCP/IP 协议等等 =============<br>可以利用 SQL Server 自带的服务器网络使用工具来进行检查.<br><br>点击:程序 -- Microsoft SQL Server -- 服务器网络使用工具<br><br>打开该工具后,在"常规"中可以看到服务器启用了哪些协议.<br>一般而言,我们启用命名管道以及 TCP/IP 协议.<br>点中 TCP/IP 协议,选择"属性",我们可以来检查 SQK Server 服务默认端口的设置<br>一般而言,我们使用 SQL Server 默认的1433端口.如果选中"隐藏服务器",则意味着客户端无法通过枚举服务器来看到这台服务器,起到了保护的作用,但不影响连接.<br><br><br>============= 接下来我们要到客户端检查客户端的网络配置 =============<br>我们同样可以利用 SQL Server 自带的客户端网络使用工具来进行检查,<br>所不同的是这次是在客户端来运行这个工具.<br><br>点击:程序 -- Microsoft SQL Server -- 客户端网络使用工具<br><br>打开该工具后,在"常规"项中,可以看到客户端启用了哪些协议.<br>一般而言,我们同样需要启用命名管道以及 TCP/IP 协议.<br>点击 TCP/IP 协议,选择"属性",可以检查客户端默认连接端口的设置,该端口必须与服务器一致.<br><br>单击"别名"选项卡,还可以为服务器配置别名.服务器的别名是用来连接的名称,<br>连接参数中的服务器是真正的服务器名称,两者可以相同或不同.别名的设置与使用HOSTS文件有相似之处.<br><br><br>通过以上几个方面的检查,基本上可以排除第一种错误.<br><br><br>-----------------------------------------------------------------------------<br><br>二."无法连接到服务器,用户xxx登陆失败"<br><br>该错误产生的原因是由于SQL Server使用了"仅 Windows"的身份验证方式,<br>因此用户无法使用SQL Server的登录帐户（如 sa ）进行连接.解决方法如下所示:<br><br>1.在服务器端使用企业管理器,并且选择"使用 Windows 身份验证"连接上 SQL Server<br>在企业管理器中<br>--右键你的服务器实例(就是那个有绿色图标的)<br>--编辑SQL Server注册属性<br>--选择"使用windows身份验证"<br><br>2.展开"SQL Server组",鼠标右键点击SQL Server服务器的名称,选择"属性",再选择"安全性"选项卡<br>3.在"身份验证"下,选择"SQL Server和 Windows ".<br>4.重新启动SQL Server服务.<br><br>在以上解决方法中,如果在第 1 步中使用"使用 Windows 身份验证"连接 SQL Server 失败,<br>那就通过修改注册表来解决此问题:<br><br>1.点击"开始"-"运行",输入regedit,回车进入注册表编辑器<br>2.依次展开注册表项,浏览到以下注册表键:<br>[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer]<br>3.在屏幕右方找到名称"LoginMode",双击编辑双字节值<br>4.将原值从1改为2,点击"确定"<br>5.关闭注册表编辑器<br>6.重新启动SQL Server服务.<br><br>此时,用户可以成功地使用sa在企业管理器中新建SQL Server注册,<br>但是仍然无法使用Windows身份验证模式来连接SQL Server.<br>这是因为在 SQL Server 中有两个缺省的登录帐户:<br>BUILTIN\Administrators<br>&lt;机器名&gt;\Administrator 被删除.<br>要恢复这两个帐户,可以使用以下的方法:<br><br>1.打开企业管理器,展开服务器组,然后展开服务器<br>2.展开"安全性",右击"登录",然后单击"新建登录"<br>3.在"名称"框中,输入 BUILTIN\Administrators<br>4.在"服务器角色"选项卡中,选择"System Administrators" <br>5.点击"确定"退出<br>6.使用同样方法添加 &lt;机器名&gt;\Administrator 登录.<br><br>说明:<br><br>以下注册表键:<br>HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\LoginMode<br>的值决定了SQL Server将采取何种身份验证模式.<br>1.表示使用"Windows 身份验证"模式<br>2.表示使用混合模式（Windows 身份验证和 SQL Server 身份验证）.<br><br><br>-----------------------------------------------------------------------------<br><br>三.提示连接超时<br><br>如果遇到第三个错误,一般而言表示客户端已经找到了这台服务器,并且可以进行连接,<br>不过是由于连接的时间大于允许的时间而导致出错.<br>这种情况一般会发生在当用户在Internet上运行企业管理器来注册另外一台同样在Internet上的服务器,<br>并且是慢速连接时,有可能会导致以上的超时错误.有些情况下,由于局域网的网络问题,也会导致这样的错误.<br><br>要解决这样的错误,可以修改客户端的连接超时设置.<br>默认情况下,通过企业管理器注册另外一台SQL Server的超时设置是 4 秒,<br>而查询分析器是 15 秒（这也是为什么在企业管理器里发生错误的可能性比较大的原因）.<br><br>具体步骤为:<br>企业管理器中的设置:<br>1.在企业管理器中,选择菜单上的"工具",再选择"选项"<br>2.在弹出的"SQL Server企业管理器属性"窗口中,点击"高级"选项卡<br>3.在"连接设置"下的"登录超时（秒）"右边的框中输入一个比较大的数字,如 20.<br><br>查询分析器中的设置:<br>工具 -- 选项 -- 连接 -- 将登录超时设置为一个较大的数字<br><br><br>---------------------------------------------------------------------------------<br><br>四.大部分机都用Tcp/ip才能成功，有次我发现用Named Pipes才可以？<br><br>回复人： leimin(黄山光明顶) <br><br>这是因为在WINDOWS 2000以后的操作系统中，MS为解决SQL SERVER的安全问题将TCP/IP配置<br>为SQLSERVER的默认连接协议，你可以在CLIENT NETWORK UTILITY中看到TCP/IP和NAME PIPE<br>的顺序。<br><br>你也可以在：<br>[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\SuperSocketNetLib]<br>"ProtocolOrder"=hex(7):74,00,63,00,70,00,00,00,00,00<br>看到默认的协议。<br><br>2.怎么在程序中更改Named Pipes ， Tcp/ip ，其sql语句怎么写？<br>你可以在上面提到的注册表的位置修改：<br>CLIENT端：<br>[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\SuperSocketNetLib]<br>"ProtocolOrder"=hex(7):74,00,63,00,70,00,00,00,00,00<br><br>SERVER端：<br>[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\SuperSocketNetLib]<br>"ProtocolOrder"=hex(7):74,00,63,00,70,00,00,00,00,00<br><br>SQL中,连接的配置就这两个方面<br><br>SQL Server服务器--开始--程序--Microsoft SQL Server<br>--服务器网络实用工具<br>--启用 WinSock代理<br>--代理地址:(sqlserver服务器IP)<br>--代理端口--1433<br>---确定<br><br>客户端<br>开始--程序--Microsoft SQL Server--客户端网络实用工具<br>--别名--添加<br>--网络库选择"tcp/ip"--服务器别名输入SQL服务器名<br>--连接参数--服务器名称中输入SQL服务器ip地址<br>--如果你修改了SQL的端口,取消选择"动态决定端口",并输入对应的端口号<br></span><img src ="http://www.cnitblog.com/charen/aggbug/33945.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/charen/" target="_blank">何剑新</a> 2007-09-24 09:51 <a href="http://www.cnitblog.com/charen/archive/2007/09/24/33945.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>