完美官方安全群(1群):2662128 完美官方安全群(2群):7524090 http://zhubo393.ys168.com http://www.u.winzheng.com/?zhubo393 ------------------------------------------------------------------------------- 现任完美者精品论坛安全区版主.霏凡论坛安全区优秀会员,嬴政论坛初级会员,龙族论坛正式会员,萧心论坛中级会员,剑盟论坛5级会员,卡巴技术论坛中级会员,曾任花样年华IT交流区版主,曾任卡通空间团长,曾任贪婪大陆助理,曾任樱花之家技术支持,曾兼职QQ幻想论坛GM,曾兼职第九城市论坛GM,曾兼职丁丁地图论坛兼职管理。
QFE节点共享压缩技术
QFE节点共享压缩技术 QFE - Quick-Fix Engineering (QFE) 厂商(比如微软)为了及时能或者升级功修改缺陷而做的改动(支持)叫做QFEs. eg. Microsoft continually provides up-to-date Windows CE security enhancements and bug fixes as QFEs. Others: 1.QFE is a Q code used by pilots and air traffic control to refer to the barometric altimeter setting which will cause an altimeter to read height above a particular runway threshold. An altimeter set to QFE will therefore read zero when on the ground at the beginning of the runway. This setting may be used during take off and landing and when flying in the circuit. A mnemonic for the code is "Q Field Elevation". 2.altimeter setting to read zero at airfield level. 3.atmospheric pressure at aerodrome elevation. With its sub-scale set to the aerodrome QFE an altimeter will indicate height above that airfield. 我们平时为 Windows XP 安装补丁的时候,经常会看到补丁中出现 GDR 或 QFE 等字样,它们表示什么意思呢?原来微软已经为补丁中的更新系统文件划分了级别,其中 GDR 表示“普通分发版本”,而 QEF 则表示“快速修补工程更新版本”,其中 GDR 更新文件一般都进行了大量的严格测试,因此补丁的稳定性相对较高;而 QFE 更新文件一般所做的测试相对较少,因此其稳定性普遍不如 GDR。 由于更新文件划分了级别,因此 Windows 补丁也划分为两类:一类称为“安全修补程序”,这类补丁包同时包含 GDR 和 QEF 版本的更新文件,也就是两个副本,一般在 Windows 被发现严重漏洞时发布关键更新使用;第二类称为“修复程序”,一般都是一些非关键性更新,仅包含 QFE 版本的更新文件。 那么为什么“安全修补程序”要包含两种更新文件的版本呢?比如说我们现在要安装一个仅包含 QFE 版文件的非关键性更新。如果这个补丁需要更新的旧系统文件已经是 GDR 版,这时更新程序就会自动对比新旧文件的版本号。假如原先的 GDR 文件版本比补丁包中的 QEF 文件版本还要高,那么就会自动禁止补丁包中的 QFE 文件进行更新,而会改用和原 GDR 文件版本号相同的 QEF 版文件来更新。那么上哪里去找这个和原 GDR 文件版本号相同的 QFE 文件呢?实际这个文件已经在计算机硬盘里了,因为在上一次安装包含这个 GDR 文件的“安全修补程序”时,已经将同版本的 QFE 也复制到了系统中备用。这就是为什么“安全修补程序”要同时包含 GDR 和 QFE 两个副本的原因。 再举一个例子,比如说我们现在要安装 KB896688 补丁,此补丁需要更新系统文件 %SystemRoot%\system32\MSHTML.DLL。由于 KB89668 补丁是一个“安全修补程序”,因此它同时包含 GDR 版和 QEF 版两个版本的 MSHTML.DLL 副本,它们的文件说明分别为“xpsp_sp2_gdr.051004-1415”和“xpsp.051004-1419”。执行更新程序后,安装程序会自动检测当前系统的 MSHTML.DLL 版本,如果发现原来的文件就是 GDR 版,那么就会用补丁包中的 GDR 版来更新;如果发现原来的文件是 QEF 版,则会用补丁包中的 QFE 版来更新。不论是哪种情况,更新完毕后,新的系统文件都将是更新后的 6.00.2900.2769 新版本号,只不过有 GDR 和 QFE (Quick fix engineering) 之分而已。 现在,我们再用 KB896688 的例子回过头说一说刚才提到的第一个例子。假设我们更新 KB896688 补丁之前,原系统文件 MSHTML.DLL 已经是 GDR 版,那么在更新补丁时,就会用 GDR 版的 xpsp_sp2_gdr.051004-1415 版的 MSHTML.DLL 进行更新。与此同时,更新程序会将那个 xpsp.051004-1419 的 QEF 文件复制到硬盘中,具体位置是 Windows 文件夹下的 $hf_mig$ 子文件夹。假设我们日后需要安装一个也需要修改 MSHTML.DLL 的其它非关键性补丁,这个补丁就会自动检测自己提供的 QEF 文件和 xpsp_sp2_gdr.051004-1415 相比哪个版本高。假如自己提供的 QEF 版本还不如 xpsp_sp2_gdr.051004-1415 版本高的话,就不会用自己的 QFE 文件进行更新,而是会从 Windows\$hf_mig$ 里把那个备用的 xpsp.051004-1419 拿出来,进行更新。 记得在新闻组中曾经有人问起 Windows\$hf_mig$ 文件夹是否可以删除的问题。现在经过上面的说明解释后就应该明白了,最好不要随便删除 Windows\$hf_mig$ 文件夹。删除此文件夹虽然不会引起系统立即崩溃,但是一旦出现上面所说的那种情况,就可能会发生安装新补丁后引起系统文件版本不匹配导致的兼容性问题。所以,不要轻易删除 Windows\$hf_mig$ 文件夹。 有了补丁本地替换的补丁文件安装包(已解压),对补丁集成有了很大好处。因为所有要替换的补丁文件都是透明的。关键是在替换文件后,要让Windows update认为已经安装了,在线更新不再提示。这个就关系到补丁的注册表文件的写入,这个才是比较重要的。微软的集成方法是在替换了文件之后,再用原版的补丁文件进行初始化,但这样增加了不少容量,而且官方集成的是GDR节点,而又要备份QFE节点文件,这也要增加文件容量。而我的初始化安装文件都是解压的,而且都与原来存在的文件大部分是重复的,这样通过光盘制作中的文件优化可以大幅降低光盘容量。 |
“Chrno_Crusad——圣枪修女”印象...
“Chrno_Crusad——圣枪修女”印象... ![]() “Chrno_Crusad——圣枪修女”印象...日文名称:クロノクルセイド 英文名称:Chrno Crusade 类别:TV 集数:24 放映时间:2003年11月24日 制作公司:GONZO DIGIMATION 官方网站:http://chrno.com/ 原作:森山大辅 监督:红优 副监督:神户洋行 人设:黑天和也 音乐:七濑光 OP:栗林みな实 [翼はPleasure Line] ED:千叶纱子 [さよならソリティア] 也许从动画片开头的轻松搞笑来看,恐怕没有人会认为,圣枪修女的结尾会是一场悲剧吧...... 于是,我轻松的看下去,直到自己被这巨大的悲剧套牢... 直到这怀表,走向12的时候,我才明白.... 最后的最后: 夕阳的余辉照耀在小木屋上,照在坐在吊椅中罗塞特虚弱的身体上。罗塞特看到克洛诺走出来,“过来坐会儿吧,很暖和”克洛诺走过去坐了下来。罗塞特说:“我很喜欢这里的景色。有时候常想起,不知道他们现在还好吗?”“恩”“克洛诺,把契约解除了吧,这样的话克洛诺的伤就会好,克洛诺就会活下去呢……”她把手放在了怀表上。克洛诺伸出手握住了罗塞特准备解除契约的手,说:“不,我不想再失去了,这也是我重要的东西呢!”罗塞特看看克洛诺,把手跟他握在了一起。她看着夕阳,微笑着,眼里涌出了泪水“为什么,我明明知道的,为什么啊!”她突然一把抱住克洛诺,大声地哭了起来:“我不想死啊,克洛诺!我不想死!……”克洛诺温柔地抱着他,一句话都没有说,这个时候,他还能说什么呢?这样是给她最大的安慰。夕阳渐渐地回到了地平线上,最后的一丝余辉温暖地照在他们身上,而那只怀表,在走向12的时候,也终止了它的使命……当艾丝玛利亚他们找到他俩是,罗塞特和克洛诺并肩头靠头地依偎在一起,嘴角留着淡淡的幸福的笑容。他们死的很安详,死的很幸福…… ![]() 也许,再坚强的人,也有脆弱的一面... 也许,这就是命运的残酷和不可抗拒,就是宿命... 也许,真的正如动画结尾所说的: We can do nothing but to see the times go by in the path which God has chosen. ——我们在神所指示的道路面前,只能无力地看着时代的车轮滚滚而过…… 于是,宁静的小屋外两人安详的坐在屋外的吊椅上,平静的将头靠在一起死去,脸上还挂着幸福的笑,也许是神赐予他们的最后的慰藉,但是,我们的最后的安慰,又在哪里?? 故事已经落幕,但神和魔的较量、人类的苦难还在继续,只是,这一切已与他们无关,也许,这就是那一瞬间,命运女神对他们展开的一丝微笑吧... THE END 后记:的确,自己被结尾给深深感动了,被罗塞特那句"我不想死啊,克洛诺!我不想死!……"所震撼,当我听到最后那首响起时,我终于明白了,这首歌德意境,以及为什么要取它来做整部动画的END——那份绝望而带着一丝希望的心情,也许我很久都不会忘记... |
Ghost常识大放送
Ghost常识大放送 GHOST想必大家都听说过了?今天我们把它的最常用的方法总结了一下,方便大家查阅使用! 使用Ghost进行系统备份,有整个硬盘(Disk)和分区硬盘(Partition)两种方式。在菜单中点击Local(本地)项,在右面弹出的菜单中有3个子项,其中Disk表示备份整个硬盘(即克隆)、Partition表示备份硬盘的单个分区、Check表示检查硬盘或备份的文件,查看是否可能因分区、硬盘被破坏等造成备份或还原失败。分区备份作为个人用户来保存系统数据,特别是在恢复和复制系统分区时具有实用价值。 选Local→Partition→To Image菜单,弹出硬盘选择窗口,开始分区备份操作。点击该窗口中白色的硬盘信息条,选择硬盘,进入窗口,选择要操作的分区(若没有鼠标,可用键盘进行操作:TAB键进行切换,回车键进行确认,方向键进行选择)。 在弹出的窗口中选择备份储存的目录路径并输入备份文件名称,注意备份文件的名称带有GHO的后缀名。 接下来,程序会询问是否压缩备份数据,并给出3个选择:No表示不压缩,Fast表示压缩比例小而执行备份速度较快,High就是压缩比例高但执行备份速度相当慢。最后选择Yes按钮即开始进行分区硬盘的备份。Ghost备份的速度相当快,不用久等就可以完成,备份的文件以GHO后缀名储存在设定的目录中。 硬盘的克隆就是对整个硬盘的备份和还原。选择菜单Local→Disk→To Disk,在弹出的窗口中选择源硬盘(第一个硬盘),然后选择要复制到的目标硬盘(第二个硬盘)。注意,可以设置目标硬盘各个分区的大小,Ghost可以自动对目标硬盘按设定的分区数值进行分区和格式化。选择Yes开始执行。 Ghost能将目标硬盘复制得与源硬盘几乎完全一样,并实现分区、格式化、复制系统和文件一步完成。只是要注意目标硬盘不能太小,必须能将源硬盘的数据内容装下。 Ghost还提供了一项硬盘备份功能,就是将整个硬盘的数据备份成一个文件保存在硬盘上(菜单Local→Disk→To Image),然后就可以随时还原到其他硬盘或源硬盘上,这对安装多个系统很方便。使用方法与分区备份相似。 如果硬盘中备份的分区数据受到损坏,用一般数据修复方法不能修复,以及系统被破坏后不能启动,都可以用备份的数据进行完全的复原而无须重新安装程序或系统。当然,也可以将备份还原到另一个硬盘上。 要恢复备份的分区,就在界面中选择菜单Local→Partition→From Image,在弹出窗口中选择还原的备份文件,再选择还原的硬盘和分区,点击Yes按钮即可。 |
FTP软件的基本使用方法
FTP软件的基本使用方法 ![]() 本来使用FTP上传是在网页制作完成之后的工作,但很多网页效果需要服务器支持才能看出设计效果,这是不同于三剑客中其他软件的地方, 我们提前向大家介绍FTP的只用方法 ,目的是为了方便制作者能及早让大家欣赏到您的作品,也方便大家相互交流。 尽管Dreamweaver MX 2004自带了功能强大的FTP上传功能,但鉴于国内网络现状以及使用方便程度,很多资深网民仍习惯于使用专业的FTP软件,以期在方便程度上、速度上获得更好的效果。 CuteFTP就是由Globalscape公司开发的一款专业的老牌FTP软件,在这一小节中,我们来一起一起学习CuteFTP5.0XP的基本使用方法。在任何一款FTP软件中,主机名、用户名、用户密码、远端目录、本地目录等都是必不可少的要素,在本小节学习了CuteFTP软件的使用方法之后,各类FTP软件也就能触类旁通了, Dreamweaver MX 2004自带的FTP功能也不例外,至于在Dreamweaver MX 2004自带的FTP特殊功能,我们将在后面的章节中加以讨论。 ![]() 上图是软件运行后默认的界面,在设置中可以改变界面的显示形式,例如可以将本地目录和远端目录上下摆放,依照个人喜好而异,在下面的介绍中,我们以软件默认为例。 ![]() 菜单栏—— 点击工具栏中的“站点管理器”图标,即可打开如下图所示的站点管理器 ![]() 1、点击“新建”按钮,主机列表中会出现一个“新建主机” 2、在界面右侧的“站点标签”中填入便于您区分和记忆的站点名称(任意)主机列表中的“新建主机”随之改变 3、“FTP主机地址”中填写网络服务商提供给您的域名或IP,请注意,这里不带有网络协议,如不带有“http://” 根据服务商不同,主机地址也可能叫做主机名。 4、“FTP站点用户名称”即网路服务商给您的用户名,根据服务商不同,也可能叫做用户帐号、帐号等。 5、“FTP站点密码”即密码(password) 6、“FTP站点连接端口”21端口是网络中默认的FTP端口,因此在服务商没有特别说明的情况下,这里是21端口。 7、“登陆类型”如果服务商没有特别指明,选择“普通”即可。 当完成站点管理之后,选中主机列表中的站点,然后点击“连接”按钮即可实现本机与服务器主机的连接,出现图一所示的界面,在本地或远端之间用鼠标拖动文件或文件夹即可实现文件、文件夹的上传下载。 以上简单介绍了FTP软件的基本使用方法,作为一款功能强大的专业软件,其功能远远不止这些,更多的功能,大家在今后的使用过程中就能慢慢掌握。 |
关于附加病毒库的制作
关于附加病毒库的制作 McAfee附加病毒库的添加 McAfee附加病毒库: 最新附加病毒的发现页面 (Newly Discovered Threats): http://vil.nai.com/vil/newly_discovered_viruses.aspx 从发现页面取得名字后进入下载页面搜索下载 (Recently Updated Threats): [url=https://www.webimmune.net/extra/getextra.aspx]https://www.webimmune.net/extra/getextra.aspx 下载后添加到 Extra.dat。(可以用记事本打开后添加) Extra.dat保存到:C:\Program Files\Common Files\Network Associates\Engine\ 右击点系统图标栏的mcafee图标,选关于VirusScan Enterprise 在信息里面可以看到: 附加驱动程序中的病毒签名数: 附加驱动程序可以检测的病毒名称: 如果没有加的话这两项是空的。 All extra.dat files received have an expiration date of 14 days, that is the extra.dat will stop functioning 14 days after creation. 还是有人没有看懂,在名字页面不是有很多病毒名称 (name) 吗,复制一下, 在搜索页面粘贴(Detection Name后面),点request,就会提示下载。 添加就是extra.dat保存到:C:\Program Files\Common Files\Network Associates\Engine\ 多个extra.dat合并成一个就是打开其它的extra.dat把其中内容复制到其中一个(记事本打开)。 |
用InstallShield8.0制作安装程序
用InstallShield8.0制作安装程序 ![]() 摘要:本篇文档会告诉你如何使用InstallShield开发平台来创建,编译,运行一个安装程序。在这篇文档中你会学习到安装过程中碰到的下面一些内容:加载安装文件,设置快捷方式,修改注册表,条件安装一些文件,注册com组件,更换安装界面,调试以及发布安装程序。创建,编译,测试安装的工程 这一部分主要讲述如何快速的创建一个安装Project。 1、创建一个安装的工程 首先来看看InstallShield8.0的开发控制台界面,熟悉一下开发环境。 ![]() 我们可以从文件菜单中选择开始一个新的工程向导,或者可以直接从工具栏中选中开始一个新的工程向导按钮,更直接的就是单击控制台界面上的Start the Project Wizard超链接即可弹出一个创建新工程的对话框如图2,你可以安装提示一步一步地往下走就是了。 ![]() 单击下一步,给我们的工程设置名称,见图3 ![]() 在上图中,当你输入一个工程的名字并单击下一步的时候,向导就会创建一个ProjectName.ism,被例子中则创建了liqiang_test.ism文件,你在IDE中对工程所做的设置都保存在这个文件中,如果你想将你的工程移植到其他机器上,你只需要将.ism文件复制到其他机器上即可。 单击下一步,选择安装工程的类型,见图4 ![]() 这个属性页允许你选择创建工程的类型,这里我们选择了InstallScript MSI Project,这种类型的安装程序使用脚本来驱动安装界面,使用windows installer来改变目标系统,比如添加文件,创建快捷方式,修改注册表,关于InstallScript MSI Project和Basic MSI Project两种方式详细的区别,你可以参考帮助文件。 单击下一步,设置应用程序的信息,图5 ![]() 你在Application Name中填写的应用程序的名称会出现在安装对话框中,并且你在控制面板的添加和删除程序对话框中显示的名称也就是这个名称。 还有一个就是设置安装路径,默认的情况下都是安装到C:\Program Files下,但是有一些例外,比如有的系统盘不在C上,为了使安装路径可以动态改变,installshield提供了ProgramFilesFolder属性,这个属性的值在安装的时候动态的初始化为目标系统的Program file 目录。 单击下一步 ![]() 这个属性页用来选择是否采用Installshield update service 自动地给你的用户发送更新消息,这里我们没有选择。 单击下一步,填写关于你们公司的信息 ![]() 填写公司的名称和电话,网址等 单击下一步,选择语言 ![]() 单击下一步,添加Features,见图10 ![]() 我们将缺省的Features删除,添加ProgramFiles and HelpFiles两个Features。 当你的安装程序很多情况下,可以通过这个属性页将你的所有的安装程序分组,然后在安装的过程中,用户可以选择自定义安装方式来自己选择需要安装的内容,这里为了简单举例子,我就分了两组。 单击下一步,将安装文件添加到相应的分组类。 ![]() 单击 Add Files,在弹出的对话框中选择相应的文件, 为了使你的安装工程可以很容易的移植到其他的机器上,工程向导或者IDE对你添加的每一个文件都创建了一个path variable, ![]() 单击下一步,设置快捷方式,图13 ![]() 我们可以在下面的第二部分中可以看到关于设置快捷方式的详细描述,我们不在这一步骤设置快捷方式,单击下一步, ![]() 通过导入reg文件来修改注册表的键值,直接跳过,关于修改注册表,后面有详细的描述 单击下一步,选择安装的对话框 ![]() 这里你可以选择你安装过程中需要的对话框,向导会自动将你选择的对话框脚本函数添加到工程的脚本中,在第6部分你可以了解到脚本的内容。 单击下一步,选择安装对话的皮肤,见图16 ![]() 这里我选择了Blue,你也可以选择None 单击下一步,进入向导的最后一步, ![]() 检查你在向导中设置的选项是否正确,如果确认无误,单击完成,就创建了一个新的安装工程,这个工程一般都在你的机器,我的文档目录下,下面进入第二部分,利用IDE修改我们创建的安装工程 3、编译安装工程 单击"Build"菜单,如图22 ![]() 选择Realse 向导,弹出下面的对话,单击下一步,按照提示,一路走来。 ![]() ![]() 在这个属性页中我们可设置我们安装文件的名称,单击下一步 ![]() 这是用来指定一个文件夹名称,你编译出来的安装文件将来就存放在这个文件夹下面。 下面的这个属性页可以直接跳过 ![]() ![]() 上面的这个属性页可以设置语言 单击下一步,进入选择媒体类型的页面,这里我们选择我们安装程序的发布介质,我们选择CDrom, ![]() ![]() 单击下一步, ![]() Ok,这里我们选择了Compress all Files, 单击next, ![]() 单击下一步,我们来指定如何定位安装源文件 ![]() 这里我们选择了从我们的安装文件中复制,单击下一步 ![]() 这个属性页同上 下一步,用来选择是否要添加NET framework组件。 ![]() 这里我们选择不包含net framework。下一步,包含Visual J# ![]() 单击下一步,进入高级选项选择,图36 ![]() 终于快要大功告成了,单击下一步,检查一下啊我们的选择是否正确,如果正确无误,单击完成, ![]() Ok,至此,单击完成后,我们的工程就会自动编译,在你的安装工程下生成安装文件。目录就是你指定的。Ok,看看我编译的安装文件吧 ![]() Ok,下面就是运行我们的安装文件了,来吧,试验一下,还有很多功能需要后面添加,,但是这个已经可以安装运行了。 4、运行安装工程 单击上面的setup.exe文件,就开始运行我们刚制作的安装程序了, ![]() 具体的页面省略了,如果你一路跟我做到这里,我相信你的安装文件也可以运行了,下面我看看如果添加其他的东西,更精彩的内容在后面的呢,如果修改注册表,注册com组件,修改安装界面,等等内容。 先讲一下如何设置快捷方式 下面我在开始的programes菜单中添加Imclient.exe的快捷方式 首先我们在IDE中打开ShortCuts视图,见图40 ![]() 右键单击Programs Menu项,在弹出的菜单中选择New Advertised Shortcut,如果图40,然后在弹出的Browse for a Component 对话框中,从列表中选择Imserver.exe。如图41 ![]() 然后单击Open按钮。设置下面的属性 ![]() 当然,在这里,你还可以根据上面的提示分别设置桌面快捷方式,等等 下面一个内容就是如何修改注册表,假如我们向注册表的 HKEY_LOCAL_MACHINE\SOFTWARE\linkrun\imserver下添加一个liqdata的键 注册COM组件 对于很多文件而言,安装程序只要将他们从源文件处复制到目标系统中就可以了,但是对于某些文件,安装程序就要在目标系统中注册他们,比如,自注册文件或者ActiveX 控件。 下面我演示一下如何在你的安装工程中注册一个G729AEC.dll,一个com组件。 1、首先打开File 和Folders视图如下图 ![]() 2、在Files and Folders视图的上部,Add new components to the feature列表框中选择一个你的安装程序名称。这里我选择client 3、在下面的安装目录上右键单击,在弹出菜单上选择Launch Component wizard项。 ![]() 4、在弹出的添加组件向导中选择"Let me select a type and define the component myself",单击下一步。 ![]() 5、选择你要添加组件的类别,然后写下你的组件的名称 ![]() 6、下面选择你的组件在目标机器上的位置你可以选择放到安装目录下,也可以选择放到WinNT系统目录下 ![]() 7、单击右侧的浏览按钮,选择你的组件。见图49,50 ![]() ![]() 8、单击完成就将一个com组件添加到安装工程中了 ![]() Ok,现在运行我们的安装包就可以将G729AEC.dll安装目标机器上,并注册。 通常我们在制作安装程序的时候,我们总是要考虑我们程序的运行环境,比如,操作系统的语言,用户是否有权限。 如果你想在某些特定的操作系统中安装你的程序,你可以通过设置组件的操作系统特性来防止你的程序在其他系统上安装。这个可以在Setup Design视图中完成。 下面我演示一下,如果创建一个只能安装到Windows NT 4.0 and Windows 2000 systems:下的组件: 1、打开Setup Design视图,图52 ![]() 2、右键单击Client项,在弹出菜单中选择New Component 3、然后将你新添加的这个组件,改名windows_nt_files ![]() 4、右键单击File面板,添加相应的文件 ![]() 5、右键单击你的文件,将你添加的文件设置为Set Key File。 6、然后将window的操作系统属性设置为Windows NT 4.0 and Windows 2000。这样你的组件就只能安装到Windows NT 4.0 and Windows 2000系统上了。 ![]() 我们还可以设置Windows Installer Conditions来进行条件安装,具体的可以参考帮助文档 InstallShield开发工具是采用InstallScript语言来运行一个安装程序的,你可以在InstallScript视图中来修改工程的脚本程序。如下图 ![]() InstallScript MSI脚本语言采用的事件驱动模式,也就是说,所有的函数调用是安装一定的顺序来进行的。 在你的工程中自己定义的函数都会出现你的函数树上,见上图,你可以单击树上函数名称来编辑或者修改该函数。 事件处理函数(event-handler functions)是不会出现你的函数树上,但是这些函数你的工程也可以使用,当然,此时我们使用的该函数的缺省代码,如果你想修改某个事件处理函数,你可以从事件列表中选择一个事件比如我们选择(Befor Move Data),然后选择一个关于这个事件的函数(比如Begin),然后这个函数的定义就会出现在你的脚本中,在你的脚本中会出现下面的代码: ////////////////////////////////////////////////////////////////////////////// // // FUNCTION: OnBegin // // EVENT: Begin event is always sent as the first event during installation. // ////////////////////////////////////////////////////////////////////////////// function OnBegin( ) begin // TO DO: you may change default non-UI settings, for example // // You may also perform your custom initialization steps, check requirements, etc. end; 你可以在这个函数执行自己的代码了。 下面我们演示一下如何在这个函数添加一个MessageBox函数。 1)首先将begin和end间的//开头的都删除 2)按下CTRL+I弹出添加函数的向导。 3)在函数的种类列表中,选择"Built-in dialog box". 4)在函数名称中,选择"MessageBox".单击下一步。 5)In the szMsg field-which contains the message you want to display-type "Welcome to the Tutorial installation!" (including the quotation marks). 6)In the nType drop-down list-which specifies the type of message box to display-select INFORMATION. 7)Click Finish to paste your function call into the script. 最后,其实就是在你的OnBegin函数中添加了如下的代码: function OnBegin( ) begin MessageBox ( "Welcome to the Tutorial installation!" , INFORMATION ); end; 当你修改了你的脚本时,你就要重新编译它,这样,当你运行安装程序的时候,在弹出欢迎对话框之前就会弹出这个消息框。 InstallScript语言包含了大概250个函数用来处理相关的任务,详细内容参见帮助文档。 处理用户的输入: 在你的安装脚本中,所有处理用户输入对话框的显示只在下面的四个函数中出现OnFirstUIBefore,这个函数里包含了用户第一次安装该程序,在复制文件之前的所有的对话框。 OnFirstUIAfter,这个函数包含用户第一次安装该程序,在复制文件之后所用到的对话框显示 OnMaintUIBefore,这个函数中包含了用户采用maintenance模式安装时,在复制文件之前的所用到的所有的对话框。 OnMaintUIAfter,这个函数中包含了用户采用maintenance模式安装,在复制文件之后所用到的对话框。 对于InstallScript MSI工程来说,其实这里最重要的还是OnFirstUIBefore and OnMaintUIBefore两个函数,用户无论是第一次安装还是maintenance安装,对话框显示都在这两个函数中,OnFirstUIBefore函数缺省的情形应该像下面这样吧。 Dlg_Start: // beginning of dialogs label Dlg_SdWelcome: szTitle = ""; szMsg = ""; nResult = SdWelcome( szTitle, szMsg ); if (nResult = BACK) goto Dlg_Start; Dlg_SdCustomerInformation: szMsg = ""; szTitle = ""; nResult = SdCustomerInformation( szTitle, szName, szCompany, nUser ); if (nResult = BACK) goto Dlg_SdWelcome; 关于InstallShield8.0的入门就简单介绍到这里,关于安装程序的制作,以后有机会我会写一些更加详细的帮助文档,希望和大家多交流。 |
自己制定的MCAFEE规则8.0i导出来
自己制定的MCAFEE规则8.0i导出来 按需扫描 HKEY_LOCAL_MACHINE\SOFTWARE\McAfee\DesktopProtection 有害程序策略 HKEY_LOCAL_MACHINE\SOFTWARE\McAfee\VSCore\NVP 按访问扫描 HKEY_LOCAL_MACHINE\SOFTWARE\McAfee\VSCore\On Access Scanner\McShield\Configuration 访问保护\自定义保护 HKLM\LOCAL_MACHINE\SOFTWARE\McAfee\VSCore\On Access Scanner\BehaviourBlocking\ 自定义保护 HKLM\SOFTWARE\McAfee\VSCore\On Access Scanner\BehaviourBlocking\\AccessProtectionUserRules |
inno setup教程
inno setup教程 这是我的一款VB6软件《爱乐影音光盘管理大师》的inno setup安装脚本 ;这个脚本生成的安装程序请到“软行天下”下载,网址:http://www.sharebank.com.cn/soft/soft_view.php?id=12239 ; 请安装Inno Setup 后继续下一步 ;将这个脚本复制到inno setup内置的编辑器内,稍加修改,即可成为你的VB6软件的安装脚本了 ;杏软工作室版权所有 刘付凤,转载时请保持文件完整 ;Inno Setup 是一个免费的 Windows 安装程序制作软件。 ;第一次发表是在 1997 年,Inno Setup 今天在功能设置和稳定性上的竞争力可能已经超过一些商业的安装程序制作软件 ;它是真正免费的软件,即使作为商业应用 ;还有一个特点,压缩率特别高,特别适合VB软件,我这个安装打包后只有3.7M,其他打包工具5M多 ;安装程序用编译脚本的方式创建,脚本其实就是一个类似 .INI 文件格式的 ASCII 码文本文件。 (它不象你想象的那么复杂!) ;脚本文件一般可以用安装程序编译器程序内置的编辑器进行编辑。在你编写完脚本后,下一个最终步骤就是选择安装程序编译器 ;中的“编译”。创建完成后,就可以运行根据你脚本编译的安装程序了。 ;按默认,这个安装程序创建在包含脚本文件目录下的名为“输出”目录中 [Setup] ;这个段包含用于安装程序和卸载程序的全局设置。某些提示对于你创建的任何安装程序都是必需的 ;一个必需的指示,用以指定你正在安装的应用程序的标题。不包含版本号,与 AppVerName 指示用于同样的目的。AppName 始终在安装过程中显示在安装屏幕的左上角以及安装向导中 AppName=爱乐影音光盘管理大师 ;这个必需的指示值应该与 AppName 的值相同 (或类似),但它还应该包含程序的版本号 AppVerName=爱乐影音光盘管理大师 V3.31 ;这是所有用于在 Windows 2000/XP 中添加/删除程序控件面板对话框中的“支持”信息中显示的内容。这些设置是可选的,在早期的 Windows 版本中无效 AppPublisher=sinyosoft ;这是所有用于在 Windows 2000/XP 中添加/删除程序控件面板对话框中的“支持”信息中显示的内容。这些设置是可选的,在早期的 Windows 版本中无效 AppPublisherURL=http://www.sinyosoft.com AppSupportURL=http://www.sinyosoft.com AppUpdatesURL=http://www.sinyosoft.com ;这个必需的指示值是用于选择目标位置向导面中的默认目录名,通常它用一个目录常量作为前缀,{pf}\SinyoCDManager将显示:C:\Program Files\SinyoCDManager DefaultDirName={pf}\SinyoCDManager ;这个指示的值用是在向导的选择开始菜单文件夹页中使用的默认开始菜单文件夹名。如果这个指示是空白或未指定,它将用“默认”作为名字 DefaultGroupName=爱乐影音光盘管理大师 ;指定许可协议文件名 (可选),用 .txt 或 .rtf (富文本) 格式,在用户选择程序目标目录前显示 LicenseFile=F:\资料保存\杏软工作室安装包\爱乐影音光盘管理大师\Support\Application\License.txt ;指定“自述”文件名 (可选),用 .txt 或 .rtf (富文本) 格式,用于在安装完成后显示 InfoAfterFile=F:\资料保存\杏软工作室安装包\爱乐影音光盘管理大师\Support\Application\请先读我.txt ;这是指定要在文件中使用的压缩方法,以及压缩标准 Compression=lzma ;如果设为 yes,固实压缩将启用。这会使所有文件一次性压缩 SolidCompression=yes [Tasks] ;这个段是只选的。它定义安装程序在执行安装期间所有由用户定制的任务。这些任务以选项框和单选项形式在附加任务向导页中出现 ; 注意: 下面的条目包含一个中文用语 (“创建桌面快捷方式”和“添加快捷方式”)。如果需要你可以翻译为其它语言。 Name: "desktopicon"; Description: "创建桌面快捷方式"; GroupDescription: "添加快捷方式:"; Flags: checkedonce ; 注意: 下面的条目包含一个中文用语 (“创建快速运行栏快捷方式”和“添加快捷方式”)。如果需要你可以翻译为其它语言。 Name: "quicklaunchicon"; Description: "创建快速运行栏快捷方式"; GroupDescription: "添加快捷方式:"; Flags: checkedonce [Files] ;这是定义安装程序安装文件到用户系统中的可选文件段 ;因这是VB软件,除软件本身包含的文件外,还必须包含相关的链接库 ;以下即软件本身的文件,注:安装目录下有一个 "\Data" 的子目录 Source: "F:\资料保存\杏软工作室安装包\爱乐影音光盘管理大师\Support\Application\CDManager.EXE"; DestDir: "{app}"; Flags: ignoreversion Source: "F:\资料保存\杏软工作室安装包\爱乐影音光盘管理大师\Support\Application\Data\*"; DestDir: "{app}\Data"; Flags: ignoreversion Source: "F:\资料保存\杏软工作室安装包\爱乐影音光盘管理大师\Support\Application\请先读我.txt"; DestDir: "{app}"; Flags: ignoreversion Source: "F:\资料保存\杏软工作室安装包\爱乐影音光盘管理大师\Support\Application\CDManager.exe.manifest"; DestDir: "{app}"; Flags: ignoreversion Source: "F:\资料保存\杏软工作室安装包\爱乐影音光盘管理大师\Support\Application\License.txt"; DestDir: "{app}"; Flags: ignoreversion Source: "F:\资料保存\杏软工作室安装包\爱乐影音光盘管理大师\Support\Application\爱乐影音光盘管理大师帮助.chm"; DestDir: "{app}"; Flags: ignoreversion Source: "F:\资料保存\杏软工作室安装包\爱乐影音光盘管理大师\Support\Application\Data\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs ; 注意: 不要在任何共享系统文件中使用“Flags: ignoreversion” ;以下是VB6 RunTime,本工作室严格测试过,可保证在Windows98第一版下正常运行VB6软件 Source: "F:\资料保存\杏软工作室安装包\Support\vb6RunTime\ASYCFILT.DLL"; DestDir: "{sys}"; CopyMode: alwaysskipifsameorolder; Flags: restartreplace sharedfile ;注意COMCAT.DLL版本号必须是4.71的,不能用5.0版本 Source: "F:\资料保存\杏软工作室安装包\Support\vb6RunTime\COMCAT.DLL"; DestDir: "{sys}"; CopyMode: alwaysskipifsameorolder; Flags: restartreplace sharedfile regserver Source: "F:\资料保存\杏软工作室安装包\Support\vb6RunTime\EXPSRV.DLL"; DestDir: "{sys}"; CopyMode: alwaysskipifsameorolder; Flags: restartreplace sharedfile Source: "F:\资料保存\杏软工作室安装包\Support\vb6RunTime\MsRepl35.dll"; DestDir: "{sys}"; CopyMode: alwaysskipifsameorolder; Flags: restartreplace sharedfile Source: "F:\资料保存\杏软工作室安装包\Support\vb6RunTime\MSVBVM60.DLL"; DestDir: "{sys}"; CopyMode: alwaysskipifsameorolder; Flags: restartreplace sharedfile regserver Source: "F:\资料保存\杏软工作室安装包\Support\vb6RunTime\MSVCRT40.DLL"; DestDir: "{sys}"; CopyMode: alwaysskipifsameorolder; Flags: restartreplace sharedfile Source: "F:\资料保存\杏软工作室安装包\Support\vb6RunTime\OLEAUT32.DLL"; DestDir: "{sys}"; CopyMode: alwaysskipifsameorolder; Flags: restartreplace sharedfile regserver Source: "F:\资料保存\杏软工作室安装包\Support\vb6RunTime\OLEPRO32.DLL"; DestDir: "{sys}"; CopyMode: alwaysskipifsameorolder; Flags: restartreplace sharedfile regserver Source: "F:\资料保存\杏软工作室安装包\Support\vb6RunTime\STDOLE2.TLB"; DestDir: "{sys}"; CopyMode: alwaysskipifsameorolder; Flags: restartreplace sharedfile Source: "F:\资料保存\杏软工作室安装包\Support\vb6RunTime\VB6CHS.DLL"; DestDir: "{sys}"; CopyMode: alwaysskipifsameorolder; Flags: restartreplace sharedfile ;以下是OCX控件及DAO组件 ;这个软件用的是DAO3.5、MSFLXGRD、MSCOMCT2 Source: "F:\资料保存\杏软工作室安装包\Support\SYSTEM\DAO350.DLL"; DestDir: "{sys}"; CopyMode: alwaysskipifsameorolder; Flags: restartreplace sharedfile regserver Source: "F:\资料保存\杏软工作室安装包\Support\SYSTEM\DiskID32.dll"; DestDir: "{sys}"; CopyMode: alwaysskipifsameorolder; Flags: restartreplace sharedfile Source: "F:\资料保存\杏软工作室安装包\Support\SYSTEM\FLXGDCHS.DLL"; DestDir: "{sys}"; CopyMode: alwaysskipifsameorolder; Flags: restartreplace sharedfile Source: "F:\资料保存\杏软工作室安装包\Support\SYSTEM\MSCC2CHS.DLL"; DestDir: "{sys}"; CopyMode: alwaysskipifsameorolder; Flags: restartreplace sharedfile Source: "F:\资料保存\杏软工作室安装包\Support\SYSTEM\MSCMCCHS.DLL"; DestDir: "{sys}"; CopyMode: alwaysskipifsameorolder; Flags: restartreplace sharedfile Source: "F:\资料保存\杏软工作室安装包\Support\SYSTEM\MSCOMCT2.OCX"; DestDir: "{sys}"; CopyMode: alwaysskipifsameorolder; Flags: restartreplace sharedfile regserver Source: "F:\资料保存\杏软工作室安装包\Support\SYSTEM\MSCOMCTL.OCX"; DestDir: "{sys}"; CopyMode: alwaysskipifsameorolder; Flags: restartreplace sharedfile regserver Source: "F:\资料保存\杏软工作室安装包\Support\SYSTEM\MSFLXGRD.OCX"; DestDir: "{sys}"; CopyMode: alwaysskipifsameorolder; Flags: restartreplace sharedfile regserver Source: "F:\资料保存\杏软工作室安装包\Support\SYSTEM\MSJet35.dll"; DestDir: "{sys}"; CopyMode: alwaysskipifsameorolder; Flags: restartreplace sharedfile Source: "F:\资料保存\杏软工作室安装包\Support\SYSTEM\MSJInt35.dll"; DestDir: "{sys}"; CopyMode: alwaysskipifsameorolder; Flags: restartreplace sharedfile Source: "F:\资料保存\杏软工作室安装包\Support\SYSTEM\MSJtER35.dll"; DestDir: "{sys}"; CopyMode: alwaysskipifsameorolder; Flags: restartreplace sharedfile Source: "F:\资料保存\杏软工作室安装包\Support\SYSTEM\MSRD2x35.dll"; DestDir: "{sys}"; CopyMode: alwaysskipifsameorolder; Flags: restartreplace sharedfile regserver Source: "F:\资料保存\杏软工作室安装包\Support\SYSTEM\VB5DB.dll"; DestDir: "{sys}"; CopyMode: alwaysskipifsameorolder; Flags: restartreplace sharedfile Source: "F:\资料保存\杏软工作室安装包\Support\SYSTEM\VBAJET32.DLL"; DestDir: "{sys}"; CopyMode: alwaysskipifsameorolder; Flags: restartreplace sharedfile ;以下是本安装特别需要的 ;还用了个免费的“魔鬼XP按钮控件”,在此一并感谢作者,在98、2K、XP-sp2下测试通过,占用资源一般 ;发现了几个BUG(不太影响使用),准备提交给作者 Source: "F:\资料保存\杏软工作室安装包\爱乐影音光盘管理大师\Support\UserControl\MageanButtonV1_2_0.ocx"; DestDir: "{sys}"; CopyMode: alwaysskipifsameorolder; Flags: restartreplace sharedfile regserver ;这是上一个控件需要的,必须打包上 Source: "F:\资料保存\杏软工作室安装包\爱乐影音光盘管理大师\Support\UserControl\Picclp32.ocx"; DestDir: "{sys}"; CopyMode: alwaysskipifsameorolder; Flags: restartreplace sharedfile regserver [INI] ;这是你希望安装程序在用户系统中设置 .INI 文件条目的可选段。 ;写一个文件“访问我们.url”用于访问作者网站 Filename: "{app}\访问我们.url"; Section: "InternetShortcut"; Key: "URL"; String: "http://www.sinyosoft.com [Icons] ;这个可选段定义所有创建在开始菜单和/或其它位置 (比如桌面) 的快捷方式 Name: "{group}\爱乐影音光盘管理大师"; Filename: "{app}\CDManager.EXE" Name: "{group}\爱乐影音光盘管理大师帮助"; Filename: "{app}\爱乐影音光盘管理大师帮助.chm" Name: "{group}\请先读我"; Filename: "{app}\请先读我.txt" ; 注意: 下列条目包含一个中文用语 (“网站”)。如果需要你可以翻译为其它语言。 Name: "{group}\访问主页"; Filename: "{app}\访问我们.url" Name: "{userdesktop}\爱乐影音光盘管理大师"; Filename: "{app}\CDManager.EXE"; Tasks: desktopicon Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\爱乐影音光盘管理大师"; Filename: "{app}\CDManager.EXE"; Tasks: quicklaunchicon [Run] ; 注意: 下列条目包含一个中文用语 (“运行”)。如果需要你可以翻译为其它语言。 ;[Run] 段是可选的,用来指定程序完成安装后、在安装程序显示最终对话框之前要执行的程序 Filename: "{app}\CDManager.EXE"; Description: "运行 爱乐影音光盘管理大师"; Flags: nowait postinstall skipifsilent [UninstallDelete] ;这个可选段定义你想让卸载程序删除除用 [Files] 或 [Dirs] 条目安装/创建外的其它文件或目录,或由你应用程序创建的一些公共使用的 .INI 文件。卸载程序在卸载时最后一步处理这些条目 Type: files; Name: "{app}\访问我们.url" |
空无一人的城镇
空无一人的城镇 在那城市里 是空无一人的 虽然有许多房子 窗子里也都透出亮光 但马路上是空无一人的 从窗子望进去 里面有人...但都和那个在一起 再看其他窗子 也都是和那个在一起 因为和那个一起很快乐 而和人在一起却很悲伤 所以大家都不出门了 所以这城市就空无一人了 我要出走了 再到别的城市去 一个会有人发现我的城市 找一个只属于我的人 但如果那个只属于我的人 爱上我一个人的话 那就是我离开那个只属于我的人的时候了 但我还是去找那个人 只属于我的人 我这么想着 今天 我还是会到空无一人的城市去 我曾经失去过重要的东西 我之前遇过非常悲伤的事情 几时现在依然感到悲伤 非常,非常难过的事情 就算失去了重要的东西 依然还留着的悲伤的痛苦 但是我在寻找 所以我要寻找 小叽:我是我 芙蕾雅(黑叽):我是那个 小叽:因为我是我 芙蕾雅:因为我不是人 小叽:即使如此 芙蕾雅:因为如此 小叽:会因为我是我而喜欢我 芙蕾雅:因为那个人是那个人而喜欢上 只属于我的人 我知道,我是你,你是我,所以我知道 我的心里都被一个人占满了 如果他能对着我笑 我就会觉得幸福 如果他能在我身边 我就会觉得幸福 没错,只要他幸福我就幸福了 跟其他人不一样,那个人是特别的 芙蕾雅:我找到了,我重要的,特别的,只属于我的人 小叽:如果能找到就好了 芙蕾雅:我会找到,然后因为他是他才喜欢他 如果能找到就好了 因为我是我能做到的事情 因为我是我不能做到的事情 他会找到,然后 正因为我是我而喜欢我就好了 芙蕾雅:即使在许多人,或是那个当中 小叽:希望能找到我,希望能喜欢我,但是 如果找不到的话 非作不可,我跟另一个我 小叽找到了小叽重要的人,小叽特别的人,只属于小叽的人 秀树 我之前遇过非常悲伤的事情 即使现在依然感到悲伤 非常非常难过的事情 依然还留着的悲伤的痛苦 但是我在寻找 因为我是我而喜欢我的人 只属于我的人 然后我找到了 但是那是更痛苦的开始 明明不能为他做什么 却待在他身边的痛苦 看到痛苦的他而感到的痛苦 所以我从他的面前消失了 因为喜欢所以我要消失 即使如此 看不到他让我更痛苦 见不到他让我更加的痛苦 明明是因为喜欢所以才分开的 芙蕾雅:因为喜欢所以才能分开 小叽:因为这是他的幸福 芙蕾雅:幸福是什么 小叽:幸福,就是... 芙蕾雅:这就是你的幸福吗 小叽:我的幸福就在这里 我的幸福只在他身上 芙蕾雅:即使难过,即使心痛? 小叽:即使如此,我只要有他就好了 芙蕾雅:是吗... 小叽:我找到了小叽的幸福 这个城镇有许多人 这个城镇有许多那个 大家都会被某人喜欢 爱上某人 跟许多的人 许多的那个 在各种地方生活着 他会从许多的那个或人当中找到我 喜欢上我 我现在就在这里 跟他一起在这里 我们很幸福 我很幸福 |
如果有今生,何必求来世
如果有今生,何必求来世 如果有今生,何必求来世?希望不是很老,希望很感动 ——如果有今生,何必求来世? 叶萋萋刚满10岁,聪明美丽已经在江南传遍。从15岁开始,门槛已被络绎不绝的媒人踏烂。如果你看到某一天江南的很多才子遍及大街小巷,那肯定是叶萋萋出外的日子。 叶萋萋就象江南那青青小湖早上带着露水的荷花,娇娇羞羞带着清澈的美丽。 叶萋萋嫁给风的那一年18岁,花苞象要绽放。 不用形容风的诸般好,因为他娶的是江南最美最有才气最巧的叶萋萋。 嫁给风后,叶萋萋才成为一朵完全绽放的花朵,他们是当时最相爱的一对。 “连就连,你我相约定百年。谁若九十七岁死,奈何桥上等三年。” 风写下这些,画上叶萋萋的图象。叶萋萋常常配上江南的小调吟唱,在自己的画像旁加上风的模样。 “自古红颜多薄命。”没有等到百年,甚至没有等到97岁,叶萋萋病倒了,自此一病不起。风奔走全国为她求医寻药,但仍然没有挽留住叶萋萋。 叶萋萋走的那天,面容苍白。她叫:“风。”风含泪:“连就连,你我相约定百年。”叶萋萋接上:“谁若97岁死,奈何桥上等三年。风,我等你。”风大叫一声:“萋萋!”叶萋萋含笑逝去,面容瞬间娇俏无比。 那时候社会流行续弦,但风拒绝接受任何一个女人。风迅速消瘦,不到三年时间,他便一病不起,且拒绝任何治疗。临去的时候,他对床边的家人说:“萋萋恐怕已等我太久。别为我伤心,我是极为快乐的。”风走的时候面容竟是幸福无比。 那是江南传唱很久的故事。 奈何桥畔,阴风阵阵。美丽女子叶萋萋孤身等待。只愿见你,何惧一切险恶? 风来的那天,叶萋萋单薄如纸的身体一下丰盈,奈何桥上那天下的是江南深情的雨,那是湖上荷花幸福的泪。 风和叶萋萋转世的那一天,两人相约:“坚决不喝孟婆汤!”他们要做生生世世相爱的人。 但是他们当时是怎么也想不到,奈何桥上艰难地等待已把叶萋萋前世的灵气消磨完。他们仍是以为自己的来生仍然是郎才女貌的一对。 他们来到人世间的时候是公元1981年。叶萋萋出生在中原冬季的一天,风出生在东北秋季的一天。 叶萋萋出生的那一天,瞪着一双圆圆的眼睛到处寻找着,最后发现了一大群陌生的人,她知道自己已经来到了今生。“我终于又要和风在一起了。”她禁不住笑了起来。 产床边的人全部吓了一跳。她听到一个头发灰白的老太太说:“一个长的象个丑八怪的丫头,还晦气地不哭却笑,是不是一个妖邪。”叶萋萋想起来了,刚出生的婴儿是要哭的,她开始张着嘴发出没有眼泪的干嚎。可是她又听到那个老太太说:“一哭更丑。” 前世的绝代江南美女刚来到今生,没有受到任何欢迎。 今生的叶萋萋有一个奇怪的名字:桑上。所有的人都觉得这个名字很奇怪,她也是不懂。刚开始的时候她对这个名字是没有什么感觉的,但是她上小学的时候有调皮的男生叫她:”桑上,桑上,日本鬼子。呜呜~”所有的人都笑。桑上很伤心地回到家里,问给自己起名字的妈妈:“为什么我叫桑上?”妈妈答:“随便取的,没有什么意义但是别致,普通的女孩要想出众只有在名字上巧了。” 桑上伤心地第一次在镜前看自己的脸,不见记忆中惊人的美丽,只是普普通通,眼睛大大但是不见往日的灵气,平淡的五官平淡的气质。就是在那一刻起,她才真正把自己当作桑上而不是叶萋萋。“她是江南不俗的荷花,我是中原平凡的草啊。”可是,风,你能认出我来的,是吗? 桑上资质极为普通,她学习很刻苦,但是成绩并不出众。初始,她适应不了,常常会想把自己生活中的一切破坏掉。但是她常常在最孤苦的时候想到风,想到前生的种种幸福。“我要努力使自己做到最好,我要做风的叶萋萋。”她是一个勤奋的乖女孩。 读书读书再读书,她的生活似乎就是这些,期间她也很想学一些其它方面的才艺,但是学了几天就遭到全家人的抗议,桑上无疑做什么都是没有天赋的。在太多的挫折面前,桑上学会了一笑来保护自己。她开始什么都不想,只有风是她单调梦境中一个带有一点点颜色的梦。 她的成长没有什么可以值得炫耀的事情,也没有什么荒唐的事情,她平平淡淡地长大了,对于别人只是一个淡淡的影子。 高中毕业后,她的成绩不好也不坏,因而她考的是一个不好也不坏的医学院。桑上喜欢这个众树环绕下的学校,喜欢穿着白大褂的感觉。她在这里仍然是一个不引人注目的女孩,只到大学快毕业的时候她的塌实为她赢得了过硬的医学知识。 桑上常常会想起风,很想很想知道那个男孩如今可过的好,是不是也象自己一样苦苦寻找着对方。 和医学院相邻的是一个名牌大学,那里的学生很喜欢到医学院来,因为医学院有很好的体育场地。那些浑身冒着臭汗的男生,有时候会冲着那些文文静静地穿着白大褂的女孩喊:“ppmm,我受伤了,给我上一些药吧。”然后看着那些红了脸的女孩哈哈大笑。桑上从来就没有遇见这种情况,因为她走过的时候给人的感觉实在空白。 但是,一次偶然的机会,桑上认识了那个大学的一个女孩。 那是一个剪着短发,穿着一身男孩子衣服的女孩,有明亮的放肆的眼睛。 她跳那个很高的栏杆的时候摔伤了。她仰着头,看那高高的栏杆,骂:“该死。”龇牙咧嘴。桑上走到她的旁边,将她扶起来,将她领到自己的宿舍,为她很快的处理的受伤的地方。 在桑上默默地做这些的时候,那个女孩只是带有好奇地直直地看她。然后说:“你处理这些很有水平啊。”桑上笑了一下。那个女孩临走的时候,伸出手说:“我是兰。”“我是桑上。” 就这么很简单的,桑上认识了那个叫兰的女孩。 兰经常到医学院看桑上,还总是喜欢勾着桑上瘦小的肩招摇过市。她将桑上介绍给自己的同学的时候兴高采烈:“这是我的第10个老婆桑上。”桑上在别人大呼“兰你好花心”的时候安静地笑,平淡地笑,给人留不下什么特殊的印象。 很多年以后,桑上回忆起她和兰的这段很明亮的友谊,仍然会止不住的感动。 桑上大四那年的圣诞节,兰来找她要她参加他们学校的圣诞舞会。桑上本是不热衷于这些的,但是因为兰,她勉强地去了。她本想一个人找一个不被人注意的角落,喝一杯苦苦的茶的,但是兰没有允许她做这些。她牵着她,到处为她介绍着:“这是我的大老婆,这是我的第十个老婆。” 桑上见到了兰的前九个老婆,一个个都很漂亮。桑上不断地笑着,乏的要死,但是兰却拉着她到处骄傲地介绍:“有了桑上啊,我再也不娶别的小妾了。”当桑上终于忍不住向兰提出抗议“兰,我累了”的时候,兰拉着她的手在人群里很拼命地挤:“没什么没什么,再给你介绍最后一个人。”桑上只有无奈地摇头。 “哈哈,桑上,这就是我要给你介绍的最后一个人。” 桑上的目光突然呆滞,前尘往事在脑中清楚地出现。她仿佛看到了揭开红盖头看到风的那一瞬间风的温柔的目光。 桑上直直地看着那个帅气的男孩。“桑上,这是我们最厉害的mm杀手,宇。” 兰的声音从遥远地地方穿来,似乎经历了一世又一世。 “宇,这是我的好老婆桑上。” 宇哦了一声,很淡地伸出手:“你好。” 桑上的喉咙干涩,她听见自己低低但是热烈的声音:“我认识你的,你还记得我吗?” 兰和宇都吃了一惊。宇转过头,揶揄地看兰,兰问:“桑上,你怎么了?” 桑上仍然固执地看着宇:“我很早就认识你,你难道真的忘了?” 远处跑来一个女孩,“宇,我们去跳舞啊。” 宇看了看桑上:“对不起,我想你认错人了。” 桑上直直地看着那个象风的男孩牵着那个漂亮的象前世的叶萋萋一样的女孩。兰在她的耳边说:“那是我们学校最漂亮最有才气的女孩洁,她和宇是公认的天造地设的一对。”桑上不说话,兰问:“桑上,你怎么了,你今天有一些怪。”桑上摇头:“不,不是的,他们不是天造地设的一对,在宇旁边的应该是我。”兰惊讶地看她泪流满面地离去。 从此以后桑上象换了一个人,她经常独自一个跑到宇经常去的地方,看宇打球,洁是宇的观众。桑上很多次勇敢地上去和宇搭话。“宇。”刚开始宇还很耐心地看他一眼,次数多了,他便不耐烦起来,他总是在桑上还没有开口的时候叫洁:“洁,我们走。”把桑上独自抛下。 但是桑上却是少有的固执,她象一个阴魂一样跟在宇和洁的后面,受着他们的侮辱。每一天晚上,桑上都对自己说:“坚持啊,想想奈何桥上等风的艰辛。” 桑上开始引人注目,但是那是带有侮辱性的引人注目。兰无数次地骂桑上:“你怎么变成这么一个不知道自重的人。”桑上沉默着。兰在一次次对桑上暴跳如雷后对桑上彻底失去了信心。她最后一次找到桑上说:“桑上,我不知道你有什么理由,但你已经不是以前的你。桑上,你多保重。”桑上一直微笑着听兰讲完这些,但是当兰彻底在她的视线消失的时候她还是忍不住地哭了。 后来,桑上宇洁兰他们都毕业了,毕业没多久,宇和洁就结婚了。 那一天,桑上第一次喝了酒,将自己灌的不醒人事。意识失去的最后一刹那,她听到自己和风在奈何桥上郑重地说:“坚决不喝孟婆汤。” 桑上再也没有涉足宇的生活,她进了一家很好的医院,象从前那样很本分地做自己的事。 未完待续 ...... |