<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>Win32系统</title><link>http://blog.vckbase.com/smileonce/category/184.html</link><description>Win32平台也有一些罕为人知的秘密，这里也包括偶一些使用技巧的总结。</description><managingEditor>乾坤一笑</managingEditor><dc:language>zh-CN</dc:language><generator>.Text Version 0.958.2004.214</generator><item><dc:creator>乾坤一笑</dc:creator><title>干死SSearch！</title><link>http://blog.vckbase.com/smileonce/archive/2006/12/30/23771.html</link><pubDate>Sat, 30 Dec 2006 14:21:00 GMT</pubDate><guid>http://blog.vckbase.com/smileonce/archive/2006/12/30/23771.html</guid><wfw:comment>http://blog.vckbase.com/smileonce/comments/23771.html</wfw:comment><comments>http://blog.vckbase.com/smileonce/archive/2006/12/30/23771.html#Feedback</comments><slash:comments>9</slash:comments><wfw:commentRss>http://blog.vckbase.com/smileonce/comments/commentRss/23771.html</wfw:commentRss><trackback:ping>http://blog.vckbase.com/smileonce/services/trackbacks/23771.html</trackback:ping><description>说实话，最近半年我已经懒的回家除了打开电脑看yy小说和ppmm聊天以外绝对不在电脑上做其他事情了，可是令人恼怒的恶意病毒让我连这个好日子都过不了。可怜我10点回到家12点睡觉短短的2个小时时间都不能尽情享受还要被这傻B无耻卑鄙下流祖宗缺十八辈子的德的流氓无赖写的破程序骚扰的不能行&amp;#8212;&amp;#8212;说实话，要是不是扑扑的不停的弹对话框，就是病毒我也由着他了。&lt;BR&gt;&lt;BR&gt;一直以来，&amp;#8220;Windows 流氓软件清理大师&amp;#8221;是我搞定这些事的全权代表，今天它也罩不住了。无可奈何，只好百度了一下，找到《&lt;A href="http://http://hi.baidu.com/z%5Fsephiroth/blog/item/abb73487951c782ac65cc3f5.html"&gt;流氓软件&amp;#8220;SSearch&amp;#8221;的删除方法！受这个困扰的朋友看一下【原创】&lt;/A&gt;》解决了这个问题。该文方法不错，不过部分步骤优化一下就更好了。&lt;BR&gt;&lt;BR&gt;闲言少叙，书归正传，我的操作步骤如下：&lt;BR&gt;1. 找出元凶：那个在%windir%\system32\和%windir%\system32\drivers\扩展名分别为.dll和.sys，文件名相同，且都为6个字符+2个数字的随机字符串的那两个文件。&lt;BR&gt;查找方法简要概括为一下的python脚本，运行一下（需安装ActivePython）即可得到该文件名：&lt;BR&gt;&lt;BR&gt;&lt;PRE style="BACKGROUND: #e6e6e6"&gt;&lt;FONT color=#a000a0&gt;# Find the host of ssearch virus
# Write by Spark  2006-12-30
&lt;/FONT&gt;
import win32api
import re

list&lt;B&gt;&lt;FONT color=#646464&gt; =&lt;/FONT&gt;&lt;/B&gt; win32api&lt;B&gt;&lt;FONT color=#646464&gt;.&lt;/FONT&gt;&lt;/B&gt;FindFiles&lt;B&gt;&lt;FONT color=#646464&gt;(&lt;/FONT&gt;&lt;/B&gt;&lt;FONT color=#ff00ff&gt;"C:\\WINDOWS\\system32\\*.dll"&lt;/FONT&gt;&lt;B&gt;&lt;FONT color=#646464&gt;)&lt;/FONT&gt;&lt;/B&gt;

l&lt;B&gt;&lt;FONT color=#646464&gt; = []&lt;/FONT&gt;&lt;/B&gt;
pattern&lt;B&gt;&lt;FONT color=#646464&gt; =&lt;/FONT&gt;&lt;/B&gt;&lt;FONT color=#ff00ff&gt; '^[a-zA-Z]{6,6}\d{2,2}'&lt;/FONT&gt;&lt;B&gt;&lt;FONT color=#0000ff&gt;

for&lt;/FONT&gt;&lt;/B&gt; x in list&lt;B&gt;&lt;FONT color=#646464&gt;:&lt;/FONT&gt;&lt;/B&gt;&lt;B&gt;&lt;FONT color=#0000ff&gt;
    if&lt;/FONT&gt;&lt;/B&gt; re&lt;B&gt;&lt;FONT color=#646464&gt;.&lt;/FONT&gt;&lt;/B&gt;search&lt;B&gt;&lt;FONT color=#646464&gt;(&lt;/FONT&gt;&lt;/B&gt;pattern&lt;B&gt;&lt;FONT color=#646464&gt;,&lt;/FONT&gt;&lt;/B&gt; x&lt;B&gt;&lt;FONT color=#646464&gt;[&lt;/FONT&gt;&lt;/B&gt;&lt;FONT color=#800080&gt;8&lt;/FONT&gt;&lt;B&gt;&lt;FONT color=#646464&gt;]):&lt;/FONT&gt;&lt;/B&gt;
        l&lt;B&gt;&lt;FONT color=#646464&gt;.&lt;/FONT&gt;&lt;/B&gt;append&lt;B&gt;&lt;FONT color=#646464&gt;(&lt;/FONT&gt;&lt;/B&gt;x&lt;B&gt;&lt;FONT color=#646464&gt;[&lt;/FONT&gt;&lt;/B&gt;&lt;FONT color=#800080&gt;8&lt;/FONT&gt;&lt;B&gt;&lt;FONT color=#646464&gt;])&lt;/FONT&gt;&lt;/B&gt;

list&lt;B&gt;&lt;FONT color=#646464&gt; =&lt;/FONT&gt;&lt;/B&gt; win32api&lt;B&gt;&lt;FONT color=#646464&gt;.&lt;/FONT&gt;&lt;/B&gt;FindFiles&lt;B&gt;&lt;FONT color=#646464&gt;(&lt;/FONT&gt;&lt;/B&gt;&lt;FONT color=#ff00ff&gt;"c:\\windows\\system32\\drivers\\*.sys"&lt;/FONT&gt;&lt;B&gt;&lt;FONT color=#646464&gt;)&lt;/FONT&gt;&lt;/B&gt;&lt;B&gt;&lt;FONT color=#0000ff&gt;

for&lt;/FONT&gt;&lt;/B&gt; x in list&lt;B&gt;&lt;FONT color=#646464&gt;:&lt;/FONT&gt;&lt;/B&gt;&lt;B&gt;&lt;FONT color=#0000ff&gt;
    if&lt;/FONT&gt;&lt;/B&gt; re&lt;B&gt;&lt;FONT color=#646464&gt;.&lt;/FONT&gt;&lt;/B&gt;search&lt;B&gt;&lt;FONT color=#646464&gt;(&lt;/FONT&gt;&lt;/B&gt;pattern&lt;B&gt;&lt;FONT color=#646464&gt;,&lt;/FONT&gt;&lt;/B&gt; x&lt;B&gt;&lt;FONT color=#646464&gt;[&lt;/FONT&gt;&lt;/B&gt;&lt;FONT color=#800080&gt;8&lt;/FONT&gt;&lt;B&gt;&lt;FONT color=#646464&gt;]):&lt;/FONT&gt;&lt;/B&gt;
        s&lt;B&gt;&lt;FONT color=#646464&gt; =&lt;/FONT&gt;&lt;/B&gt; x&lt;B&gt;&lt;FONT color=#646464&gt;[&lt;/FONT&gt;&lt;/B&gt;&lt;FONT color=#800080&gt;8&lt;/FONT&gt;&lt;B&gt;&lt;FONT color=#646464&gt;].&lt;/FONT&gt;&lt;/B&gt;replace&lt;B&gt;&lt;FONT color=#646464&gt;(&lt;/FONT&gt;&lt;/B&gt;&lt;FONT color=#ff00ff&gt;".sys"&lt;/FONT&gt;&lt;B&gt;&lt;FONT color=#646464&gt;,&lt;/FONT&gt;&lt;/B&gt;&lt;FONT color=#ff00ff&gt; ".dll"&lt;/FONT&gt;&lt;B&gt;&lt;FONT color=#646464&gt;)&lt;/FONT&gt;&lt;/B&gt;&lt;B&gt;&lt;FONT color=#0000ff&gt;
        if&lt;/FONT&gt;&lt;/B&gt; s in l&lt;B&gt;&lt;FONT color=#646464&gt;:&lt;/FONT&gt;&lt;/B&gt;
            print s
            &lt;/PRE&gt;2.用win98启动盘启动到dos，删掉这两个文件。(我的C盘是FAT32的)&lt;BR&gt;&lt;BR&gt;3.启动电脑后再用&amp;#8220;Windows 流氓软件清理大师&amp;#8221;整理一下注册表。&lt;BR&gt;-------------&lt;BR&gt;&lt;STRONG&gt;&lt;FONT color=#a52a2a&gt;乾坤一笑 写于2006年12月30日&amp;nbsp; 转载请标明出处和原文链接&lt;/FONT&gt;&lt;/STRONG&gt;&lt;img src ="http://blog.vckbase.com/smileonce/aggbug/23771.html" width = "1" height = "1" /&gt;</description></item><item><dc:creator>乾坤一笑</dc:creator><title>最新创意 -- 如此装多系统维护很简单</title><link>http://blog.vckbase.com/smileonce/archive/2005/08/21/11252.html</link><pubDate>Sun, 21 Aug 2005 06:17:00 GMT</pubDate><guid>http://blog.vckbase.com/smileonce/archive/2005/08/21/11252.html</guid><wfw:comment>http://blog.vckbase.com/smileonce/comments/11252.html</wfw:comment><comments>http://blog.vckbase.com/smileonce/archive/2005/08/21/11252.html#Feedback</comments><slash:comments>6</slash:comments><wfw:commentRss>http://blog.vckbase.com/smileonce/comments/commentRss/11252.html</wfw:commentRss><trackback:ping>http://blog.vckbase.com/smileonce/services/trackbacks/11252.html</trackback:ping><description>&lt;P&gt;&lt;FONT color=#a52a2a&gt;偶去年写的一篇文章，放在CSDN blog（偶早已经不维护）锈掉了。收藏在这里吧，也算记录了偶以前的学习历程。注意：文中提到的&amp;#8220;最新创意&amp;#8221;是偶在2004年7月的创意，现在的创意早就变了～～&lt;/FONT&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;最新创意 -- 如此装多系统维护很简单&lt;BR&gt;------------------------------------------&lt;BR&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; 乾坤一笑[smileonce] 于2004-7-21 版权所有 转载不纠&lt;/P&gt;&lt;BR&gt;&lt;P&gt;&lt;BR&gt;摘要：用ghost 8做备份，用WINNT Loader，实现N系统共存。&lt;/P&gt;&lt;BR&gt;&lt;P&gt;上周末配了一台电脑，买了迅宜代理的迈拓金钻120G的大硬盘，可以好好的装几个系统玩了。初步的规划是，&lt;BR&gt;装win2k3,win2k,linux三个系统。win2k用作日常的开发(VS6+VS2003.net+SQL Server)，要求稳定，装的&lt;BR&gt;软件越少越好；win2k3用作体验新东东，平时的娱乐；linux嘛，嘿嘿，也是体验，顺便赶赶潮流。&lt;BR&gt;分区规划是这样的：&lt;BR&gt;&amp;nbsp; + MBR&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; | ----&amp;nbsp; primer1&amp;nbsp; BOOT_DISK 1G NTFS&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; | ----&amp;nbsp; primer2&amp;nbsp; linux_boot 70M (注:如果用ext3则必须大于65M，ext2可以小一些)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; | ----&amp;nbsp; extend &lt;BR&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; |&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; | ----- WIN2k3&amp;nbsp;&amp;nbsp; 15G&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; | ----- WIN2k&amp;nbsp;&amp;nbsp;&amp;nbsp; 10G&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; | ----- linux_root 6G&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; | ----- linux_home 3G&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; | 。。。。。。&lt;/P&gt;&lt;BR&gt;&lt;P&gt;上面基本上用了25G的空间，为什么这么规划呢？慢慢来说。&lt;/P&gt;&lt;BR&gt;&lt;P&gt;1&amp;gt; 为什么把primer1 规划为1G？ &lt;BR&gt;&amp;nbsp;&amp;nbsp; 首先，肯定一点，我的硬盘比较大。:) 预留1G,如果我以后需要win98了，还可以加上，不需要重新分区了。(win98&lt;BR&gt;肯定还是有用得着的时候的，比如解密软件，我就觉得TRW比SoftICE爽，还有老游戏也值得考虑一下)另外，有些光盘启动&lt;BR&gt;安装的时候要往C盘写临时文件，留的小了肯定不爽。(比如win2k)还有，有些linux/unix你没有刻光盘，想从硬盘装，就&lt;BR&gt;非得把东东拷到c盘不可。&lt;BR&gt;&amp;nbsp;&amp;nbsp; 其次，留着也不浪费。虽然我的c盘上只放了WINNT Loader 的几个文件，占了2~3M。但是，我随时可以把win2k的&lt;BR&gt;pagefile.sys搞过来，以备一时之需。&lt;/P&gt;&lt;BR&gt;&lt;P&gt;2&amp;gt; 为什么把 linux_boot放在主引导区内？&lt;BR&gt;&amp;nbsp;&amp;nbsp; 很显然的一点是我用win平台比用linux平台多，用WINNT Loader比用Grub熟。我打算用把Grub装到/dev/hda2，把&lt;BR&gt;&amp;nbsp;WINNT Loader装到MBR, 用WINNT Loader来引导Grub。这样的话，我可以随时用ghost来重装win系统而不必理会linux&lt;BR&gt;&amp;nbsp;系统的事了(有介于linux系统本身的因素，我不需要对其作ghost)&lt;/P&gt;&lt;BR&gt;&lt;P&gt;&amp;nbsp;3&amp;gt;为什么把 linux_root,linux_home放在win2k3和win2k的后面？&lt;BR&gt;&amp;nbsp;&amp;nbsp; 把所有的系统盘放在前面有两点好处: 1&amp;gt;后面分区调整的时候不需要动引导器的配置；2&amp;gt;后面分区调整的时候，不会出现&lt;BR&gt;&amp;nbsp;win系统中路径改变的情况。换句话说：就算以后你不想玩linux了，Okey，把linux_root，linux_home格式化成FAT32&lt;BR&gt;&amp;nbsp;就Okey了，前面的win系统不受影响。&lt;/P&gt;&lt;BR&gt;&lt;P&gt;&amp;nbsp;4&amp;gt;win系统重装会不会影响引导器？&lt;BR&gt;&amp;nbsp;&amp;nbsp; 会。但是也很容易恢复。&lt;BR&gt;&amp;nbsp;&amp;nbsp; 举个例子来说：假设你先装了win2k3，然后再装了win2k。Okey，现在win2k3肯定引导不起来了。（win2k3带的引导器&lt;BR&gt;&amp;nbsp;可以引导win2k，win2k带的引导器引导不了win2k3，向下兼容嘛）怎么办呢？装了win2k之后，用win2k3的安装光盘启&lt;BR&gt;&amp;nbsp;动，进入修复控制台，使用命令: &lt;BR&gt;&amp;nbsp;&amp;nbsp; fixmbr (回车)&lt;BR&gt;&amp;nbsp;&amp;nbsp; fixboot (回车)&lt;BR&gt;&amp;nbsp;再把备份的win2k3的4个引导器文件(ntdetect.com, ntldr, bootfont.bin, boot.ini)copy到c盘即可。&lt;/P&gt;&lt;BR&gt;&lt;P&gt;&amp;nbsp;5&amp;gt;linux系统重装会不会影响引导器？&lt;BR&gt;&amp;nbsp;&amp;nbsp; 不会。安装的时候记着把引导器装到/dev/hda2，不要装到MBR;记着做linux启动软盘。(如果你有linux修复工具盘就不&lt;BR&gt;&amp;nbsp;必了，新手还是做一张的好)&lt;/P&gt;&lt;BR&gt;&lt;P&gt;&amp;nbsp;6&amp;gt;如何用WINNT Loader来管理linux引导？&lt;BR&gt;&amp;nbsp;&amp;nbsp; 装好linux后，用软盘引导进linux，用root登录，打开Console界面。输入下面的命令：&lt;BR&gt;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp; # fdisk&lt;BR&gt;&amp;nbsp;&amp;nbsp; 选择l，看看你的linux_boot是不是在/dev/hda2，然后点q退出&lt;/P&gt;&lt;BR&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; # mkdir /mnt/tmpdisk&lt;BR&gt;&amp;nbsp;&amp;nbsp; 这个命令是为了挂载c盘&lt;/P&gt;&lt;BR&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; # mount -t vfat /dev/hda1 /mnt/tmpdisk&lt;BR&gt;&amp;nbsp;&amp;nbsp; Okey,把c盘挂到了/mnt/tmpdisk上&lt;/P&gt;&lt;BR&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; # dd if=/dev/hda2 of=/mnt/tmpdisk/linboot.bin bs=512 count=1&lt;BR&gt;&amp;nbsp;&amp;nbsp; 好了，把/dev/hda2的第一个扇区写到了c盘的linboot.bin文件里，这是个二进制文件，文件名任意取。&lt;/P&gt;&lt;BR&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; 重启机器，进入win平台，在c:\boot.ini文件末尾加上&lt;BR&gt;&amp;nbsp;&amp;nbsp; c:\linboot.bin = " My Linux System, Ha Ha ! "&lt;/P&gt;&lt;BR&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; Okey,全部搞定。&lt;/P&gt;&lt;BR&gt;&lt;P&gt;&amp;nbsp;7&amp;gt;装系统的时候都需要备份什么内容？&lt;BR&gt;&amp;nbsp;&amp;nbsp; 我一般会在硬盘的最后一个分区，建立一个sys.bak目录，里面分类放置系统配置文件和备份文件。&lt;BR&gt;&amp;nbsp;首先，各个系统的ghost是要做的(装完驱动，打完各种补丁后就做；不要装软件)；&lt;BR&gt;&amp;nbsp;其次，win平台的4个引导器文件(ntdetect.com, ntldr, bootfont.bin, boot.ini)要按版本备份。&lt;BR&gt;&amp;nbsp;再次，上面生成的那个linux的引导器文件也备份吧，省得以后再做了。&lt;/P&gt;&lt;BR&gt;&lt;P&gt;&lt;BR&gt;哈哈，今天就到这里拉，嘴皮子干了。&lt;BR&gt;&lt;BR&gt;&lt;FONT color=#800080&gt;-------------&lt;BR&gt;&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color=#a52a2a&gt;乾坤一笑 写于2004年7月21日&amp;nbsp; 转载请标明出处和原文链接&lt;/STRONG&gt;&lt;/FONT&gt;&amp;nbsp; &lt;/P&gt;&lt;img src ="http://blog.vckbase.com/smileonce/aggbug/11252.html" width = "1" height = "1" /&gt;</description></item><item><dc:creator>乾坤一笑</dc:creator><title>我是翻墙入室的高手</title><link>http://blog.vckbase.com/smileonce/archive/2005/08/21/11246.html</link><pubDate>Sun, 21 Aug 2005 05:06:00 GMT</pubDate><guid>http://blog.vckbase.com/smileonce/archive/2005/08/21/11246.html</guid><wfw:comment>http://blog.vckbase.com/smileonce/comments/11246.html</wfw:comment><comments>http://blog.vckbase.com/smileonce/archive/2005/08/21/11246.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://blog.vckbase.com/smileonce/comments/commentRss/11246.html</wfw:commentRss><trackback:ping>http://blog.vckbase.com/smileonce/services/trackbacks/11246.html</trackback:ping><description>&lt;P&gt;&lt;FONT color=#a52a2a&gt;偶去年写的一篇文章，放在CSDN blog（偶早已经不维护）锈掉了。收藏在这里吧，也算记录了偶以前的学习历程。&lt;BR&gt;&lt;/FONT&gt;&lt;BR&gt;今天真是郁闷，出家门后发现忘带了钥匙，看来晚上要爬楼翻墙入室了。&lt;BR&gt;更有甚者，来公司发现系统密码被改了，win 2k 进不去了。Shit!!!&lt;/P&gt;
&lt;P&gt;不过，这个难不倒我，我是翻墙入室的高手嘛。进入另外一个系统，找到&lt;BR&gt;目标系统E盘的e:\winnt\system32\config\SAM, 看清楚了，就是SAM&lt;BR&gt;这个文件，把它删掉。重启，搞定。&lt;/P&gt;
&lt;P&gt;哎，要是家里有这个SAM文件就好了。&lt;BR&gt;&lt;BR&gt;&lt;FONT color=#800080&gt;-------------&lt;BR&gt;&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color=#a52a2a&gt;乾坤一笑 写于2004年7月22日&amp;nbsp; 转载请标明出处和原文链接&lt;/STRONG&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;&lt;img src ="http://blog.vckbase.com/smileonce/aggbug/11246.html" width = "1" height = "1" /&gt;</description></item><item><dc:creator>乾坤一笑</dc:creator><title>使用fopen("xxx","r+")打开文件交替读写的盲点</title><link>http://blog.vckbase.com/smileonce/archive/2005/06/16/6671.html</link><pubDate>Thu, 16 Jun 2005 15:34:00 GMT</pubDate><guid>http://blog.vckbase.com/smileonce/archive/2005/06/16/6671.html</guid><wfw:comment>http://blog.vckbase.com/smileonce/comments/6671.html</wfw:comment><comments>http://blog.vckbase.com/smileonce/archive/2005/06/16/6671.html#Feedback</comments><slash:comments>10</slash:comments><wfw:commentRss>http://blog.vckbase.com/smileonce/comments/commentRss/6671.html</wfw:commentRss><trackback:ping>http://blog.vckbase.com/smileonce/services/trackbacks/6671.html</trackback:ping><description>因为对文件操作C库函数用的不多，所以导致今天花了2个小时的时间才解决了代码中的这个bug，写于此处，希望对还不知道这个知识点的朋友有所启示。&lt;BR&gt;&lt;BR&gt;先贴代码吧，其实重要的就只有一行：&lt;BR&gt;&lt;PRE style="BACKGROUND: #e6e6e6"&gt;&lt;I&gt;&lt;FONT color=#008000&gt;/* ---------------------------------------------
** Test File Function
** author: smileonce 2005-06-16
*/&lt;/FONT&gt;&lt;/I&gt;&lt;FONT color=#a000a0&gt;
#include &amp;lt;stdio.h&amp;gt;
&lt;/FONT&gt;&lt;B&gt;&lt;FONT color=#0000ff&gt;int&lt;/FONT&gt;&lt;/B&gt; freadline&lt;B&gt;&lt;FONT color=#646464&gt;(&lt;/FONT&gt;&lt;/B&gt;FILE&lt;B&gt;&lt;FONT color=#646464&gt; *&lt;/FONT&gt;&lt;/B&gt; f&lt;B&gt;&lt;FONT color=#646464&gt;,&lt;/FONT&gt;&lt;/B&gt;&lt;B&gt;&lt;FONT color=#0000ff&gt; char&lt;/FONT&gt;&lt;/B&gt;&lt;B&gt;&lt;FONT color=#646464&gt; *&lt;/FONT&gt;&lt;/B&gt; buf&lt;B&gt;&lt;FONT color=#646464&gt;);&lt;/FONT&gt;&lt;/B&gt;&lt;B&gt;&lt;FONT color=#0000ff&gt;

int&lt;/FONT&gt;&lt;/B&gt;&lt;B&gt;&lt;FONT color=#0000ff&gt; main&lt;/FONT&gt;&lt;/B&gt;&lt;B&gt;&lt;FONT color=#646464&gt;(&lt;/FONT&gt;&lt;/B&gt;&lt;B&gt;&lt;FONT color=#0000ff&gt;int&lt;/FONT&gt;&lt;/B&gt; argc&lt;B&gt;&lt;FONT color=#646464&gt;,&lt;/FONT&gt;&lt;/B&gt;&lt;B&gt;&lt;FONT color=#0000ff&gt; char&lt;/FONT&gt;&lt;/B&gt;&lt;B&gt;&lt;FONT color=#646464&gt;*&lt;/FONT&gt;&lt;/B&gt; argv&lt;B&gt;&lt;FONT color=#646464&gt;[])
{&lt;/FONT&gt;&lt;/B&gt;
 FILE&lt;B&gt;&lt;FONT color=#646464&gt; *&lt;/FONT&gt;&lt;/B&gt; f&lt;B&gt;&lt;FONT color=#646464&gt;;&lt;/FONT&gt;&lt;/B&gt;&lt;B&gt;&lt;FONT color=#0000ff&gt;
 int&lt;/FONT&gt;&lt;/B&gt; i&lt;B&gt;&lt;FONT color=#646464&gt;;&lt;/FONT&gt;&lt;/B&gt;&lt;B&gt;&lt;FONT color=#0000ff&gt;
 char&lt;/FONT&gt;&lt;/B&gt; buf&lt;B&gt;&lt;FONT color=#646464&gt;[&lt;/FONT&gt;&lt;/B&gt;&lt;FONT color=#800080&gt;255&lt;/FONT&gt;&lt;B&gt;&lt;FONT color=#646464&gt;];&lt;/FONT&gt;&lt;/B&gt;&lt;I&gt;&lt;FONT color=#008000&gt;
 // write some number to a file for testing.
&lt;/FONT&gt;&lt;/I&gt; f&lt;B&gt;&lt;FONT color=#646464&gt; =&lt;/FONT&gt;&lt;/B&gt; fopen&lt;B&gt;&lt;FONT color=#646464&gt;(&lt;/FONT&gt;&lt;/B&gt;&lt;FONT color=#ff00ff&gt;"F:\\tmp\\FileSy\\Debug\\testfile.txt"&lt;/FONT&gt;&lt;B&gt;&lt;FONT color=#646464&gt;,&lt;/FONT&gt;&lt;/B&gt;&lt;FONT color=#ff00ff&gt; "w"&lt;/FONT&gt;&lt;B&gt;&lt;FONT color=#646464&gt;);&lt;/FONT&gt;&lt;/B&gt;&lt;B&gt;&lt;FONT color=#0000ff&gt;
 for&lt;/FONT&gt;&lt;/B&gt;&lt;B&gt;&lt;FONT color=#646464&gt; (&lt;/FONT&gt;&lt;/B&gt;i&lt;B&gt;&lt;FONT color=#646464&gt;=&lt;/FONT&gt;&lt;/B&gt;&lt;FONT color=#800080&gt;0&lt;/FONT&gt;&lt;B&gt;&lt;FONT color=#646464&gt;;&lt;/FONT&gt;&lt;/B&gt; i&lt;B&gt;&lt;FONT color=#646464&gt;&amp;lt;&lt;/FONT&gt;&lt;/B&gt;&lt;FONT color=#800080&gt;10&lt;/FONT&gt;&lt;B&gt;&lt;FONT color=#646464&gt;;&lt;/FONT&gt;&lt;/B&gt; i&lt;B&gt;&lt;FONT color=#646464&gt;++)&lt;/FONT&gt;&lt;/B&gt;
  fprintf&lt;B&gt;&lt;FONT color=#646464&gt;(&lt;/FONT&gt;&lt;/B&gt;f&lt;B&gt;&lt;FONT color=#646464&gt;,&lt;/FONT&gt;&lt;/B&gt;&lt;FONT color=#ff00ff&gt; "origin : %d\n"&lt;/FONT&gt;&lt;B&gt;&lt;FONT color=#646464&gt;,&lt;/FONT&gt;&lt;/B&gt; i&lt;B&gt;&lt;FONT color=#646464&gt;);&lt;/FONT&gt;&lt;/B&gt;
 fclose&lt;B&gt;&lt;FONT color=#646464&gt;(&lt;/FONT&gt;&lt;/B&gt;f&lt;B&gt;&lt;FONT color=#646464&gt;);&lt;/FONT&gt;&lt;/B&gt;&lt;I&gt;&lt;FONT color=#008000&gt;
 // test ...
&lt;/FONT&gt;&lt;/I&gt; f&lt;B&gt;&lt;FONT color=#646464&gt; =&lt;/FONT&gt;&lt;/B&gt; fopen&lt;B&gt;&lt;FONT color=#646464&gt;(&lt;/FONT&gt;&lt;/B&gt;&lt;FONT color=#ff00ff&gt;"F:\\tmp\\FileSy\\Debug\\testfile.txt"&lt;/FONT&gt;&lt;B&gt;&lt;FONT color=#646464&gt;,&lt;/FONT&gt;&lt;/B&gt;&lt;FONT color=#ff00ff&gt; "r+"&lt;/FONT&gt;&lt;B&gt;&lt;FONT color=#646464&gt;);&lt;/FONT&gt;&lt;/B&gt;&lt;B&gt;&lt;FONT color=#0000ff&gt;
 for&lt;/FONT&gt;&lt;/B&gt;&lt;B&gt;&lt;FONT color=#646464&gt; (&lt;/FONT&gt;&lt;/B&gt;i&lt;B&gt;&lt;FONT color=#646464&gt;=&lt;/FONT&gt;&lt;/B&gt;&lt;FONT color=#800080&gt;0&lt;/FONT&gt;&lt;B&gt;&lt;FONT color=#646464&gt;;&lt;/FONT&gt;&lt;/B&gt; i&lt;B&gt;&lt;FONT color=#646464&gt;&amp;lt;&lt;/FONT&gt;&lt;/B&gt;&lt;FONT color=#800080&gt;5&lt;/FONT&gt;&lt;B&gt;&lt;FONT color=#646464&gt;;&lt;/FONT&gt;&lt;/B&gt; i&lt;B&gt;&lt;FONT color=#646464&gt;++)
 {&lt;/FONT&gt;&lt;/B&gt;
  freadline&lt;B&gt;&lt;FONT color=#646464&gt;(&lt;/FONT&gt;&lt;/B&gt;f&lt;B&gt;&lt;FONT color=#646464&gt;,&lt;/FONT&gt;&lt;/B&gt; buf&lt;B&gt;&lt;FONT color=#646464&gt;);&lt;/FONT&gt;&lt;/B&gt;
  printf&lt;B&gt;&lt;FONT color=#646464&gt;(&lt;/FONT&gt;&lt;/B&gt;&lt;FONT color=#ff00ff&gt;"%s\n"&lt;/FONT&gt;&lt;B&gt;&lt;FONT color=#646464&gt;,&lt;/FONT&gt;&lt;/B&gt; buf&lt;B&gt;&lt;FONT color=#646464&gt;);
 }&lt;/FONT&gt;&lt;/B&gt;
 fseek&lt;B&gt;&lt;FONT color=#646464&gt;(&lt;/FONT&gt;&lt;/B&gt;f&lt;B&gt;&lt;FONT color=#646464&gt;,&lt;/FONT&gt;&lt;/B&gt;&lt;FONT color=#800080&gt; 0L&lt;/FONT&gt;&lt;B&gt;&lt;FONT color=#646464&gt;,&lt;/FONT&gt;&lt;/B&gt; SEEK_CUR&lt;B&gt;&lt;FONT color=#646464&gt;);&lt;/FONT&gt;&lt;/B&gt;&lt;I&gt;&lt;FONT color=#008000&gt; //use this to refresh the file,
       //same function as fflush(), fgetpos(), fsetpos().
&lt;/FONT&gt;&lt;/I&gt;&lt;B&gt;&lt;FONT color=#0000ff&gt; for&lt;/FONT&gt;&lt;/B&gt;&lt;B&gt;&lt;FONT color=#646464&gt; (&lt;/FONT&gt;&lt;/B&gt;i&lt;B&gt;&lt;FONT color=#646464&gt;=&lt;/FONT&gt;&lt;/B&gt;&lt;FONT color=#800080&gt;5&lt;/FONT&gt;&lt;B&gt;&lt;FONT color=#646464&gt;;&lt;/FONT&gt;&lt;/B&gt; i&lt;B&gt;&lt;FONT color=#646464&gt;&amp;lt;&lt;/FONT&gt;&lt;/B&gt;&lt;FONT color=#800080&gt;8&lt;/FONT&gt;&lt;B&gt;&lt;FONT color=#646464&gt;;&lt;/FONT&gt;&lt;/B&gt; i&lt;B&gt;&lt;FONT color=#646464&gt;++)&lt;/FONT&gt;&lt;/B&gt;
  fprintf&lt;B&gt;&lt;FONT color=#646464&gt;(&lt;/FONT&gt;&lt;/B&gt;f&lt;B&gt;&lt;FONT color=#646464&gt;,&lt;/FONT&gt;&lt;/B&gt;&lt;FONT color=#ff00ff&gt; "replace: %d\n"&lt;/FONT&gt;&lt;B&gt;&lt;FONT color=#646464&gt;,&lt;/FONT&gt;&lt;/B&gt; i&lt;B&gt;&lt;FONT color=#646464&gt;);&lt;/FONT&gt;&lt;/B&gt;
 fclose&lt;B&gt;&lt;FONT color=#646464&gt;(&lt;/FONT&gt;&lt;/B&gt;f&lt;B&gt;&lt;FONT color=#646464&gt;);&lt;/FONT&gt;&lt;/B&gt;&lt;B&gt;&lt;FONT color=#0000ff&gt;
 return&lt;/FONT&gt;&lt;/B&gt;&lt;FONT color=#800080&gt; 0&lt;/FONT&gt;&lt;B&gt;&lt;FONT color=#646464&gt;;
}&lt;/FONT&gt;&lt;/B&gt;&lt;I&gt;&lt;FONT color=#008000&gt;

// read a line from file stream
&lt;/FONT&gt;&lt;/I&gt;&lt;B&gt;&lt;FONT color=#0000ff&gt;int&lt;/FONT&gt;&lt;/B&gt; freadline&lt;B&gt;&lt;FONT color=#646464&gt;(&lt;/FONT&gt;&lt;/B&gt;FILE&lt;B&gt;&lt;FONT color=#646464&gt; *&lt;/FONT&gt;&lt;/B&gt; f&lt;B&gt;&lt;FONT color=#646464&gt;,&lt;/FONT&gt;&lt;/B&gt;&lt;B&gt;&lt;FONT color=#0000ff&gt; char&lt;/FONT&gt;&lt;/B&gt;&lt;B&gt;&lt;FONT color=#646464&gt; *&lt;/FONT&gt;&lt;/B&gt; buf&lt;B&gt;&lt;FONT color=#646464&gt;)
{&lt;/FONT&gt;&lt;/B&gt;&lt;B&gt;&lt;FONT color=#0000ff&gt;
 int&lt;/FONT&gt;&lt;/B&gt; count&lt;B&gt;&lt;FONT color=#646464&gt;=&lt;/FONT&gt;&lt;/B&gt;&lt;FONT color=#800080&gt;0&lt;/FONT&gt;&lt;B&gt;&lt;FONT color=#646464&gt;,&lt;/FONT&gt;&lt;/B&gt; ch&lt;B&gt;&lt;FONT color=#646464&gt;;&lt;/FONT&gt;&lt;/B&gt;&lt;B&gt;&lt;FONT color=#0000ff&gt; 
 while&lt;/FONT&gt;&lt;/B&gt;&lt;B&gt;&lt;FONT color=#646464&gt;((&lt;/FONT&gt;&lt;/B&gt;ch&lt;B&gt;&lt;FONT color=#646464&gt;=&lt;/FONT&gt;&lt;/B&gt;fgetc&lt;B&gt;&lt;FONT color=#646464&gt;(&lt;/FONT&gt;&lt;/B&gt;f&lt;B&gt;&lt;FONT color=#646464&gt;)) !=&lt;/FONT&gt;&lt;/B&gt; EOF&lt;B&gt;&lt;FONT color=#646464&gt;)&lt;/FONT&gt;&lt;/B&gt;&lt;B&gt;&lt;FONT color=#0000ff&gt; 
  if&lt;/FONT&gt;&lt;/B&gt;&lt;B&gt;&lt;FONT color=#646464&gt; (&lt;/FONT&gt;&lt;/B&gt;ch&lt;B&gt;&lt;FONT color=#646464&gt; !=&lt;/FONT&gt;&lt;/B&gt;&lt;FONT color=#ff00ff&gt; '\n'&lt;/FONT&gt;&lt;B&gt;&lt;FONT color=#646464&gt;)&lt;/FONT&gt;&lt;/B&gt;
   buf&lt;B&gt;&lt;FONT color=#646464&gt;[&lt;/FONT&gt;&lt;/B&gt;count&lt;B&gt;&lt;FONT color=#646464&gt;++] = (&lt;/FONT&gt;&lt;/B&gt;&lt;B&gt;&lt;FONT color=#0000ff&gt;char&lt;/FONT&gt;&lt;/B&gt;&lt;B&gt;&lt;FONT color=#646464&gt;)&lt;/FONT&gt;&lt;/B&gt;ch&lt;B&gt;&lt;FONT color=#646464&gt;;&lt;/FONT&gt;&lt;/B&gt;&lt;B&gt;&lt;FONT color=#0000ff&gt;
  else break&lt;/FONT&gt;&lt;/B&gt;&lt;B&gt;&lt;FONT color=#646464&gt;;&lt;/FONT&gt;&lt;/B&gt;
 buf&lt;B&gt;&lt;FONT color=#646464&gt;[&lt;/FONT&gt;&lt;/B&gt;count&lt;B&gt;&lt;FONT color=#646464&gt;++] =&lt;/FONT&gt;&lt;/B&gt;&lt;FONT color=#ff00ff&gt; '\0'&lt;/FONT&gt;&lt;B&gt;&lt;FONT color=#646464&gt;;&lt;/FONT&gt;&lt;/B&gt;&lt;B&gt;&lt;FONT color=#0000ff&gt;
 return&lt;/FONT&gt;&lt;/B&gt;&lt;B&gt;&lt;FONT color=#646464&gt; (&lt;/FONT&gt;&lt;/B&gt;ch&lt;B&gt;&lt;FONT color=#646464&gt; ==&lt;/FONT&gt;&lt;/B&gt; EOF&lt;B&gt;&lt;FONT color=#646464&gt; ?&lt;/FONT&gt;&lt;/B&gt; ch&lt;B&gt;&lt;FONT color=#646464&gt; :&lt;/FONT&gt;&lt;/B&gt; count&lt;B&gt;&lt;FONT color=#646464&gt;);
}&lt;/FONT&gt;&lt;/B&gt;&lt;/PRE&gt;这是一个正确的程序了，你可以试一下去掉文中的那行看似没有任何意义的红字的代码有什么后果。答案是根本写不入数据。经过查证，支持程序打开一个文件，同时进行写入和读出操作的函数参数&amp;#8221;r+&amp;#8221;是很有历史的。早期的fopen函数并不支持它。为了保持和过去不能同时进行读写操作的程序的兼容性，一个输入操作不能随后直接紧跟着一个输出操作，反之亦然。如果要同时进行读写操作，必须在读写操作交换的地方插入fseek()、fgetpos()与fsetpos()、fflush()这三组的函数中的一个。&lt;BR&gt;&lt;BR&gt;fseek()最直接明了，一句话就可以搞定：&lt;BR&gt;&lt;PRE style="BACKGROUND: #e6e6e6"&gt;FILE&lt;B&gt;&lt;FONT color=#646464&gt; *&lt;/FONT&gt;&lt;/B&gt;f&lt;B&gt;&lt;FONT color=#646464&gt;;
... ...&lt;/FONT&gt;&lt;/B&gt;
fseek&lt;B&gt;&lt;FONT color=#646464&gt;(&lt;/FONT&gt;&lt;/B&gt; f&lt;B&gt;&lt;FONT color=#646464&gt;,&lt;/FONT&gt;&lt;/B&gt;&lt;FONT color=#800080&gt; 0L&lt;/FONT&gt;&lt;B&gt;&lt;FONT color=#646464&gt;,&lt;/FONT&gt;&lt;/B&gt; SEEK_CUR&lt;B&gt;&lt;FONT color=#646464&gt;);
... ...&lt;/FONT&gt;&lt;/B&gt;
&lt;/PRE&gt;&lt;BR&gt;fgetpos()和fsetpos()写起来就比较麻烦，但也能起到作用，所以列在此处：&lt;PRE style="BACKGROUND: #e6e6e6"&gt;fpos_t pos&lt;B&gt;&lt;FONT color=#646464&gt;;&lt;/FONT&gt;&lt;/B&gt;
FILE&lt;B&gt;&lt;FONT color=#646464&gt;   *&lt;/FONT&gt;&lt;/B&gt;f&lt;B&gt;&lt;FONT color=#646464&gt;;
... ...&lt;/FONT&gt;&lt;/B&gt;
fgetpos&lt;B&gt;&lt;FONT color=#646464&gt;(&lt;/FONT&gt;&lt;/B&gt; f&lt;B&gt;&lt;FONT color=#646464&gt;, &amp;amp;&lt;/FONT&gt;&lt;/B&gt;pos&lt;B&gt;&lt;FONT color=#646464&gt; );&lt;/FONT&gt;&lt;/B&gt;&lt;I&gt;&lt;FONT color=#008000&gt; //use these two lines 
&lt;/FONT&gt;&lt;/I&gt;fsetpos&lt;B&gt;&lt;FONT color=#646464&gt;(&lt;/FONT&gt;&lt;/B&gt; f&lt;B&gt;&lt;FONT color=#646464&gt;, &amp;amp;&lt;/FONT&gt;&lt;/B&gt;pos&lt;B&gt;&lt;FONT color=#646464&gt; );&lt;/FONT&gt;&lt;/B&gt;&lt;I&gt;&lt;FONT color=#008000&gt; // replace  fseek(f, 0L, SEEK_CUR);
&lt;/FONT&gt;&lt;/I&gt;&lt;B&gt;&lt;FONT color=#646464&gt;... ...&lt;/FONT&gt;&lt;/B&gt;&lt;/PRE&gt;&lt;PRE&gt;&lt;/PRE&gt;fflush()对于先读后写这种交替操作不起作用，所以推荐用上两个。&lt;BR&gt;&lt;FONT color=#800080&gt;-------------&lt;BR&gt;&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color=#a52a2a&gt;乾坤一笑 写于2005年6月16 日&amp;nbsp; 转载请标明出处和原文链接&lt;/STRONG&gt;&lt;/FONT&gt; &lt;img src ="http://blog.vckbase.com/smileonce/aggbug/6671.html" width = "1" height = "1" /&gt;</description></item><item><dc:creator>乾坤一笑</dc:creator><title>卸载 Windows Messenger </title><link>http://blog.vckbase.com/smileonce/archive/2005/03/13/3525.html</link><pubDate>Sun, 13 Mar 2005 12:30:00 GMT</pubDate><guid>http://blog.vckbase.com/smileonce/archive/2005/03/13/3525.html</guid><wfw:comment>http://blog.vckbase.com/smileonce/comments/3525.html</wfw:comment><comments>http://blog.vckbase.com/smileonce/archive/2005/03/13/3525.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://blog.vckbase.com/smileonce/comments/commentRss/3525.html</wfw:commentRss><trackback:ping>http://blog.vckbase.com/smileonce/services/trackbacks/3525.html</trackback:ping><description>&lt;P&gt;这招比较绝，网上找的(&lt;A href="http://www.cnblogs.com/venjiang/archive/2005/02/19/27670.html"&gt;WenJiang&lt;/A&gt;)：&lt;BR&gt;&lt;BR&gt;首先要确保已经关闭了Outlook和IE等Windows自带的组件，然后单击&amp;#8220;开始→运行&amp;#8221;，在&amp;#8220;运行&amp;#8221;对话框中输入&amp;#8220;RunDll32 advpack.dll,LaunchINFSection %windir%\inf\msmsgs.inf,BLC.Remove&amp;#8221;命令，回车后系统会打开一个卸载对话框，单击&amp;#8220;是（Y）&amp;#8221;按钮后，系统就开始卸载Windows Messenger 程序。&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src ="http://blog.vckbase.com/smileonce/aggbug/3525.html" width = "1" height = "1" /&gt;</description></item><item><dc:creator>乾坤一笑</dc:creator><title>HOW TO：在基于 Windows XP 的计算机上删除 Windows Messenger 的即时消息用户</title><link>http://blog.vckbase.com/smileonce/archive/2005/03/13/3524.html</link><pubDate>Sun, 13 Mar 2005 12:24:00 GMT</pubDate><guid>http://blog.vckbase.com/smileonce/archive/2005/03/13/3524.html</guid><wfw:comment>http://blog.vckbase.com/smileonce/comments/3524.html</wfw:comment><comments>http://blog.vckbase.com/smileonce/archive/2005/03/13/3524.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.vckbase.com/smileonce/comments/commentRss/3524.html</wfw:commentRss><trackback:ping>http://blog.vckbase.com/smileonce/services/trackbacks/3524.html</trackback:ping><description>&lt;P&gt;概要&lt;BR&gt;当您在运行 Windows XP Home Edition 或 Windows XP Professional 的计算机上，使用 Windows Messenger 首次登录到 .NET Passport 服务时，用来登录的信息显示在由 Windows 维护的用户帐户列表中。在退出然后重新启动 Windows Messenger 之后，用户名显示在 Windows Messenger 用户列表中。&lt;/P&gt;
&lt;P&gt;本分步指南介绍如何从 Windows 中的用户帐户列表和 Windows Messenger 用户列表中删除用户登录信息。 &lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;这个问题困扰我好久了，终于搞定。&lt;A href="http://support.microsoft.com/default.aspx?scid=kb;zh-cn;310705&amp;amp;sd=tech#Task1"&gt;进入&lt;/A&gt;&lt;/P&gt;&lt;img src ="http://blog.vckbase.com/smileonce/aggbug/3524.html" width = "1" height = "1" /&gt;</description></item><item><dc:creator>乾坤一笑</dc:creator><title>[ZT]通杀Windows用户态进程的命令</title><link>http://blog.vckbase.com/smileonce/archive/2005/01/14/2574.html</link><pubDate>Fri, 14 Jan 2005 14:33:00 GMT</pubDate><guid>http://blog.vckbase.com/smileonce/archive/2005/01/14/2574.html</guid><wfw:comment>http://blog.vckbase.com/smileonce/comments/2574.html</wfw:comment><comments>http://blog.vckbase.com/smileonce/archive/2005/01/14/2574.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://blog.vckbase.com/smileonce/comments/commentRss/2574.html</wfw:commentRss><trackback:ping>http://blog.vckbase.com/smileonce/services/trackbacks/2574.html</trackback:ping><description>在别人blog上看到的，在调试比较底层的程序的时候很有用，所以在此处备份一下。&lt;img src ="http://blog.vckbase.com/smileonce/aggbug/2574.html" width = "1" height = "1" /&gt;</description></item><item><dc:creator>乾坤一笑</dc:creator><title>WSH脚本—— OE Plus：自动备份Outlook Express 5.0/6.0 邮件、通讯薄</title><link>http://blog.vckbase.com/smileonce/archive/2005/01/04/2421.html</link><pubDate>Mon, 03 Jan 2005 21:35:00 GMT</pubDate><guid>http://blog.vckbase.com/smileonce/archive/2005/01/04/2421.html</guid><wfw:comment>http://blog.vckbase.com/smileonce/comments/2421.html</wfw:comment><comments>http://blog.vckbase.com/smileonce/archive/2005/01/04/2421.html#Feedback</comments><slash:comments>7</slash:comments><wfw:commentRss>http://blog.vckbase.com/smileonce/comments/commentRss/2421.html</wfw:commentRss><trackback:ping>http://blog.vckbase.com/smileonce/services/trackbacks/2421.html</trackback:ping><description>&lt;img src ="http://blog.vckbase.com/smileonce/aggbug/2421.html" width = "1" height = "1" /&gt;</description></item><item><dc:creator>乾坤一笑</dc:creator><title>宽字符标量L"xx"在VC6.0/7.0和GNU g++中的不同实现。</title><link>http://blog.vckbase.com/smileonce/archive/2004/12/09/1972.html</link><pubDate>Thu, 09 Dec 2004 05:04:00 GMT</pubDate><guid>http://blog.vckbase.com/smileonce/archive/2004/12/09/1972.html</guid><wfw:comment>http://blog.vckbase.com/smileonce/comments/1972.html</wfw:comment><comments>http://blog.vckbase.com/smileonce/archive/2004/12/09/1972.html#Feedback</comments><slash:comments>6</slash:comments><wfw:commentRss>http://blog.vckbase.com/smileonce/comments/commentRss/1972.html</wfw:commentRss><trackback:ping>http://blog.vckbase.com/smileonce/services/trackbacks/1972.html</trackback:ping><description>宽字符标量L"xx"在VC6.0/7.0和GNU g++中的不同实现。锲子：本文源于在VCKBASE C++论坛和周星星大哥的一番讨论，这才使我追根索源，找到了理论依据和实践的证明。（本文一些资料和测试代码由周星星提供）....

&lt;img src ="http://blog.vckbase.com/smileonce/aggbug/1972.html" width = "1" height = "1" /&gt;</description></item><item><dc:creator>乾坤一笑</dc:creator><title>防患于未然——自动备份收藏夹</title><link>http://blog.vckbase.com/smileonce/archive/2004/10/27/1092.html</link><pubDate>Tue, 26 Oct 2004 17:00:00 GMT</pubDate><guid>http://blog.vckbase.com/smileonce/archive/2004/10/27/1092.html</guid><wfw:comment>http://blog.vckbase.com/smileonce/comments/1092.html</wfw:comment><comments>http://blog.vckbase.com/smileonce/archive/2004/10/27/1092.html#Feedback</comments><slash:comments>12</slash:comments><wfw:commentRss>http://blog.vckbase.com/smileonce/comments/commentRss/1092.html</wfw:commentRss><trackback:ping>http://blog.vckbase.com/smileonce/services/trackbacks/1092.html</trackback:ping><description>&lt;P&gt;天灾人祸呀，昨天晚上没睡好觉；今天早上一起来，ghost系统时忘记先备份收藏夹了。我的天，那是我整整一个月的心血呀！完了，没有了，遂决定以后一定要做好备份工作。&lt;/P&gt;
&lt;P&gt;其实，像我这种没脑子的，要是能够在ghost之前想起来备份那才怪呢。最好是能够系统在后台自动替我完成这件事。Okey，作为Coder，自己写个程序来解决吧!&lt;BR&gt;&amp;nbsp;&lt;BR&gt;抓起VC6就开始写，顺便也练习一下C++，我刚学。&lt;BR&gt;一写，犯难了。用老语法还是用新语法(standard C++)? 用MFC还是SDK? 支持全部的Win9x/win2k/win2003/winxp? 对winNT系统来说，支持多用户不？启动程序是放在启动菜单里面还是放在注册表里面?导出的文件用xml还是用ini还是原样保存?如果用ini是用msxml还是用libxml2 ? 甚至于就是连字符串是用char[]还是string还是CString都很犹豫不决。 结果不用提了，1个小时也没有完成这个程序。-_-! 谁让我是笨笨笑呢?!!!&lt;/P&gt;
&lt;P&gt;换个角度一想，其实目的很单纯:就是自动在后台备份,用户操作越少越好，这个程序的应用面越宽越好。(所谓应用面宽，就是换个系统、换个环境、换个目录，都能不改动代码，或者尽量少改动代码，还能够使用。^_^)这么一想，就有门了，用bat吧，结果我不到5分钟就搞定了他。嘿嘿。&lt;/P&gt;
&lt;P&gt;闲言少叙，书归正传!&amp;nbsp;假设我的收藏夹放在D:\Documents and Settings\Administrator\Favorites里面，我的备份的目录是:\docbak\favlink。okey，我现在要把批处理程序放在G:\docbak\favlink里面，然后把收藏夹备份到:\docbak\favlink\bak里面。&lt;BR&gt;&lt;BR&gt;先写一个bat程序，进行目录下所有文件的递归copy。这个程序取名为copyfav.bat,代码如下：&lt;BR&gt;&lt;STRONG&gt;@echo off&lt;BR&gt;&lt;FONT color=#008000&gt;rem This file saved as copyfav.bat.&lt;BR&gt;rem author: smileonce &lt;BR&gt;rem Email : &lt;/FONT&gt;&lt;/STRONG&gt;&lt;A href="mailto:smileonce@126.com"&gt;&lt;STRONG&gt;&lt;FONT color=#008000&gt;smileonce@126.com&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;set ss="%USERPROFILE%\Favorites"&lt;BR&gt;set dd=%cd%\bak&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;if exist bak goto docopy&lt;BR&gt;md %cd%\bak &amp;gt; nul&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;:docopy &lt;BR&gt;xcopy %ss% %dd% /E/Y/D &amp;gt; nul&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;好了，现在运行这个批处理文件已经能够完成&amp;#8220;备份收藏夹&amp;#8221;的功能。然后呢，我们要搞定&lt;FONT color=#ff0000&gt;自动&lt;/FONT&gt;备份：创建copyfav.bat的快捷方式到开始菜单的启动文件夹内(就是用鼠标右键点着copyfav.bat，一直把他拖到开始菜单的启动文件夹，松开右键，选择创建快捷方式)。注意：一定放在启动菜单里面的一定要是copyfav.bat快捷方式，把copyfav.bat这个文件直接复制过去是不可以的。&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#ff0000&gt;okey,大功告成了，每次启动系统，都会自动给你备份收藏夹了。&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;By the way,重装系统如何恢复？我想你也该会了吧？仿照copyfav.bat很好写出。在copyfav.bat所在的文件夹里建立一个restore.bat程序，代码如下：&lt;BR&gt;&lt;STRONG&gt;@echo off&lt;BR&gt;&lt;FONT color=#008000&gt;rem This file saved as restore.bat.&lt;BR&gt;rem author: smileonce &lt;BR&gt;rem Email : &lt;/FONT&gt;&lt;/STRONG&gt;&lt;A href="mailto:smileonce@126.com"&gt;&lt;STRONG&gt;&lt;FONT color=#008000&gt;smileonce@126.com&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;set &lt;FONT color=#ff0000&gt;ss&lt;/FONT&gt;=%cd%\bak&lt;BR&gt;set &lt;FONT color=#ff0000&gt;dd&lt;/FONT&gt;="%USERPROFILE%\Favorites"&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;:docopy &lt;BR&gt;xcopy %ss% %dd% /E/Y/D &amp;gt; nul&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;以上代码在win2003下通过，其他环境下需要看看有没有%USERPROFILE%这个环境变量，没有的话，对应的修改一下bat程序。&lt;/P&gt;
&lt;P&gt;乾坤一笑 posted on 2004年08月12日 11:07 PM &lt;/P&gt;
&lt;P&gt;
&lt;HR&gt;

&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT color=#ff0000&gt;------------------------------------------------&lt;BR&gt;2004-11-16&amp;nbsp;&amp;nbsp; Version 2.0 Release&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;自从上面的bat版本的备份工具发表之后，有很多朋友给我发邮件，提出了很多中肯的建议。其中有个朋友提出&amp;#8220;开机时总是黑框闪一下，不好看。最好放在后台执行&amp;#8221;。是呀，我也是个写程序追求尽善尽美的人，所以，自然要推出升级版本搂。新的版本用&lt;A href="http://msdn.microsoft.com/library/default.asp?url=/downloads/list/webdev.asp"&gt;Windows Script Host 5.6 &lt;/A&gt;(XP以后的系统包括XP都带有WSH5.6以上版本)实现，使用起来更加方便，你只需要把下面两个脚本copy到任意一个你想用来做收藏夹备份目录，双击install.wsf执行一下就okey了(再重装系统前你就不需要再操心了，它会自己搞定的):p&lt;/P&gt;
&lt;P&gt;由于这个blog文本编辑控件的html tag解析有问题，所以没法再这里贴出源码了，自己下载下去看吧:p&lt;/P&gt;
&lt;P&gt;&lt;A href="ftp://vckbase:vckbase@210.192.111.117/vckbase/user/smileonce/myscript/bakfav_v2.0.rar"&gt;本地下载&lt;/A&gt;&lt;/P&gt;&lt;img src ="http://blog.vckbase.com/smileonce/aggbug/1092.html" width = "1" height = "1" /&gt;</description></item></channel></rss>