<?xml version="1.0" encoding="GBK"?>
<rss xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>Aiyouf.ieff&amp;lt;Top Hacker&amp;gt;</title>
    <link>http://blog.china.com:80/u/070112/26101/</link>
    <description>网络安全我的资料库</description>
    <managingEditor>ieff</managingEditor>
    <dc:creator>ieff</dc:creator>
    <item>
      <title>木马免杀教程精装版(转)</title>
      <link>http://blog.china.com:80/u/070112/26101/200805/2599975.html</link>
      <description>&lt;![CDATA[ &lt;DIV&gt;&#xD;
&lt;H2&gt;木马免杀教程精装版&lt;/H2&gt;&#xD;
&lt;DIV class=t_msgfont id=postmessage_122043&gt;第一部分：对国内外杀毒软件分析&lt;BR&gt;&lt;BR&gt;　　在讲定位内存特征码前，先要分析国内外著名杀毒软件的内存查&lt;BR&gt;&lt;BR&gt;杀特点。大家在使用木马过程都会发现，内存查杀，一般都指得被瑞&lt;BR&gt;&lt;BR&gt;星的内存查杀。瑞星的内存查杀功能是同类杀毒软件中最强的一款杀&lt;BR&gt;&lt;BR&gt;毒软件。像强悍的卡巴，金山，等等它们的内存查杀意义不大,会制作&lt;BR&gt;&lt;BR&gt;免杀木马的人都知道,像这类杀毒软件,只要文件免杀,内存也就免杀了.&lt;BR&gt;&lt;BR&gt;还有江民也有内存查杀功能,但内存查杀功能比较弱.只针对影响力非常&lt;BR&gt;&lt;BR&gt;大的病毒程序.一般的黑客软件都没有提取内存特征码.&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;第二部分：木马免杀的对策&lt;BR&gt;&lt;BR&gt;　一.　要使一个木马免杀，首先要准备一个不加壳的木马，这点非常重要，否则下面的免杀操作就不能进行下去。&lt;BR&gt;&lt;BR&gt;　二.然后我们要木马的内存免杀，从上面分析可以看出，目前的内存查杀，只有瑞星最强，其它杀毒软件内存查杀现在还不起作用所以我们只针对瑞星的内存查杀，要进行内存特征码的定位和修改，才能内存免杀。&lt;BR&gt;&lt;BR&gt;　二.对符其它的杀毒软件，比如江民，金山，诺顿,卡巴.我们可以采用下面的方法,或这些方面的组合使用.&lt;BR&gt;&lt;BR&gt;1&amp;gt;.入口点加1免杀法.&lt;BR&gt;&lt;BR&gt;2&amp;gt;.变化入口地址免杀法&lt;BR&gt;3&amp;gt;.加花指令法免杀法&lt;BR&gt;4&amp;gt;.加壳或加伪装壳免杀法.&lt;BR&gt;5&amp;gt;.打乱壳的头文件免杀法.&lt;BR&gt;6&amp;gt;.修改文件特征码免杀法.&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;第三部分:免杀技术实例演示部分&lt;BR&gt;&lt;BR&gt;一.入口点加1免杀法:&lt;BR&gt;&lt;BR&gt;1.用到工具:PEditor&lt;BR&gt;&lt;BR&gt;2.特点:非常简单实用,但有时还会被卡巴查杀.&lt;BR&gt;&lt;BR&gt;3.操作要点:用PEditor打开无壳木马程序,把原入口点加1即可.&lt;BR&gt;&lt;BR&gt;二.变化入口地址免杀法:&lt;BR&gt;&lt;BR&gt;1.用到工具:OllyDbg,PEditor&lt;BR&gt;&lt;BR&gt;2.特点:操作也比较容易,而且免杀效果比入口点加1点要佳.&lt;BR&gt;&lt;BR&gt;3.操作要点:用OD载入无壳的木马程序,把入口点的前二句移到零区域去执行,然后又跳回到入口点的下面第三句继续执行.最后用PEditor把入口点改成零区域的地址.&lt;BR&gt;&lt;BR&gt;三.加花指令法免杀法:&lt;BR&gt;&lt;BR&gt;1.用到工具:OllyDbg,PEditor&lt;BR&gt;&lt;BR&gt;2.特点:免杀通用性非常好,加了花指令后,就基本达到大量杀毒软件的免杀.&lt;BR&gt;&lt;BR&gt;3.操作要点:用OD打开无壳的木马程序,找到零区域,把我们准备好的花指令填进去填好后又跳回到入口点,保存好后,再用PEditor把入口点改成零区域处填入花指令的着地址.&lt;BR&gt;&lt;BR&gt;四.加壳或加伪装壳免杀法:&lt;BR&gt;&lt;BR&gt;1.用到工具:一些冷门壳,或加伪装壳的工具,比如木马彩衣等.&lt;BR&gt;&lt;BR&gt;2.特点:操作简单化,但免杀的时间不长,可能很快被杀,也很难躲过卡巴的追杀.&lt;BR&gt;&lt;BR&gt;3.操作要点:为了达到更好的免杀效果可采用多重加壳,或加了壳后在加伪装壳的免杀效果更佳.&lt;BR&gt;&lt;BR&gt;五.打乱壳的头文件或壳中加花免杀法:&lt;BR&gt;&lt;BR&gt;1.用到工具:秘密行动 ,UPX加壳工具.&lt;BR&gt;&lt;BR&gt;2.特点:操作也是傻瓜化,免杀效果也正当不错,特别对卡巴的免杀效果非常好.&lt;BR&gt;&lt;BR&gt;3.操作要点:首先一定要把没加过壳的木马程序用UPX加层壳,然后用秘密行动这款工具中的SCramble功能进行把UPX壳的头文件打乱,从而达到免杀效果.&lt;BR&gt;&lt;BR&gt;六.修改文件特征码免杀法:&lt;BR&gt;&lt;BR&gt;1.用到工具:特征码定位器,OllyDbg&lt;BR&gt;&lt;BR&gt;2.特点:操作较复杂,要定位修改一系列过程,而且只针对每种杀毒软件的免杀,要达到多种杀毒软件的免杀,必需修改各种杀毒软件的特征码.但免杀效果好.&lt;BR&gt;&lt;BR&gt;3.操作要点:对某种杀毒软件的特征码的定位到修改一系列慢长过程.&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;第四部分:快速定位与修改瑞星内存特征码&lt;BR&gt;&lt;BR&gt;一.　瑞星内存特征码特点:由于技术原因,目前瑞星的内存特征码在90%以上把字符串作为病毒特征码,这样对我们的定位和修改带来了方便.&lt;BR&gt;&lt;BR&gt;二定位与修改要点:1&amp;gt;.首先用特征码定位器大致定位出瑞星内存特征码位置&lt;BR&gt;&lt;BR&gt;2&amp;gt;.然后用UE打开,找到这个大致位置,看看,哪些方面对应的是字符串,用0替换后再用内存查杀进行查杀.直到找到内存特征码后,只要把字符串的大小写互换就能达到内存免杀效果.&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;第五部分:免杀方案实例演示部分&lt;BR&gt;&lt;BR&gt;1.完全免杀方案一:&lt;BR&gt;&lt;BR&gt;内存特征码修改 + 加UPX壳 + 秘密行动工具打乱UPX壳的头文件.&lt;BR&gt;&lt;BR&gt;2.完全免杀方案二:&lt;BR&gt;&lt;BR&gt;内存特征码修改 + 加压缩壳 + 加壳的伪装&lt;BR&gt;&lt;BR&gt;3.完全免杀方案三:&lt;BR&gt;&lt;BR&gt;内存特征码修改 + 修改各种杀毒软件的文件特征码 + 加压缩壳&lt;BR&gt;&lt;BR&gt;4.完全免杀方案四:&lt;BR&gt;&lt;BR&gt;内存特征码修改 + 加花指令 + 加压壳&lt;BR&gt;&lt;BR&gt;5.完全变态免杀方案五:&lt;BR&gt;&lt;BR&gt;内存特征码修改 + 加花指令 + 入口点加1 + 加压缩壳UPX + 打乱壳的头文件&lt;BR&gt;&lt;BR&gt;还有其它免杀方案可任意组合.达到更好的免杀效果.&lt;/DIV&gt;&lt;/DIV&gt;]]&gt;</description>
      <pubDate>星期三, 14 五月 2008 02:06:48 GMT</pubDate>
      <guid>http://blog.china.com:80/u/070112/26101/200805/2599975.html</guid>
      <dc:date>2008-05-14T02:06:48Z</dc:date>
    </item>
    <item>
      <title>心不在焉的情况下做过的最离谱的事</title>
      <link>http://blog.china.com:80/u/070112/26101/200805/2592116.html</link>
      <description>&lt;![CDATA[ &lt;DIV&gt;作者：老咪家的小咪　回复日期：2007-7-24　16:09:42&lt;BR&gt;　　　　昨天游完泳，直接把后备箱打开，钥匙丢进去，然后关上后备箱……&lt;BR&gt;　　　　穿着三点式在野外等了一个半小时。 &lt;BR&gt;　　&lt;BR&gt;　　作者：casper_723　回复日期：2007-7-24　17:48:03&lt;BR&gt;　　　　有一次煮饭,淘完米直接把米倒进没放内锅的电饭煲中...后来拿吹来吹啊吹.... &lt;BR&gt;　　&lt;BR&gt;　　作者：俏Y头　回复日期：2007-7-24　17:58:10&lt;BR&gt;　　　　就发生在中午，丢人啊~&lt;BR&gt;　　　　中午打算叫楼下面馆送碗刀削面来吃吃~ 脑袋也不知道想什么~ 电话通后，我直接说：&lt;BR&gt;　　"您好~麻烦送一碗刀削面"，后面就听到我妈妈的声音出现："女儿！你中午想吃刀削面啊！" &lt;BR&gt;　　　　我妈刚开始还觉得有点莫名其妙，回过神来就大笑~~ 我当时也愣了下~ 脸都红了，尴尬啊~~ &lt;BR&gt;　　&lt;BR&gt;　　作者：滚动的苹果IN　回复日期：2007-7-24　20:04:37&lt;BR&gt;　　　　第一天上班 有人电话找经理(女的) 把电话给经理顺便说了一声妈有人找你接电话 &lt;BR&gt;　　&lt;BR&gt;　　作者：浅水菖蒲　回复日期：2007-7-24　20:58:00&lt;BR&gt;　　　　戴着眼镜（框式的）洗脸。镜片上一片迷茫……………… &lt;BR&gt;　　&lt;BR&gt;　　作者：圣诞节飘雪　回复日期：2007-7-24　21:06:21&lt;BR&gt;　　　　盘算着给老妈打电话&lt;BR&gt;　　　　领导突然进来,于是对他说:妈,材料找到了，给你!!!!!!!! &lt;BR&gt;　　　　- -!!!! &lt;BR&gt;　　&lt;BR&gt;　　作者：眉清浅　回复日期：2007-7-24　22:21:52&lt;BR&gt;　　　　把钱捏在手里 然后揉成一团&lt;BR&gt;　　　　抓在手里&lt;BR&gt;　　　　觉得很不舒服&lt;BR&gt;　　　　扔了 &lt;BR&gt;　　&lt;BR&gt;　　作者：小暑七七　回复日期：2007-7-24　22:29:56&lt;BR&gt;　　　　去好朋友家，聊天中，她爸回来，张嘴就叫"阿姨"，尴尬中，她妈又出现，张嘴&lt;BR&gt;　　又叫"叔叔"……然后无限怀疑自己的智商 &lt;BR&gt;　　&lt;BR&gt;　　作者：周六无聊　回复日期：2007-7-24　22:31:44&lt;BR&gt;　　　　潜力贴．我有两个：一次好朋友结婚，头天去她家时她给我拍了张照片，我当时没看她&lt;BR&gt;　　相机里的照片，回头就忘记这回事；第二天喝喜酒的时候她拿出相机，我说看看你都拍了些&lt;BR&gt;　　什么照片，翻着照片我就发现有张照片里的人特别象我，脑子里就没反应过来，还傻呼呼的&lt;BR&gt;　　喊人家看有个女孩子张得很象我，等反应过来，觉得自己特傻，怎么会不认得自己的照片； &lt;BR&gt;　　&lt;BR&gt;　　　　第二个比较惨，骑车快速经过一辆面包车，车门刚好打开～～我结实的撞到车门上，惨～ &lt;BR&gt;　　&lt;BR&gt;　　作者：神啊给我个马甲　回复日期：2007-7-25　1:40:49&lt;BR&gt;　　　　最丢脸的一次,洗脚的时候也不知道在想啥,本来要脱袜子的,差点把裤子脱下..... &lt;BR&gt;　　&lt;BR&gt;　　&lt;BR&gt;　　作者：千栀　回复日期：2007-7-25　2:21:10 &lt;BR&gt;　　　　从讲台往座位走，一同学的脚伸到过道上，本来想说"请让下"，结果脱口而出"谢谢"-_-# &lt;BR&gt;　　&lt;BR&gt;　　作者：小小非常晕　回复日期：2007-7-25　6:17:51 &lt;BR&gt;　　　　有次上photoshop课 &lt;BR&gt;　　　　我一边给男朋友发短信一边很勇敢的大声对老师喊道:"老公!我的电脑没连上!" &lt;BR&gt;　　　　闹怏怏的教室瞬间安静了 &lt;BR&gt;　　　　5秒后全体暴笑 &lt;BR&gt;　　　　老师是个50多岁的小老头 &lt;BR&gt;　　　　推着眼镜盯盯瞅我 &lt;BR&gt;　　　　这个庐山瀑布汗呀 &lt;BR&gt;　　&lt;BR&gt;　　作者：xiaoyaozhu426　回复日期：2007-7-25　10:07:38 &lt;BR&gt;　　　　给女友家打电话，她爸爸接的，说："喂？" 我硬是顶着她爸的声音回答说："阿 &lt;BR&gt;　　姨好，请问***在吗？" &lt;BR&gt;　　　　她爸能同意我们在一起真是奇迹！ &lt;BR&gt;　　&lt;BR&gt;　　作者：Mlillian　回复日期：2007-7-25　12:41:31 &lt;BR&gt;　　　　早上扔垃圾,,拿着挺顺手,一路上了公车,活活开了一小时,到了公司,,下车才发现 &lt;BR&gt;　　垃圾袋还在手上,我带着绕了大半个城市,,,结果扔到写字楼垃圾箱,,,, &lt;BR&gt;　　&lt;BR&gt;　　作者：红发龙葵　回复日期：2007-7-25　13:50:57 &lt;BR&gt;　　　　某日深夜狂欢结束后回家 一路上不知道在想什么进了电梯以后就等啊等啊等好 &lt;BR&gt;　　久也没到我家那层楼 &lt;BR&gt;　　　　心里开始狂汗 难道是电梯出问题了? 这会也没人在啊喊救命都没人甩我同时 &lt;BR&gt;　　鬼电影里面的画面就一张一张的闪过 &lt;BR&gt;　　　　顿时觉得浑身寒毛竖立 &lt;BR&gt;　　　　正要打电话给BF 叫他来救我 突然发现自己没按楼层电梯还一直在一楼没动..... &lt;BR&gt;　　&lt;BR&gt;　　作者：火星代表人　回复日期：2007-7-25　15:46:55 &lt;BR&gt;　　　　拿学校饭卡给工行的工作人员取款,别人看了遗一眼,利索的丢了出来,我又塞回去 &lt;BR&gt;　　大大声的说我取钱啊,他有利索的丢出来懒散的说卡错了,我讪讪的取回来，又从钱包拿了 &lt;BR&gt;　　一张建行的卡递给他…… &lt;BR&gt;　　&lt;BR&gt;　　作者：幽香晨曦　回复日期：2007-7-25　15:56:26 &lt;BR&gt;　　　　1、很小的时候，家里要烧煤的，妈妈煮好的米饭放在厨房，我拿个小铲子弄了一 &lt;BR&gt;　　铲子的煤，将盛着米饭的锅盖打开，将煤一下子都倒了进去。。。。＃￥％……※×（ &lt;BR&gt;　　&lt;BR&gt;　　作者：lemoner　回复日期：2007-7-25　18:32:10 &lt;BR&gt;　　　　上大学时和一群朋友一起吃饭，想着下午的考试，心不在焉，吃完了照例从包里 &lt;BR&gt;　　拿纸巾出来擦嘴，是无意识的擦了好久，突然发现朋友们都不说话了，看着我，这才发现自 &lt;BR&gt;　　己拿着擦嘴的是一个卫生巾！朋友们可是有男有女啊！我当时真不想活了！是护舒宝的丝薄 &lt;BR&gt;　　日用！不可理解的是，我还把外面粉色的包装拆了！ &lt;BR&gt;　　&lt;BR&gt;　　作者：卜?　回复日期：2007-7-25　19:10:52 &lt;BR&gt;　　　　笑死人了呵呵~~ &lt;BR&gt;　　&lt;BR&gt;　　　　1、我有一次早晨起?吃早点（饼和稀饭），边看新闻边吃。当时正好播的是我们 &lt;BR&gt;　　那边的一场事故之类的。我看得特别认真，顺手就把遥控器拿起来啃，还把遥控器套子啃下来 &lt;BR&gt;　　一块，狂嚼了半天，吐出来一看差点没郁闷死。我一直想不明白我是怎么把它啃下来的==！！ &lt;BR&gt;　　&lt;BR&gt;　　　　2、还有一次是旅游的时候，和女朋友一起去的。当时景区人特多。我顺手就把女友的 &lt;BR&gt;　　手拉起来说；"老婆，拉紧我的。"然后，就感觉女友的手直往下松，我以为她不好意思， &lt;BR&gt;　　便往紧拽。后来她不走了，我回过头一看。才发现是一个男的。然后旁边还有一个女的很怪 &lt;BR&gt;　　异得看着我。我吓了一身的汗，干笑了几声，红着脸就溜了，郁闷死了。````` &lt;/DIV&gt;&#xD;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&#xD;
&lt;DIV&gt;外地来一个同学，一起去超市发买东西，两人买了一大车，结完账之后到出口还有段距离就继续用手推车，结果到了出口，忘了，就这么推着车往公交车站走了，一保安过来，说：您好. 我很有礼貌的答：您也好……同学在旁边说：北京超市发还不错，手推车可以推到公交车站……&lt;/DIV&gt;&#xD;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&#xD;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&#xD;
&lt;DIV&gt;再来:&lt;BR&gt;有次同学找我借钱，我就去ATM上取，出来张100的，我直接拿着就撕了，然后把回执单直接给我同学。&lt;/DIV&gt;]]&gt;</description>
      <pubDate>星期一, 12 五月 2008 06:17:15 GMT</pubDate>
      <guid>http://blog.china.com:80/u/070112/26101/200805/2592116.html</guid>
      <dc:date>2008-05-12T06:17:15Z</dc:date>
    </item>
    <item>
      <title>“由于帐户限制，您无法登录”</title>
      <link>http://blog.china.com:80/u/070112/26101/200805/2587571.html</link>
      <description>&lt;![CDATA[ &lt;DIV&gt;&#xD;
&lt;P style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: green"&gt;&lt;FONT color=#000000&gt;&lt;FONT face=宋体&gt;问题&lt;SPAN&gt;1&lt;/SPAN&gt;：本地用户是用“&lt;SPAN&gt;Administrator&lt;/SPAN&gt;”登陆的，使用“远程桌面连接”时，到了登陆界面输入的“&lt;SPAN&gt;Administrator&lt;/SPAN&gt;”时，提示“&lt;FONT color=#993333&gt;&lt;STRONG&gt;由于帐户限制，您无法登陆&lt;/STRONG&gt;&lt;/FONT&gt;”，这是怎么回是？怎么办？&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&#xD;
&lt;P style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: blue"&gt;&lt;FONT color=#000000&gt;&lt;FONT face=宋体&gt;答案：可能是对方电脑没有设置“允许用户远程连接到此计算机”，点击“我的电脑”的“属性”中“远程”，可以查看。如果没有选中它，确定即可。&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: blue"&gt;&lt;FONT color=#000000&gt;&lt;FONT face=宋体&gt;&lt;FONT color=#ff0000&gt;&#xD;
&lt;P style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: blue"&gt;&lt;FONT color=#000000&gt;&lt;FONT face=宋体&gt;&lt;FONT color=#ff0000&gt;&lt;STRONG&gt;另外远程连接的用户必须设置登陆密码。&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&#xD;
&lt;P style="MARGIN: 0cm 0cm 0pt"&gt;&lt;/P&gt;&#xD;
&lt;P style="MARGIN: 0cm 0cm 0pt"&gt;&lt;/P&gt;&#xD;
&lt;P style="MARGIN: 0cm 0cm 0pt"&gt;&lt;/P&gt;&#xD;
&lt;P style="MARGIN: 0cm 0cm 0pt"&gt;&lt;/P&gt;&#xD;
&lt;P style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: blue"&gt;&lt;FONT color=#000000&gt;&lt;FONT face=宋体&gt;&lt;FONT color=#ff0000&gt;------------------以上的方法好象行不通&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&#xD;
&lt;P style="MARGIN: 0cm 0cm 0pt"&gt;&lt;/P&gt;&#xD;
&lt;P style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: blue"&gt;&lt;FONT face=宋体 color=#000000&gt;在WINDOWS XP下，不管是从网络上访问其他机器，还是使用远程桌面功能登录系统，常常遇到类似“由于帐户限制你无法登录”的提示，这是由于你所使用的登录帐号的密码为空，并且所要登录的远程计算机中的“组策略”禁止空密码用户通过网络登录引起的。只要修改该配置即可，方法是：在远程计算机上启动“组策略编辑器”（开始-运行-GPEDIT.MSC），在“WINDOWS设置-安全设置-本地策略-安全选项”中找到“使用空白密码的本地帐户只允许进行控制台登录”，将其设置为“已停用”就可以了，另一种方法则是把你所使用的登录账号设置为非空密码。&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&#xD;
&lt;P style="MARGIN: 0cm 0cm 0pt"&gt;&lt;/P&gt;&#xD;
&lt;P style="MARGIN: 0cm 0cm 0pt"&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/DIV&gt;]]&gt;</description>
      <pubDate>星期日, 11 五月 2008 13:28:32 GMT</pubDate>
      <guid>http://blog.china.com:80/u/070112/26101/200805/2587571.html</guid>
      <dc:date>2008-05-11T13:28:32Z</dc:date>
    </item>
    <item>
      <title>关于“免疫文件在windows下无法删除”</title>
      <link>http://blog.china.com:80/u/070112/26101/200805/2585448.html</link>
      <description>&lt;![CDATA[ &lt;DIV&gt;你电脑里的&lt;SPAN style="COLOR: red"&gt;autorun.inf文件夹&lt;/SPAN&gt;（注意不是文件）是杀毒软件或者防护软件所留下的免疫产物。绝对不是病毒！ &lt;BR&gt;&lt;BR&gt;这个文件夹的产生应该是由系统的杀毒软件或者防毒产品所带来的免疫系统。 目的就是通过建立autorun.inf这个文件夹，来防止autorun.inf这个文件的写入！&lt;BR&gt;&lt;SPAN style="COLOR: blue"&gt;&lt;SPAN style="FONT-SIZE: 21pt; LINE-HEIGHT: 100%"&gt;介绍及分析 &lt;/SPAN&gt;不想看或已经知道了的跳过&lt;/SPAN&gt;&lt;BR&gt;U盘对病毒的传播要借助autorun.inf文件。病毒首先把自身复制到u盘,然后创建一个autorun.inf，当你在插入U盘或者双击u盘时，autorun.inf中的设置会运行u盘中的病毒.我们创建一个删不掉的autorun.inf文件夹,让u盘"百毒不入" 大家可能也想到这个，但是不管给autorun.inf设置了什么属性，病毒都会更改它。我提到的方法就是，在根目录下，删除autorun.inf文件。然后，根目下建立一个文件夹，名字就叫autorun.inf。这样一来，因为在同一目录下，同名的文件和文件夹不能共存的原理，在autorun.inf文件夹里面创建一个带.的文件夹，使得病毒无法删除autorun.inf文件夹，病毒就无能为力，创建不了autorun.inf文件了。以后就算中毒，病毒也不会运行，从而达到了防止中毒的目的，目前这种方法是非常有效的。 &lt;BR&gt;&lt;BR&gt;&lt;SPAN style="COLOR: blue"&gt;&lt;SPAN style="FONT-SIZE: 21pt; LINE-HEIGHT: 100%"&gt;一：创建非法文件夹&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR&gt;1. 开始 运行：CMD，进入DOS界面，因为这个非法的文件夹只能在DOS下创建。&lt;BR&gt;2. 输入“X:”回车（不含引号，下同），其中X表示盘符，比如你有C、D、E等硬盘分区，或者把U盘插上后的盘符，记得不要试图在光驱盘符上操作哟。&lt;BR&gt;3. 输入“md autorun.inf”，创建autorun.inf文件夹；&lt;BR&gt;4. 输入“cd autorun.inf”，进入autorun.inf文件夹；&lt;BR&gt;5. 输入“md haha..\”，haha可随意起各其他名字，但不要太长，三五字符个即可。注意这是关键的一步，haha的后面一定要输入两个点和一个反斜杠，这样建立的就是一个含有非法字符的文件夹，windows下无法进入也无法删除了。&lt;BR&gt;6. 回到窗口界面，试试删除这个文件夹......&lt;BR&gt;&lt;BR&gt;&lt;SPAN style="COLOR: blue"&gt;&lt;SPAN style="FONT-SIZE: 21pt; LINE-HEIGHT: 100%"&gt;二：删除方法如下：&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;BR&gt;假设autorun.inf文件夹是在D盘，操作如下： 打开“开始”，选择“运行”，输入“CMD”，打开命令行窗口，在命令行窗口中输入一下命令：&lt;BR&gt;第一步：输入D: 然后回车&lt;BR&gt;第二步：输入rmdir /s autorun.inf 然后回车&lt;BR&gt;第三步：当出现提示时，按“Y”，并回车&lt;BR&gt;其他盘照此方法执行即可！！&lt;BR&gt;&lt;BR&gt;好多人在问C盘或其他盘怎么弄，一样的方法即可。。&lt;BR&gt;&lt;BR&gt;如果出现意外，请检查是否有打开该盘，如果有的话，把这个窗口关掉，应该是可以的。&lt;BR&gt;&lt;BR&gt;如果你想觉得烦,要删用下面的方法~:&lt;BR&gt;&lt;BR&gt;DEL /F /A /Q \\?\%1 &lt;BR&gt;RD /S /Q \\?\%1 &lt;BR&gt;&lt;BR&gt;把以上内容复制进记事本另存为 “&lt;SPAN style="COLOR: red"&gt;将畸形文件拖到我上面.bat&lt;/SPAN&gt;” （注意后缀是.bat 不是你创建的.txt）&lt;BR&gt;&lt;BR&gt;然后 把要删除的文件/文件夹 拖到 “将畸形文件拖到我上面.bat”上面，一闪 文件或者文件夹消失了。&lt;BR&gt;&lt;/DIV&gt;]]&gt;</description>
      <pubDate>星期日, 11 五月 2008 06:25:24 GMT</pubDate>
      <guid>http://blog.china.com:80/u/070112/26101/200805/2585448.html</guid>
      <dc:date>2008-05-11T06:25:24Z</dc:date>
    </item>
    <item>
      <title>2007我走过的考研路</title>
      <link>http://blog.china.com:80/u/070112/26101/200801/1804943.html</link>
      <description>&lt;![CDATA[ &lt;DIV&gt;19 20两天的考试结束&amp;nbsp; 半年的非人生活也结束&amp;nbsp; 不想谈太多关于考试的事 之能说的是载在英语上了 专业课还好 和预想的完全相反 本来以为C语言会很难 英语问题不大&amp;nbsp;结果是C语言考的不错&amp;nbsp; 英语却挂了 &lt;/DIV&gt;&#xD;
&lt;DIV&gt;&amp;nbsp; 哎&amp;nbsp;&amp;nbsp;&amp;nbsp; 大半年的时间花在英语上面&amp;nbsp;&amp;nbsp; 到后面反而是它拖后腿&amp;nbsp; 挺不甘心的&amp;nbsp; 但是又不知道还有没有再考一次的勇气了&lt;/DIV&gt;&#xD;
&lt;DIV&gt;&amp;nbsp; 就这样吧&amp;nbsp; 马上回家了 兄弟们&amp;nbsp; 不好意思啊&amp;nbsp; 让你们失望了 回去自己罚三杯白的&amp;nbsp; 希望醉了就不会去想这150天的辛苦了&amp;nbsp; 也不会去想值不值得了&lt;/DIV&gt;&#xD;
&lt;DIV&gt;&amp;nbsp; 啊&amp;nbsp; 本人回家后开始找工作了&amp;nbsp; 有门路的同学 哥们联系我啊~&lt;/DIV&gt;]]&gt;</description>
      <pubDate>星期四, 24 一月 2008 09:25:05 GMT</pubDate>
      <guid>http://blog.china.com:80/u/070112/26101/200801/1804943.html</guid>
      <dc:date>2008-01-24T09:25:05Z</dc:date>
    </item>
    <item>
      <title>男人失恋后.....</title>
      <link>http://blog.china.com:80/u/070112/26101/200710/1070948.html</link>
      <description>&lt;![CDATA[ &lt;DIV&gt;&#xD;
&lt;P style="TEXT-INDENT: 2em"&gt;&lt;STRONG&gt;一刀两断&lt;/STRONG&gt;&lt;/P&gt;&#xD;
&lt;P style="TEXT-INDENT: 2em"&gt;女人初一，男人十五。幻想中的梦中&lt;NOBR oncontextmenu="return false;" onmousemove=kwM(1); id=key1 onmouseover="kwE(event,1, this);" style="COLOR: #6600ff; BORDER-BOTTOM: #6600ff 1px dotted; BACKGROUND-COLOR: transparent; TEXT-DECORATION: underline" onclick="return kwC();" onmouseout="kwL(event, this);" target="_blank"&gt;情人&lt;/NOBR&gt;不能成为事实，最好的结果当然是及早脱离，注意不要太伤害自尊心。感情就像一团死结，解不开的就必须剪断。“剪”一定会流血，但动作越快越利落，受伤就越轻。如果让她先向你开刀，那么受伤的当然是你！不论事情是怎样发生的，做男人的当然是不能忍受，整个人的斗志丧失，生活完全失去乐趣。但是时间能抚慰一切，几个星期后，你的伤口必须愈合，万万不要为了一个&lt;NOBR oncontextmenu="return false;" onmousemove=kwM(3); id=key3 onmouseover="kwE(event,3, this);" style="COLOR: #6600ff; BORDER-BOTTOM: #6600ff 1px dotted; BACKGROUND-COLOR: transparent; TEXT-DECORATION: underline" onclick="return kwC();" onmouseout="kwL(event, this);" target="_blank"&gt;女人&lt;/NOBR&gt;而躺下来等死。&lt;/P&gt;&#xD;
&lt;P style="TEXT-INDENT: 2em"&gt;&lt;STRONG&gt;一脚踢开&lt;/STRONG&gt;&lt;/P&gt;&#xD;
&lt;P style="TEXT-INDENT: 2em"&gt;感情破裂后，谈判是无济于事的，只能延长痛苦。假如你仍然觉得她十全十美，请仔细看看她究竟“完美”到什么地步。你把她性格中不能接受的地方列出来，把“没有她”能活得更好的理由记录下来。每次意志晕头晕脑时，将她的罪状再看一遍，别以为这样太刻薄，实在只有好处。坚定一点，将她一脚踢出你的世界！&lt;/P&gt;&#xD;
&lt;P style="TEXT-INDENT: 2em"&gt;&lt;STRONG&gt;一切如梦&lt;/STRONG&gt;&lt;/P&gt;&#xD;
&lt;P style="TEXT-INDENT: 2em"&gt;失恋是不是真的没有面子？事情发生后，无论是寂寞、心碎、难过，随便你觉得什么都好，但是残局总要有人收拾。不要以为失恋是没有面子的事，即使真的是你不再被爱，又何必让别人都这样认为呢？失恋没什么大不了的，更谈不上“没面子”。不能再在一起，当然要分开，应该为自己的决定感到骄傲。同时，你要坚信前一场恋爱只是一场梦，失恋才是梦醒。一去无踪不管你是否多情，千万别为欲望诱惑。有时候你会产生幻觉，好像恶梦已过，一切又可以好起来了。假如她离去，她已经用事实表明了态度，根本不值得你花精力去改变什么。如果继续交往，你就好比泥足深陷，不能自拔。谁不知道分手后恋人的关系越深，情况就越糟？意识不坚定时，你想起她在你的泪光中掉头而去的情景了吗？&lt;/P&gt;&#xD;
&lt;P style="TEXT-INDENT: 2em"&gt;&lt;STRONG&gt;一丝不挂&lt;/STRONG&gt;&lt;/P&gt;&#xD;
&lt;P style="TEXT-INDENT: 2em"&gt;女人即使提出分手，她也&lt;NOBR oncontextmenu="return false;" onmousemove=kwM(5); id=key4 onmouseover="kwE(event,5, this);" style="COLOR: #6600ff; BORDER-BOTTOM: #6600ff 1px dotted; BACKGROUND-COLOR: transparent; TEXT-DECORATION: underline" onclick="return kwC();" onmouseout="kwL(event, this);" target="_blank"&gt;喜欢&lt;/NOBR&gt;放根线，说一句，“如果我们有缘，可能会再在一起。”你千万别上当，所谓的一线生机，简直是猪八戒说笑话。虽然你好像觉得轻松点，但其实她在做猫捉老鼠的&lt;NOBR oncontextmenu="return false;" onmousemove=kwM(0); id=key0 onmouseover="kwE(event,0, this);" style="COLOR: #6600ff; BORDER-BOTTOM: #6600ff 1px dotted; BACKGROUND-COLOR: transparent; TEXT-DECORATION: underline" onclick="return kwC();" onmouseout="kwL(event, this);" target="_blank"&gt;游戏&lt;/NOBR&gt;。潜台词是，你这个可怜的男人，不要沮丧、伤心，我可能有事要你的帮助呢！马上承认你们的关系已经结束。一丝不挂的胸怀，是永远的清爽。&lt;/P&gt;&#xD;
&lt;P style="TEXT-INDENT: 2em"&gt;&lt;STRONG&gt;一往无惧&lt;/STRONG&gt;&lt;/P&gt;&#xD;
&lt;P style="TEXT-INDENT: 2em"&gt;你要告诉自己一个真相：人经常会害怕，你在追求她的时候，你会怕失去她；你在得到她的时候，你会怕她别恋移情。当失恋的火山爆发之后，你在精神上要放松放松再放松，所谓勇气也不过如此。区区一个女人，何足怕也！&lt;/P&gt;&#xD;
&lt;P style="TEXT-INDENT: 2em"&gt;&lt;STRONG&gt;一味沉默&lt;/STRONG&gt;&lt;/P&gt;&#xD;
&lt;P style="TEXT-INDENT: 2em"&gt;失恋后从第一天&lt;NOBR oncontextmenu="return false;" onmousemove=kwM(7); id=key5 onmouseover="kwE(event,7, this);" style="COLOR: #6600ff; BORDER-BOTTOM: #6600ff 1px dotted; BACKGROUND-COLOR: transparent; TEXT-DECORATION: underline" onclick="return kwC();" onmouseout="kwL(event, this);" target="_blank"&gt;开始&lt;/NOBR&gt;，你就要决心闭嘴。虽然好心的朋友围着你，述说她的短处给你安慰。这时，你千万不要开口应和，损坏前任女友的名誉，至少不强迫自己去“否定她”。众人的怜悯只能使你的创伤更大，最严重的是你将成为被怜悯的对象。这对你的男人形象有致命的损害。假装不在乎没有什么意义，保持沉默却是石比金坚！&lt;/P&gt;&#xD;
&lt;P style="TEXT-INDENT: 2em"&gt;&lt;STRONG&gt;一生一次&lt;/STRONG&gt;&lt;/P&gt;&#xD;
&lt;P style="TEXT-INDENT: 2em"&gt;最后，如果你还觉得难于向自尊交待，那么就相信命运吧！&lt;/P&gt;&#xD;
&lt;P style="TEXT-INDENT: 2em"&gt;两次的失败根本不足以证明什么，也许你会产生一种想法，认为这种事老是发生在你的头上。不要相信它，除非你每次遇到的对象都是同一类型的人，倒楣的事不会光找你一个人的。你如果承认运气在这种事里扮演了很重要的角色，把持住，想想你学会走路前摔了多少跤？&lt;/P&gt;&lt;/DIV&gt;]]&gt;</description>
      <pubDate>星期一, 08 十月 2007 10:11:36 GMT</pubDate>
      <guid>http://blog.china.com:80/u/070112/26101/200710/1070948.html</guid>
      <dc:date>2007-10-08T10:11:36Z</dc:date>
    </item>
    <item>
      <title>毕业设计 突破!</title>
      <link>http://blog.china.com:80/u/070112/26101/200705/361288.html</link>
      <description>&lt;![CDATA[ &lt;DIV&gt;今天解决一个重要的问题 &lt;/DIV&gt;&#xD;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&#xD;
&lt;DIV&gt;关于 ado远程数据库SQL查询&amp;nbsp;的操作&lt;/DIV&gt;&#xD;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&#xD;
&lt;DIV&gt;这里说的条件是: 所有机器在一个局域网中,服务器安装SQL2000 客户机不需要安装SQL 保证两台机器相通 可以 ping 通 可以 telnet 关于这些测试可以在我的BLOG其它文章中找到 这里不再说了&lt;/DIV&gt;&#xD;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&#xD;
&lt;DIV&gt;还有一点就是 SQL2000 打补丁的问题 下载SP4(SQL的)的补丁 安装后会在C盘下有个文件夹 SQL2KSP4 安装完后并没有打上补丁 还要进到 C:SQL2KSP4 里面运行 setup.bat 这样才算打上了SP4的补丁 重新启动服务器 在CMD下输入 netstat -an 如果看到 1433或1434端口 说明补丁已经打好 到这里 SQL的配置算完成 下面说说在 VB 中的 ADO 连接语句问题&lt;/DIV&gt;&#xD;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&#xD;
&lt;DIV&gt;关键语句&amp;nbsp;&lt;/DIV&gt;&#xD;
&lt;DIV&gt;Sc "Provider=SQLOLEDB.1;Password=215215;Persist Security Info=True;User ID=sa;Initial Catalog=tushu;Data Source=192.168.0.4"&lt;/DIV&gt;&#xD;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&#xD;
&lt;DIV&gt;这条语句没问题 server&amp;nbsp;&amp;nbsp;&amp;nbsp; 后面是SQL数据库地址&lt;/DIV&gt;&#xD;
&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; User ID&amp;nbsp;&amp;nbsp; 数据库连接用户名 一般都是SA权限&lt;/DIV&gt;&#xD;
&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Password&amp;nbsp; 密码(非机器的密码,是数据库的密码 也就是SA密码)&lt;/DIV&gt;&#xD;
&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Initial Catalog 是数据库的名字 我这里的tushu就是在SQL里面的库名&lt;/DIV&gt;&#xD;
&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/DIV&gt;&#xD;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&#xD;
&lt;DIV&gt;这里要特别说明的是 如果你前面写的 server=192.168.0.4 是这个的话,那么在SQL的服务管理器中 服务器 一定要用 192.168.0.4 这个是可以改的&lt;/DIV&gt;&#xD;
&lt;DIV&gt;至少我是这么做的就可以连接了&amp;nbsp; 用机器名的话 我没成功 不知道问题出在那&lt;/DIV&gt;&#xD;
&lt;DIV&gt;因为宿舍电脑太多 最后都把自己搞糊涂了 我分析的是 可以有重名&amp;nbsp;&lt;/DIV&gt;&#xD;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&#xD;
&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 转帖请注释转自 ieff.blog.china.com&lt;/DIV&gt;&#xD;
&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/DIV&gt;&#xD;
&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Aiyouf.ieff&lt;/DIV&gt;&#xD;
&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2007.5.10&lt;/DIV&gt;&#xD;
&lt;DIV&gt;&lt;/DIV&gt;]]&gt;</description>
      <pubDate>星期五, 11 五月 2007 09:45:23 GMT</pubDate>
      <guid>http://blog.china.com:80/u/070112/26101/200705/361288.html</guid>
      <dc:date>2007-05-11T09:45:23Z</dc:date>
    </item>
    <item>
      <title>毕业设计文章5 SQL问题集合(不存在或拒绝)</title>
      <link>http://blog.china.com:80/u/070112/26101/200705/358822.html</link>
      <description>&lt;![CDATA[ &lt;P&gt;&lt;FONT class=f14 id=zoom&gt;一."SQL Server 不存在或访问被拒绝"&lt;/FONT&gt;&lt;/P&gt;&#xD;
&lt;P&gt;&lt;FONT class=f14 id=zoom&gt;这个是最复杂的,错误发生的原因比较多,需要检查的方面也比较多.&lt;/FONT&gt;&lt;/P&gt;&#xD;
&lt;P&gt;&lt;FONT class=f14 id=zoom&gt;一般说来,有以下几种可能性:&lt;/FONT&gt;&lt;/P&gt;&#xD;
&lt;P&gt;&lt;FONT class=f14 id=zoom&gt;1,SQL Server名称或IP地址拼写有误&lt;BR&gt;2,服务器端网络配置有误&lt;BR&gt;3,客户端网络配置有误&lt;/FONT&gt;&lt;/P&gt;&#xD;
&lt;P&gt;&lt;FONT class=f14 id=zoom&gt;要解决这个问题,我们一般要遵循以下的步骤来一步步找出导致错误的原因.&lt;/FONT&gt;&lt;/P&gt;&#xD;
&lt;P&gt;&lt;FONT class=f14 id=zoom&gt;============= 首先,检查网络物理连接 =============&lt;/FONT&gt;&lt;/P&gt;&#xD;
&lt;P&gt;&lt;FONT class=f14 id=zoom&gt;ping &amp;lt;服务器IP地址/服务器名称&amp;gt;&lt;/FONT&gt;&lt;/P&gt;&#xD;
&lt;P&gt;&lt;FONT class=f14 id=zoom&gt;如果 ping &amp;lt;服务器IP地址&amp;gt; 不成功,说明物理连接有问题,这时候要检查&lt;A href="http://tech.acnow.net/Html/HardWare/" target=_blank&gt;硬件&lt;/A&gt;设备,如网卡,HUB,&lt;A href="http://tech.acnow.net/html/NetWork/NetworkProduct/Router/" target=_blank&gt;路由器&lt;/A&gt;等.&lt;BR&gt;还有一种可能是由于客户端和服务器之间安装有&lt;A href="http://tech.acnow.net/Html/NetWork/NetworkSafety/FireWall/" target=_blank&gt;防火墙&lt;/A&gt;&lt;A href="http://tech.acnow.net/Html/SoftWare/" target=_blank&gt;软件&lt;/A&gt;造成的,比如 ISA Server.防火墙软件可能会屏蔽对 ping,telnet 等的响应&lt;BR&gt;因此在检查连接问题的时候,我们要先把防火墙软件暂时关闭,或者打开所有被封闭的端口.&lt;/FONT&gt;&lt;/P&gt;&#xD;
&lt;P&gt;&lt;FONT class=f14 id=zoom&gt;如果ping &amp;lt;服务器IP地址&amp;gt; 成功而,ping &amp;lt;服务器名称&amp;gt; 失败&lt;BR&gt;则说明名字解析有问题,这时候要检查 DNS 服务是否正常.&lt;BR&gt;有时候客户端和服务器不在同一个局域网里面,这时候很可能无法直接使用服务器名称来标识该服务器,这时候我们可以使用HOSTS文件来进行名字解析,&lt;BR&gt;具体的方法是:&lt;/FONT&gt;&lt;/P&gt;&#xD;
&lt;P&gt;&lt;FONT class=f14 id=zoom&gt;1.使用记事本打开HOSTS文件（一般情况下位于C:\WINNT\system32\drivers\etc）.&lt;BR&gt;添加一条IP地址与服务器名称的对应记录,如:&lt;BR&gt;172.168.10.24 myserver&lt;/FONT&gt;&lt;/P&gt;&#xD;
&lt;P&gt;&lt;FONT class=f14 id=zoom&gt;2.或在 SQL Server 的客户端网络实用工具里面进行配置,后面会有详细说明.&lt;/FONT&gt;&lt;/P&gt;&#xD;
&lt;P&gt;&lt;FONT class=f14 id=zoom&gt;&lt;BR&gt;============= 其次,使用 telnet 命令检查SQL Server服务器工作状态 =============&lt;BR&gt;telnet &amp;lt;服务器IP地址&amp;gt; 1433&lt;/FONT&gt;&lt;/P&gt;&#xD;
&lt;P&gt;&lt;FONT class=f14 id=zoom&gt;如果命令执行成功,可以看到屏幕一闪之后光标在左上角不停闪动,这说明 SQL Server 服务器工作正常,并且正在监听1433端口的 TCP/IP 连接&lt;BR&gt;如果命令返回"无法打开连接"的错误信息,则说明服务器端没有启动 SQL Server 服务,&lt;BR&gt;也可能服务器端没启用 TCP/IP &lt;A href="http://tech.acnow.net/html/NetWork/NetworkKnowledge/Protocol/" target=_blank&gt;协议&lt;/A&gt;,或者服务器端没有在 SQL Server 默认的端口1433上监听.&lt;/FONT&gt;&lt;/P&gt;&#xD;
&lt;P&gt;&lt;FONT class=f14 id=zoom&gt;&lt;BR&gt;=============接着,我们要到服务器上检查服务器端的网络配置,检查是否启用了命名管道.是否启用了 TCP/IP 协议等等 =============&lt;BR&gt;可以利用 SQL Server 自带的服务器网络使用工具来进行检查.&lt;/FONT&gt;&lt;/P&gt;&#xD;
&lt;P&gt;&lt;FONT class=f14 id=zoom&gt;点击:程序 -- Microsoft SQL Server -- 服务器网络使用工具&lt;/FONT&gt;&lt;/P&gt;&#xD;
&lt;P&gt;&lt;FONT class=f14 id=zoom&gt;打开该工具后,在"常规"中可以看到服务器启用了哪些协议.&lt;BR&gt;一般而言,我们启用命名管道以及 TCP/IP 协议.&lt;BR&gt;点中 TCP/IP 协议,选择"属性",我们可以来检查 SQK Server 服务默认端口的设置&lt;BR&gt;一般而言,我们使用 SQL Server 默认的1433端口.如果选中"隐藏服务器",则意味着客户端无法通过枚举服务器来看到这台服务器,起到了保护的作用,但不影响连接.&lt;/FONT&gt;&lt;/P&gt;&#xD;
&lt;P&gt;&lt;FONT class=f14 id=zoom&gt;&lt;BR&gt;============= 接下来我们要到客户端检查客户端的网络配置 =============&lt;BR&gt;我们同样可以利用 SQL Server 自带的客户端网络使用工具来进行检查,&lt;BR&gt;所不同的是这次是在客户端来运行这个工具.&lt;/FONT&gt;&lt;/P&gt;&#xD;
&lt;P&gt;&lt;FONT class=f14 id=zoom&gt;点击:程序 -- Microsoft SQL Server -- 客户端网络使用工具&lt;/FONT&gt;&lt;/P&gt;&#xD;
&lt;P&gt;&lt;FONT class=f14 id=zoom&gt;打开该工具后,在"常规"项中,可以看到客户端启用了哪些协议.&lt;BR&gt;一般而言,我们同样需要启用命名管道以及 TCP/IP 协议.&lt;BR&gt;点击 TCP/IP 协议,选择"属性",可以检查客户端默认连接端口的设置,该端口必须与服务器一致.&lt;/FONT&gt;&lt;/P&gt;&#xD;
&lt;P&gt;&lt;FONT class=f14 id=zoom&gt;单击"别名"选项卡,还可以为服务器配置别名.服务器的别名是用来连接的名称,&lt;BR&gt;连接参数中的服务器是真正的服务器名称,两者可以相同或不同.别名的设置与使用HOSTS文件有相似之处.&lt;/FONT&gt;&lt;/P&gt;&#xD;
&lt;P&gt;&lt;FONT class=f14 id=zoom&gt;&lt;BR&gt;通过以上几个方面的检查,基本上可以排除第一种错误.&lt;/FONT&gt;&lt;/P&gt;&#xD;
&lt;P&gt;&lt;FONT class=f14 id=zoom&gt;&lt;BR&gt;二."无法连接到服务器,用户xxx登陆失败"&lt;/FONT&gt;&lt;/P&gt;&#xD;
&lt;DIV&gt;&#xD;
&lt;P&gt;&lt;FONT class=f14 id=zoom&gt;该错误产生的原因是由于&lt;A href="http://tech.acnow.net/Html/DataBase/MSSQL/" target=_blank&gt;SQL Server&lt;/A&gt;使用了"仅 Windows"的身份验证方式,&lt;BR&gt;因此用户无法使用SQL Server的登录帐户（如 sa ）进行连接.解决方法如下所示:&lt;/FONT&gt;&lt;/P&gt;&#xD;
&lt;P&gt;&lt;FONT class=f14 id=zoom&gt;1.在服务器端使用企业管理器,并且选择"使用 Windows 身份验证"连接上 SQL Server&lt;BR&gt;2.展开"SQL Server组",鼠标右键点击SQL Server服务器的名称,选择"属性",再选择"&lt;A href="http://tech.acnow.net/html/NetWork/NetworkSafety/SafetyTechnique/" target=_blank&gt;安全&lt;/A&gt;性"选项卡&lt;BR&gt;3.在"身份验证"下,选择"SQL Server和 Windows ".&lt;BR&gt;4.重新启动SQL Server服务.&lt;/FONT&gt;&lt;/P&gt;&#xD;
&lt;P&gt;&lt;FONT class=f14 id=zoom&gt;在以上解决方法中,如果在第 1 步中使用"使用 Windows 身份验证"连接 SQL Server 失败,&lt;BR&gt;那就通过修改&lt;A href="http://tech.acnow.net/Html/OS/Reg/" target=_blank&gt;注册表&lt;/A&gt;来解决此问题:&lt;/FONT&gt;&lt;/P&gt;&#xD;
&lt;P&gt;&lt;FONT class=f14 id=zoom&gt;1.点击"开始"-"运行",输入regedit,回车进入注册表编辑器&lt;BR&gt;2.依次展开注册表项,浏览到以下注册表键:&lt;BR&gt;[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\&lt;A href="http://tech.acnow.net/Html/DataBase/MSSQL/" target=_blank&gt;MSSQL&lt;/A&gt;Server\MSSQLServer]&lt;BR&gt;3.在屏幕右方找到名称"LoginMode",双击编辑双字节值&lt;BR&gt;4.将原值从1改为2,点击"确定"&lt;BR&gt;5.关闭注册表编辑器&lt;BR&gt;6.重新启动SQL Server服务.&lt;/FONT&gt;&lt;/P&gt;&#xD;
&lt;P&gt;&lt;FONT class=f14 id=zoom&gt;此时,用户可以成功地使用sa在企业管理器中新建SQL Server注册,&lt;BR&gt;但是仍然无法使用Windows身份验证模式来连接SQL Server.&lt;BR&gt;这是因为在 SQL Server 中有两个缺省的登录帐户:&lt;BR&gt;BUILTIN\Administrators&lt;BR&gt;&amp;lt;机器名&amp;gt;\Administrator 被删除.&lt;/FONT&gt;&lt;/P&gt;&#xD;
&lt;P&gt;&lt;FONT class=f14 id=zoom&gt;要恢复这两个帐户,可以使用以下的方法: &lt;/FONT&gt;&lt;/P&gt;&#xD;
&lt;P&gt;&lt;/P&gt;&#xD;
&lt;P&gt;&lt;FONT class=f14 id=zoom&gt;1.打开企业管理器,展开服务器组,然后展开服务器&lt;BR&gt;2.展开"安全性",右击"登录",然后单击"新建登录"&lt;BR&gt;3.在"名称"框中,输入 BUILTIN\Administrators&lt;BR&gt;4.在"服务器角色"选项卡中,选择"System Administrators" &lt;BR&gt;5.点击"确定"退出&lt;BR&gt;6.使用同样方法添加 &amp;lt;机器名&amp;gt;\Administrator 登录.&lt;/FONT&gt;&lt;/P&gt;&#xD;
&lt;P&gt;&lt;FONT class=f14 id=zoom&gt;说明:&lt;/FONT&gt;&lt;/P&gt;&#xD;
&lt;P&gt;&lt;FONT class=f14 id=zoom&gt;以下注册表键:&lt;BR&gt;HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\LoginMode&lt;BR&gt;的值决定了SQL Server将采取何种身份验证模式.&lt;BR&gt;1.表示使用"Windows 身份验证"模式&lt;BR&gt;2.表示使用混合模式（Windows 身份验证和 SQL Server 身份验证）.&lt;/FONT&gt;&lt;/P&gt;&#xD;
&lt;P&gt;&lt;FONT class=f14 id=zoom&gt;&lt;BR&gt;三.提示连接超时&lt;/FONT&gt;&lt;/P&gt;&#xD;
&lt;P&gt;&lt;FONT class=f14 id=zoom&gt;如果遇到第三个错误,一般而言表示客户端已经找到了这台服务器,并且可以进行连接,&lt;BR&gt;不过是由于连接的时间大于允许的时间而导致出错.&lt;BR&gt;这种情况一般会发生在当用户在Internet上运行企业管理器来注册另外一台同样在Internet上的服务器,&lt;BR&gt;并且是慢速连接时,有可能会导致以上的超时错误.有些情况下,由于局域网的网络问题,也会导致这样的错误.&lt;/FONT&gt;&lt;/P&gt;&#xD;
&lt;P&gt;&lt;FONT class=f14 id=zoom&gt;要解决这样的错误,可以修改客户端的连接超时设置.&lt;BR&gt;默认情况下,通过企业管理器注册另外一台SQL Server的超时设置是 4 秒,&lt;BR&gt;而查询分析器是 15 秒（这也是为什么在企业管理器里发生错误的可能性比较大的原因）.&lt;/FONT&gt;&lt;/P&gt;&#xD;
&lt;P&gt;&lt;FONT class=f14 id=zoom&gt;具体步骤为:&lt;BR&gt;企业管理器中的设置:&lt;BR&gt;1.在企业管理器中,选择菜单上的"工具",再选择"选项"&lt;BR&gt;2.在弹出的"SQL Server企业管理器属性"窗口中,点击"高级"选项卡&lt;BR&gt;3.在"连接设置"下的"登录超时（秒）"右边的框中输入一个比较大的数字,如 20.&lt;/FONT&gt;&lt;/P&gt;&#xD;
&lt;P&gt;&lt;FONT class=f14 id=zoom&gt;查询分析器中的设置:&lt;BR&gt;工具 -- 选项 -- 连接 -- 将登录超时设置为一个较大的数字&lt;/FONT&gt;&lt;/P&gt;&#xD;
&lt;P&gt;&lt;FONT class=f14 id=zoom&gt;&lt;BR&gt;四.大部分机都用Tcp/ip才能成功，有次我发现用Named Pipes才可以？&lt;/FONT&gt;&lt;/P&gt;&#xD;
&lt;P&gt;&lt;FONT class=f14 id=zoom&gt;这是因为在WINDOWS 2000以后的&lt;FONT color=#004a9c&gt;&lt;A href="http://tech.acnow.net/Html/OS/" target=_blank&gt;操作系统&lt;/A&gt;&lt;/FONT&gt;中，MS为解决SQL SERVER的安全问题将TCP/IP配置&lt;BR&gt;为SQLSERVER的默认连接&lt;A href="http://tech.acnow.net/html/NetWork/NetworkKnowledge/Protocol/" target=_blank&gt;协议&lt;/A&gt;，你可以在CLIENT NETWORK UTILITY中看到TCP/IP和NAME PIPE&lt;BR&gt;的顺序。&lt;/FONT&gt;&lt;/P&gt;&#xD;
&lt;P&gt;&lt;FONT class=f14 id=zoom&gt;你也可以在：&lt;BR&gt;[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\Super&lt;A href="http://tech.acnow.net/Html/Program/JAVA/Socket/" target=_blank&gt;Socket&lt;/A&gt;NetLib]&lt;BR&gt;"ProtocolOrder"=hex(7):74,00,63,00,70,00,00,00,00,00&lt;BR&gt;看到默认的协议。&lt;/FONT&gt;&lt;/P&gt;&#xD;
&lt;P&gt;&lt;FONT class=f14 id=zoom&gt;2.怎么在程序中更改Named Pipes ， Tcp/ip ，其sql语句怎么写？&lt;BR&gt;你可以在上面提到的注册表的位置修改：&lt;BR&gt;CLIENT端：&lt;BR&gt;[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\SuperSocketNetLib]&lt;BR&gt;"ProtocolOrder"=hex(7):74,00,63,00,70,00,00,00,00,00&lt;/FONT&gt;&lt;/P&gt;&#xD;
&lt;P&gt;&lt;FONT class=f14 id=zoom&gt;SERVER端：&lt;BR&gt;[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\SuperSocketNetLib]"ProtocolOrder"=hex(7):74,00,63,00,70,00,00,00,00,00&lt;/FONT&gt;&lt;/P&gt;&#xD;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/DIV&gt;]]&gt;</description>
      <pubDate>星期四, 10 五月 2007 13:31:00 GMT</pubDate>
      <guid>http://blog.china.com:80/u/070112/26101/200705/358822.html</guid>
      <dc:date>2007-05-10T13:31:00Z</dc:date>
    </item>
    <item>
      <title>毕业设计文章3 winsock传送查询后的数据集合</title>
      <link>http://blog.china.com:80/u/070112/26101/200705/358482.html</link>
      <description>&lt;![CDATA[ 客户端发送查询请求：&lt;BR&gt;Private Sub Command1_Click()&lt;BR&gt;&lt;BR&gt;Dim strSQL As String&lt;BR&gt;&lt;BR&gt;strSQL = "select * from Employees"&lt;BR&gt;&lt;BR&gt;If Winsock1.State = sckConnected Then&lt;BR&gt;Winsock1.SendData strSQL&lt;BR&gt;DoEvents&lt;BR&gt;End If&lt;BR&gt;&lt;BR&gt;End Sub&lt;BR&gt;&lt;BR&gt;' 服务器收到查询请求并执行&lt;BR&gt;Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)&lt;BR&gt;&lt;BR&gt;Dim strBuffer As String&lt;BR&gt;Dim arrData() As Byte&lt;BR&gt;Dim objRec As Recordset&lt;BR&gt;&lt;BR&gt;Winsock1.GetData strBuffer, vbString&lt;BR&gt;Set objRec = GetRecordset(strBuffer) ' 执行接受到的查询，其中GetRecordset方法执行SQL语句并返回一记录集&lt;BR&gt;arrData() = RsToBin(objRec) ' 记录集转换成字节数组&lt;BR&gt;Winsock1.SendData arrData ' 送回客户段&lt;BR&gt;DoEvents&lt;BR&gt;&lt;BR&gt;End Sub&lt;BR&gt;&lt;BR&gt;' 客户端收到响应&lt;BR&gt;Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)&lt;BR&gt;&lt;BR&gt;Dim arrData() As Byte&lt;BR&gt;Dim objRec As Recordset&lt;BR&gt;&lt;BR&gt;Winsock1.GetData arrData, vbArray + vbByte&lt;BR&gt;Set objRec = BinToRs(arrData) ' 还原记录集&lt;BR&gt;Set DataGrid1.DataSource = objRec ' 显示数据&lt;BR&gt;&lt;BR&gt;End Sub&lt;BR&gt;&lt;BR&gt;这些代码只是说明大致的方法，实际上接受数据时还要处理何时接受完成，接受完了以后才能还原成记录集。&#xD;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&#xD;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&#xD;
&lt;DIV&gt;对于记录集和字节数组相互转换的函数&amp;nbsp; 请引用ADO&lt;/DIV&gt;&#xD;
&lt;DIV&gt;Public Function RsToBin(Rs As Recordset) As Variant &lt;BR&gt;&lt;BR&gt;Dim objStream As Stream&lt;BR&gt;&lt;BR&gt;Set objStream = New Stream&lt;BR&gt;&lt;BR&gt;objStream.Open&lt;BR&gt;objStream.Type = adTypeBinary&lt;BR&gt;Rs.Save objStream, adPersistADTG&lt;BR&gt;objStream.Position = 0&lt;BR&gt;&lt;BR&gt;RsToBin = objStream.Read()&lt;BR&gt;&lt;BR&gt;Set objStream = Nothing&lt;BR&gt;&lt;BR&gt;End Function&lt;BR&gt;&lt;BR&gt;Public Function BinToRs( vData As Variant) As Recordset&lt;BR&gt;&lt;BR&gt;Dim objStream As Stream&lt;BR&gt;Dim objRs As Recordset&lt;BR&gt;&lt;BR&gt;Set objRs = New Recordset&lt;BR&gt;Set objStream = New Stream&lt;BR&gt;&lt;BR&gt;objStream.Open&lt;BR&gt;objStream.Type = adTypeBinary&lt;BR&gt;objStream.Write vData&lt;BR&gt;objStream.Position = 0&lt;BR&gt;&lt;BR&gt;objRs.Open objStream&lt;BR&gt;&lt;BR&gt;Set BinToRs = objRs&lt;BR&gt;&lt;BR&gt;Set objRs = Nothing&lt;BR&gt;Set objStream = Nothing&lt;BR&gt;&lt;BR&gt;End Function&lt;BR&gt;&lt;/DIV&gt;]]&gt;</description>
      <pubDate>星期四, 10 五月 2007 11:44:53 GMT</pubDate>
      <guid>http://blog.china.com:80/u/070112/26101/200705/358482.html</guid>
      <dc:date>2007-05-10T11:44:53Z</dc:date>
    </item>
    <item>
      <title>毕业设计文章2 Winsock控件实现远程数据库查询</title>
      <link>http://blog.china.com:80/u/070112/26101/200705/358214.html</link>
      <description>&lt;![CDATA[ &lt;P&gt;VB中用Winsock控件实现远程数据库查询&lt;/P&gt;&#xD;
&lt;P&gt;VB中用Winsock控件实现远程数据库查询&lt;BR&gt;日期：2002年10月19日 作者：贾万兴 人气：457 查看:[大字体 中字体 小字体]&lt;/P&gt;&#xD;
&lt;P&gt;　　你可能已经习惯了在自己的电脑中查询本机数据库中的信息，但当你身处异地想获得一位客户的详细资料时你该怎么办呢？这时你就要借助远程数据库查询软件才能实现了。下面本文将介绍如何利用Visual Basic来编写远程数据库查询软件。&lt;/P&gt;&#xD;
&lt;P&gt;编程思路：&lt;BR&gt;　　客户端利用Winsock的SendData方法将待查内容发送到服务器端，服务器端利用data控件对数据库进行查询，最终利用Winsock的SendData 方法将查询结果发送到客户端。&lt;/P&gt;&#xD;
&lt;P&gt;绘制窗体：&lt;BR&gt;　　一、服务器端(界面如图1)　&lt;/P&gt;&#xD;
&lt;P&gt;　　新建一个工程在窗体中加入：&lt;/P&gt;&#xD;
&lt;P&gt;　　Winsock控件，名称为sckServer，procotol为scktcpprocotol&lt;/P&gt;&#xD;
&lt;P&gt;　　DATA控件，名称为data1 connect为Access，databasename为D:\shenfen.mdb&lt;/P&gt;&#xD;
&lt;P&gt;　　shenfen.mdb包含姓名、性别、身份证、民族、地址5个字段其类型均为文本。&lt;/P&gt;&#xD;
&lt;P&gt;　　TEXTBOX控件，共加入6个TEXTBOX控件名称为TEXT1—TEXT6，其中TEXT2—TEXT6分别与DATA1控件中的各字段相关联&lt;/P&gt;&#xD;
&lt;P&gt;　　二、客户端(界面如图2)　&lt;/P&gt;&#xD;
&lt;P&gt;　　新建一个工程在窗体中加入：&lt;/P&gt;&#xD;
&lt;P&gt;　　winsocK控件，名称为sckClient，procotol为scktcpprocotol&lt;/P&gt;&#xD;
&lt;P&gt;　　TEXTBOX控件，共加入两个TEXTBOX控件名称为TEXT1—TEXT2&lt;/P&gt;&#xD;
&lt;P&gt;　　COMMANDBUTTON控件，名为cmdSendData&lt;/P&gt;&#xD;
&lt;P&gt;程序源码：&lt;BR&gt;　　1.服务器端&lt;/P&gt;&#xD;
&lt;P&gt;　　Option Explicit&lt;/P&gt;&#xD;
&lt;P&gt;　　Private retname As String&lt;/P&gt;&#xD;
&lt;P&gt;　　Private retsex As String&lt;/P&gt;&#xD;
&lt;P&gt;　　Private retold As String&lt;/P&gt;&#xD;
&lt;P&gt;　　Private all As String&lt;/P&gt;&#xD;
&lt;P&gt;　　Private Sub Command1_Click()　&lt;/P&gt;&#xD;
&lt;P&gt;　　Print all&lt;/P&gt;&#xD;
&lt;P&gt;　　End Sub&lt;/P&gt;&#xD;
&lt;P&gt;　　Private Sub Form_Load()　&lt;/P&gt;&#xD;
&lt;P&gt;　　sckServer.LocalPort = 1975 '设置端口号&lt;/P&gt;&#xD;
&lt;P&gt;　　sckServer.Listen '开始监听1975号端口&lt;/P&gt;&#xD;
&lt;P&gt;　　'读取当前服务器信息，并显示&lt;/P&gt;&#xD;
&lt;P&gt;　　MsgBox “服务器的IP地址为：” &amp;amp; sckServer.LocalIP, vbOKOnlx，“提示”&lt;/P&gt;&#xD;
&lt;P&gt;　　MsgBox “服务器的名称为：” &amp;amp; sckServer.LocalHostName, vbOKOnly，“提示”&lt;/P&gt;&#xD;
&lt;P&gt;　　End Sub&lt;/P&gt;&#xD;
&lt;P&gt;　　Private Sub Form_Unload(Cancel As Integer)　&lt;/P&gt;&#xD;
&lt;P&gt;　　If sckServer.State &amp;lt;&amp;gt; sckClosed Then sckServer.Close&lt;/P&gt;&#xD;
&lt;P&gt;　　'退出时中断连接&lt;/P&gt;&#xD;
&lt;P&gt;　　End Sub&lt;/P&gt;&#xD;
&lt;P&gt;　　Private Sub sckServer_ConnectionRequest(ByVal requestID As Long)　&lt;/P&gt;&#xD;
&lt;P&gt;　　'当新的连接请求来到时，检查是否已经与其他计算机建立过连接&lt;/P&gt;&#xD;
&lt;P&gt;　　'如果已经连接关闭连接&lt;/P&gt;&#xD;
&lt;P&gt;　　If sckServer.State &amp;lt;&amp;gt; sckClosed Then sckServer.Close&lt;/P&gt;&#xD;
&lt;P&gt;　　'建立新的连接(如果使用控件数组，则可以在不关闭当前连接的情况下与多台计算机建立连接)　&lt;/P&gt;&#xD;
&lt;P&gt;　　sckServer.Accept requestID&lt;/P&gt;&#xD;
&lt;P&gt;　　End Sub&lt;/P&gt;&#xD;
&lt;P&gt;　　Private Sub sckServer_DataArrival(ByVal bytesTotal As Long)&lt;/P&gt;&#xD;
&lt;P&gt;　　Dim Received As String&lt;/P&gt;&#xD;
&lt;P&gt;　　Dim jj As String&lt;/P&gt;&#xD;
&lt;P&gt;　　Dim ww As String&lt;/P&gt;&#xD;
&lt;P&gt;　　'当有数据来到时将数据保存在Received中，并显示&lt;/P&gt;&#xD;
&lt;P&gt;　　sckServer.GetData Received, vbString&lt;/P&gt;&#xD;
&lt;P&gt;　　Text1.Text = Received&lt;/P&gt;&#xD;
&lt;P&gt;　　ww = Mid(Received, 3)　&lt;/P&gt;&#xD;
&lt;P&gt;　　jj = Mid(Received, 1, 2)　&lt;/P&gt;&#xD;
&lt;P&gt;　　'判断待查字段&lt;/P&gt;&#xD;
&lt;P&gt;　　If jj = Chr(33) &amp;amp; Chr(33) Then GoTo shefen&lt;/P&gt;&#xD;
&lt;P&gt;　　Data1.Recordset.FindFirst “姓名 = '” &amp;amp; ww &amp;amp; “'”&lt;/P&gt;&#xD;
&lt;P&gt;　　GoTo last&lt;/P&gt;&#xD;
&lt;P&gt;　　shefen:Data1.Recordset.FindFirst “身份证 = '” &amp;amp; ww &amp;amp; “'”&lt;/P&gt;&#xD;
&lt;P&gt;　　last: retname = Text1.Text&lt;/P&gt;&#xD;
&lt;P&gt;　　retsex = Text3.Text&lt;/P&gt;&#xD;
&lt;P&gt;　　retold = Text4.Text&lt;/P&gt;&#xD;
&lt;P&gt;　　If Data1.Recordset.NoMatch Then&lt;/P&gt;&#xD;
&lt;P&gt;　　all = “”&lt;/P&gt;&#xD;
&lt;P&gt;　　Else&lt;/P&gt;&#xD;
&lt;P&gt;　　all=Text6.Text+Text2.Text+Text3.Text+Text4.Text + Text5.Text&lt;/P&gt;&#xD;
&lt;P&gt;　　End If&lt;/P&gt;&#xD;
&lt;P&gt;　　sckServer.SendData all&lt;/P&gt;&#xD;
&lt;P&gt;　　'将符合条件的纪录的所有字段信息打包发回客户端,字段间可用特殊字符隔开以便客户端处理&lt;/P&gt;&#xD;
&lt;P&gt;　　End Sub&lt;/P&gt;&#xD;
&lt;P&gt;　　2.客户端&lt;/P&gt;&#xD;
&lt;P&gt;　　Option Explicit&lt;/P&gt;&#xD;
&lt;P&gt;　　Private SendTime As Integer&lt;/P&gt;&#xD;
&lt;P&gt;　　Private name1 As String&lt;/P&gt;&#xD;
&lt;P&gt;　　Private sex As String&lt;/P&gt;&#xD;
&lt;P&gt;　　Private old As String&lt;/P&gt;&#xD;
&lt;P&gt;　　Private Sub cmdSendData_Click()　&lt;/P&gt;&#xD;
&lt;P&gt;　　Dim jwx As String&lt;/P&gt;&#xD;
&lt;P&gt;　　name1 = “”&lt;/P&gt;&#xD;
&lt;P&gt;　　sex = “”&lt;/P&gt;&#xD;
&lt;P&gt;　　old = “”&lt;/P&gt;&#xD;
&lt;P&gt;　　If Text1.Text &amp;lt;&amp;gt; “” Then&lt;/P&gt;&#xD;
&lt;P&gt;　　name1 = Chr(63) &amp;amp; Chr(63) &amp;amp; Text1.Text&lt;/P&gt;&#xD;
&lt;P&gt;　　'将待查姓名前加入两个Chr(63)使服务器端可判断待查字段为姓名&lt;/P&gt;&#xD;
&lt;P&gt;　　ElseIf Text2.Text &amp;lt;&amp;gt; “” Then&lt;/P&gt;&#xD;
&lt;P&gt;　　name1 = Chr(33) &amp;amp; Chr(33) &amp;amp; Text2.Text&lt;/P&gt;&#xD;
&lt;P&gt;　　'将待查姓名前加入两个Chr(33)使服务器端可判断待查字段为身份证号&lt;/P&gt;&#xD;
&lt;P&gt;　　Else: MsgBox “输入不得为空”,,“警告”&lt;/P&gt;&#xD;
&lt;P&gt;　　End If&lt;/P&gt;&#xD;
&lt;P&gt;　　sckClient.SendData name1&lt;/P&gt;&#xD;
&lt;P&gt;　　'发送name1&lt;/P&gt;&#xD;
&lt;P&gt;　　End Sub&lt;/P&gt;&#xD;
&lt;P&gt;　　Private Sub Form_Load()　&lt;/P&gt;&#xD;
&lt;P&gt;　　'远程主机名可在“控制面板-网络-标识”中查到或输入服务器的IP地址&lt;/P&gt;&#xD;
&lt;P&gt;　　sckClient.RemoteHost = “jwx”&lt;/P&gt;&#xD;
&lt;P&gt;　　sckClient.RemotePort = 1975 '设置远程端口与服务器端一致&lt;/P&gt;&#xD;
&lt;P&gt;　　'开始连接&lt;/P&gt;&#xD;
&lt;P&gt;　　sckClient.Connect&lt;/P&gt;&#xD;
&lt;P&gt;　　Do&lt;/P&gt;&#xD;
&lt;P&gt;　　DoEvents&lt;/P&gt;&#xD;
&lt;P&gt;　　Loop Until sckClient.State = sckConnected Or _&lt;/P&gt;&#xD;
&lt;P&gt;　　sckClient.State = sckError&lt;/P&gt;&#xD;
&lt;P&gt;　　'监测连接状态&lt;/P&gt;&#xD;
&lt;P&gt;　　If sckClient.State = sckError Then&lt;/P&gt;&#xD;
&lt;P&gt;　　MsgBox “无法连接到服务器”, 48, “提示”&lt;/P&gt;&#xD;
&lt;P&gt;　　cmdSendData.Enabled = False&lt;/P&gt;&#xD;
&lt;P&gt;　　GoTo sj&lt;/P&gt;&#xD;
&lt;P&gt;　　End If&lt;/P&gt;&#xD;
&lt;P&gt;　　MsgBox “成功连接到服务器：” &amp;amp; sckClient.RemoteHostIP, vbOKOnly, “提示”&lt;/P&gt;&#xD;
&lt;P&gt;　　sj:&lt;/P&gt;&#xD;
&lt;P&gt;　　End Sub&lt;/P&gt;&#xD;
&lt;P&gt;　　Private Sub Form_Unload(Cancel As Integer)　&lt;/P&gt;&#xD;
&lt;P&gt;　　If sckClient.State &amp;lt;&amp;gt; sckClosed Then sckClient.Close&lt;/P&gt;&#xD;
&lt;P&gt;　　End Sub&lt;/P&gt;&#xD;
&lt;P&gt;　　Private Sub sckClient_Close()　&lt;/P&gt;&#xD;
&lt;P&gt;　　'关闭连接&lt;/P&gt;&#xD;
&lt;P&gt;　　sckClient.Close&lt;/P&gt;&#xD;
&lt;P&gt;　　cmdSendData.Enabled = False&lt;/P&gt;&#xD;
&lt;P&gt;　　End Sub&lt;/P&gt;&#xD;
&lt;P&gt;　　Private Sub sckClient_DataArrival(ByVal bytesTotal As Long)　&lt;/P&gt;&#xD;
&lt;P&gt;　　Dim Received As String&lt;/P&gt;&#xD;
&lt;P&gt;　　'当有数据来到时将数据保存在Received中,并显示&lt;/P&gt;&#xD;
&lt;P&gt;　　sckClient.GetData Received, vbString&lt;/P&gt;&#xD;
&lt;P&gt;　　Text1.Text = Received&lt;/P&gt;&#xD;
&lt;P&gt;　　cmdSendData.Enabled = False&lt;/P&gt;&#xD;
&lt;P&gt;　　End Sub&lt;/P&gt;&#xD;
&lt;P&gt;　　Private Sub Text1_Change()　&lt;/P&gt;&#xD;
&lt;P&gt;　　cmdSendData.Enabled = True&lt;/P&gt;&#xD;
&lt;P&gt;　　End Sub&lt;/P&gt;&#xD;
&lt;P&gt;　　Private Sub Text2_Change()　&lt;/P&gt;&#xD;
&lt;P&gt;　　cmdSendData.Enabled = True&lt;/P&gt;&#xD;
&lt;P&gt;　　End Sub&lt;/P&gt;&#xD;
&lt;P&gt;　　关于Winsock控件的详细使用方法请参考MSDN，本程序调试环境：Win98第二版，Access 97, Visual Basic6.0企业版。&lt;/P&gt;]]&gt;</description>
      <pubDate>星期四, 10 五月 2007 09:53:48 GMT</pubDate>
      <guid>http://blog.china.com:80/u/070112/26101/200705/358214.html</guid>
      <dc:date>2007-05-10T09:53:48Z</dc:date>
    </item>
  </channel>
</rss>

