Profil von 寅超离别北大 · 下一站清华™BlogListen Extras Hilfe

Blog


    27.08.2005

    【原创教程】如何解决经美化的系统文件因系统更新而失效的问题

    随手写的,希望能给需要的朋友解决燃眉之急

    装了ShellPack的朋友,在系统更新之后往往会因为部分美化过的系统已经更新而变回来XP的原样。下面简单说一下这个美化文件的修改方法,等以后与美化相关的系统文件有了更新,大家可以DIY。本文以shell32.dll为例说明。

    1.你先去网上找到“ResHacker”或“Restorator”软件,前者是流传最广的,有汉化版本,但近几年来都没有更新;后者功能更强大,且有最新的2005版本,但最新版目前还没有汉化出现。我个人而言更倾向于后者,本文就以后者为例。

    2.找到你需要从里面提取资源的shell32.dll文件,在这里就是把你更新前的shell32.dll文件在更新系统之前先复制一份备用(比如放到E盘)。这个文件位于X:\WINDOWS\system32目录内,这里X是你的系统所在盘符,通常是C。

    3.更新系统。

    4.把更新后的shell32.dll文件和更新前的都用Restorator打开,可以在一个窗口内打开多个dll文件,只需要将要打开的文件拖入窗口即可。

    5.在Restorator左边部分有两个shell32.dll文件的树型结构示意图,包括了多个文件夹,我们需要的所有资源就在这些文件夹里的。而你所需要做的就是把旧的shell32.dll的Bitmap、AVI、Icon文件夹里的bmp文件、avi文件和ico文件替换到新的shell32.dll文件下的相对应目录里,整个过程只需要用鼠标拖放即可!

    6.完成上一步后,把修改好的新的shell32.dll文件另存到某个文件夹,这里如果直接点“保存”,Restorator在shell32.dll文件所在目录下自己生成一个叫shell32 backup.dll的文件,这个就是修改前的文件。

    7.最后就是把修改好的shell32.dll文件替换回系统所要用的文件。由于shell32.dll是系统文件,你无法在使用系统的同时去替换这一文件,如果用双系统的朋友就很方便了,在另外一个系统中去替换这个系统的系统文件;如果没装双系统呢,Restorator已经自带了替换系统文件的功能,但这里要介绍的是一个更常用也更简便的方法,就是用“Replacer”软件,这个免费软件大小不到1M,大家自己google一下就找到了。用法也很简单,双击打开,先把正在用的系统文件拖到Replacer的窗口内,按回车确认,再把修改后的系统文件拖进去,按回车确认,这时会问你是否替换,按“Y”,再回车,Replacer就会完成替换工作了。如果要替换多个系统文件,就每个依次按上述方法操作一遍(多文件替换也有更方便的编写脚本的方法,这里就不介绍了)。当然了,替换后的效果要在重启之后才能生效。第三种替换系统文件的方法,就是用ERD了,这里不多说。由于WinXP自带了系统文件自动识别的机制,如果替换后弹出对话框告诉你系统文件已经被改,是否要恢复,以及插入XP系统盘,这时你可别理它,要毫不犹豫的点“否”。想想啊,你刚刚做了半天(也是我刚刚写了半天)的工作就是在改系统文件啊!如果恢复回去,矣不白搭了!


    好了,这样就完成了shell32.dll文件的更新。其他与美化系统相关的文件如果有更新了,都以此法来修改。


    更多有关Shell Pack的信息请看这里

    Kommentare (30)

    Bitte warten...
    Der eingegebene Kommentar ist zu lang. Bitte kürzen Sie ihn.
    Sie haben keine Angabe gemacht. Bitte versuchen Sie es erneut.
    Ihr Kommentar kann im Moment leider nicht hinzugefügt werden. Bitte versuchen Sie es später erneut.
    Zum Hinzufügen eines Kommentars ist die Erlaubnis von einem Elternteil erforderlich. Erlaubnis einholen
    Der Elternteil hat die Kommentarfunktion deaktiviert.
    Ihr Kommentar kann im Moment leider nicht gelöscht werden. Bitte versuchen Sie es später erneut.
    Sie haben die maximale Anzahl an Kommentaren, die pro Tag zugelassen sind, überschritten. Versuchen Sie es in 24 Stunden erneut.
    Kommentare wurden in Ihrem Konto deaktiviert, da in unseren Systemen angegeben wird, dass Sie anderen Benutzern möglicherweise unerwünschte E-Mails versenden. Wenn Sie der Meinung sind, dass es sich beim Deaktivieren Ihres Kontos um einen Fehler handelt, wenden Sie sich an Windows Live Support.
    Schließen Sie die Sicherheitsüberprüfung unten ab, damit Sie ein Kommentar hinterlassen können.
    Die bei der Sicherheitsüberprüfung eingegebenen Zeichen müssen den Zeichen im Bild oder in der Audiodatei entsprechen.

    Melden Sie sich zum Hinzufügen eines Kommentars mit Ihrer Windows Live ID an (wenn Sie Hotmail, Messenger oder Xbox LIVE verwenden, besitzen Sie eine Windows Live ID). Anmelden


    Sie haben noch keine Windows Live ID? Registrieren

    23 Sept.
    Kein Nameschrieb:

    Hi,Do you have used LCDs, used flat screens and secondhand LCDs? Please go here:www.sstar-hk.com(Southern Stars).We are constantly buying re-usable LCD panels and working for LCD recycling.The re-usable panels go through strictly designed process of categorizing, checking, testing, repairing and refurbishing before they are re-used to make remanufactured LCD displays and TV sets.Due to our recent breakthrough in testing and repairing technology of LCD, we can improve the value for your LCD panels.

    Contact Us

    E-mail:sstar@netvigator.com
    website:www.sstar-hk.com[eihag

    4 Sept.
    28 Aug.
    寅超 王schrieb:
    @ 李建锋
    多谢!!
    27 März
    李建锋schrieb:
    你写的好极了
    26 März
    Bild von Anonym
    ninghongj schrieb:
    呵呵,老兄,够忙的呀?
    你说
    想把系统资源全部换掉,不知道如何制作AVI,就是Copy,Download等的动画。请高手指点,不胜感激
    制作动画怎么做呀,你那里有教程么?
    7 März
    Bild von Anonym
    wyc schrieb:
    好吧,咱们Email联系!
    祝你和你的电脑好运!!
    12 Okt.
    Bild von Anonym
    ninghongj schrieb:
    我的电脑老是自动重起,装上最新补丁也不管事!前天电脑进入不了系统了!光区和软区都不认了,装上诺顿也看不了邮件了达开不了邮箱了,真烦恼!我现在使的是别人的机子,估计这个月联系你的机会少了,国外的论坛我不知上那里注册?你能推荐一些么?我也想多认识点你这样的高手!能给我联系几个么好朋友么?为难吧!有事发到我的邮箱吧!我只能是使别人的机子!旦原我的主板没坏!现在能申请gmail超大空间你可以申请!
    12 Okt.
    Bild von Anonym
    wyc schrieb:
    没有一个很好的美化教程,大部分是靠自己摸索,实在想不通的去外国的一些知名论坛找一下,那些人很不错,技术好,还很乐于助人。这些之中我觉得Neowin挺好的。国内的先锋就算了,也就那么回事。

    经验说不上,不过有点感受:最主要的还是靠自学,因为别人不可能把所有可能发生的问题都告诉你,你只能在自己美化的过程中不断地遇到,并且尽量自己解决,因为很有可能你把整个情况描述给别人直到使他了解所需要的时间比你自己一个人琢磨出来所需要的时间还多。还有就是美化涉及到的领域还挺多的,比如软件的脱壳,有很多软件为了防止别人改动或盗用资源,都是加了壳的,所以在美化之前必须脱壳,比如我做的FlashFXP的美化;另外PS是必须掌握的,不说精通吧,但也至少用得比较熟练;等等等等……

    shell32.dll更新后的变化不体现在Avi、Bitmap、Icon这些上面,所以大小也不见得就变大。新版究竟改变了什么,咱们不用去管,只要在新版的文件上进行美化就肯定没错!
    10 Okt.
    Bild von Anonym
    ninghongj schrieb:
    1.能否介绍一些你认为不错的美化学习教程么?我也来学习学习!
    2.你是怎么成长的,能否介绍些经验?
    3.你查到shell32.dll更新前后有什么区别了么?我发现我制作的shell32.dll更新前后大小都没变!总认为自己制作的shell32.dll应该随更新而变大呀!
    4.恭喜你参加emule团队!
    10 Okt.
    Bild von Anonym
    wyc schrieb:
    补充一句,像你这样逐步替换系统文件其实挺好的,能发现更多的问题,从而学到更多的东西,当然前提是你有足够的时间:)
    9 Okt.
    Bild von Anonym
    wyc schrieb:
    嗯,不客气 :)
    其实本来就不用打针对SP1的补丁,因为SP2中已经包含所有SP2之前的补丁了。
    我这里把与美化有关的近两百个系统文件都替换了,也没引起系统的不稳定。还有就是我不去检查数字签名,因为系统文件全都是自己修改的,用起来绝对放心!
    9 Okt.
    Bild von Anonym
    ninghongj schrieb:
    我塞!对对对对!
    sp1的补丁我就不先装 直接装sp2,然后在打最近更新的补丁,直至系统最,新然后在重新制作shell32.dll后在替换系统的shell32.dll!
    我只替换的shell32.dll和migal.dll和uxtheme.dll,其他的不感替换怕系统不稳定!如果替换检查文件系统签名验证程序有许多没有通过,用regsvr32.exe 编辑的文件x也完成不了通过文件签名!
    我要先编辑shell32.dll然后其他的慢慢研究在替换!

    好朋友!再次感谢你的帮助!
    9 Okt.
    Bild von Anonym
    wyc schrieb:
    现在基本上看明白了。

    你说的第1点是对的,应该重新制作shell32.dll了。

    对于你说的第2点,我有这些看法:

    首先,“a”这一步完全是多余的,你说呢?

    其次,从你说的b、c、d、e、f看来,我觉得很有可能的一种情况是:经过“b”的更新以后,所有文件都已经是最新,此后虽然你重新替换了shell32.dll文件,但再次更新系统时MS用来判断你的系统是否需要更新所需的文件仍是最新的,也就是说在MS看来,这时候你的系统不需更新,所以这第二次更新没有引起shell32.dll的变化——我没遇到过此类情况,因此这些都只是一种猜测。

    最后有一点建议,从你说的来推断,你安装的系统是带SP1,然后再安装SP2,是这样吗?为什么不直接安装带SP2的系统呢,从SP1的系统里安装SP2,必然会给系统留下一些没用的文件,造成系统臃肿,所以建议你安装已经整合了SP2的系统。还是就是,你美化系统是否只替换shell32.dll一个文件?如果是这样,美化将很不彻底,要把系统完全美化需要替换的系统文件在两百个左右。
    9 Okt.
    Bild von Anonym
    ninghongj schrieb:
    1.我的意思是打上s2补丁后先不打别的补丁直接替换shell32.dll然后再打补丁!估计我在这犯错误了,应该更新 系统至最新再编辑shell32.dll后再替换shell32.dll 看来我应该重新再做shell32.dll了!
    2.你解释的很详细,我还是有一点不明白: 为什么我现在的shell32.dll还是原来的shell32.dll这是什么原因?,问题 我再说清楚点:
    a.替换自己编辑的shell32.dll 28m后(原系统shel32.dll是7m)
    b.打最新补丁
    c.结果返回系统默认shell32.dll 7m
    d.接着我replace shell32.dll
    c.结果系统shell32.dll 变到 28m
    d.再打补丁,系统shell32.dll 28m没变!
    难道是更新后哪个文件变了?没看出最开始替换shell32.dll 28m 与 update后的shell32.dll 28m有什么变化和区别??
    9 Okt.
    Bild von Anonym
    wyc schrieb:
    什么叫“先打上最新补丁接着安装windows sp2”??莫非你是先打补丁再装系统的??

    你的这句话实在是很难看懂:(

    我还是按我自己的思路来说。

    再说一遍我认为最好的顺序,从安装系统开始说:

    1.安装Windows XP SP2系统;
    2.通过MSupdate更新系统至最新(也就是你说的“打补丁”);
    3.此时系统里的所有系统文件都是最新的了,在这些最新的系统文件上进行美化,也就是把美化的Avi、Bitmap、Icon等资源替换到这些文件中;
    4.把上一步制得的美化的系统文件用Replacer替换到系统当中;
    5.重启。

    就这五步,写得很清楚了。之所以用最新的系统文件来进行美化,就是为了美化后的这些文件仍是最新版本的,这样上网更新的话这些文件就不会被更新掉了(因为已经是最新了)。

    当然,以后如果有涉及到这些经美化的系统文件的更新,也就是说如果以后有了比当前这些文件更新版的文件时,还是会被替换掉的。至于轮到哪个就由MS决定了。版本号的作用也在于此,你可以通过版本号来确定文件是否被更新。
    8 Okt.
    Bild von Anonym
    ninghongj schrieb:
    1.我找到版本号了,可是有什么用那?
    2.我替换shell32.dll 28m后打最新补丁结果返回系统默认shell32.dll 7m 接着我replace shell32.dll结果系统shell32.dll 变到 28m后再打补丁,系统shell32.dll 28m没变!很奇怪!不知是否因为shell32.dll重新更新的缘故!
    3.我发现打补丁时提示重装验证提取shell32.dll和一些其他文件!仔细检查发现更新前与更新后shell32.dll都是28m!
    4.还是老方法将系统更新至最新10月,然后在自制shell32.dll用replce替换,打上11月补丁会不会又变了那?
    8 Okt.
    Bild von Anonym
    ninghongj schrieb:
    1.看来只能先打上最新补丁接着安装windows sp2后再用resptor修改替换shell32.dll,那样我要是再 打sp2补丁 系统就不会恢复原状了吧,我可最烦重装系统了!另外dllcache我认为最好不要晴空!怎么看文件的版本号是不是在安装时看,有什么用那?如何查看文件的修改日期那?
    2.我打补丁时发现有的补丁要重装shell32.dll!是不是要装完它在替换资源呀?怎样找到重装shell32.dll的补丁呀,那样我就省事了,先打这补丁,在编辑资源了!

    这些日子多谢你帮忙呀?我最新申请的qq: 497624259
    8 Okt.
    Bild von Anonym
    wyc schrieb:
    打补丁的过程是用新的shell32.dll覆盖原来的那个,而不是用shell32.dll里的资源去替换。

    最可靠的判断文件是否更新的方法是看文件的版本号,最简单的方法是看文件的修改日期。拿shell32.dll文件来说,好像目前为止最新的应该是今年5月份的,之前还是一个是今年3月1日的。

    最合理的顺序是:更新系统至最新,用最新的shell32.dll文件(其他需美化的系统文件也一样)进行美化,把经美化的shell32.dll用Replacer替换到系统(如果此后图标仍显示为XP风格,就重建系统图标缓存)——这样一定不会有问题的!

    dllcache文件夹我一般都是清空的,清空的方法和风险自己到网上查一下。这里当然不推荐清空,但要确保在“系统文件保护”保护对话框中选“取消”。

    像你说的情况,shell32.dll已经找不回了,重做一个吧!

    各个系统文件的美化并不关联,也就说是独立的。你改了shell32.dll,那么由它控制的那些界面就美化了,其他的未变,使用上也不会有问题;同理,改了xpsp2res.dll,则相应的界面被美化,与其他的无关……
    8 Okt.
    Bild von Anonym
    ninghongj schrieb:
    将系统更新至最新,然后在自制shell32.dll么?我是从最开始时做的shell32.dll,发现现在和以前shell32.dll没变呀?看来除了shell32.dll要替换,系统有其他文件是不是也必须要替换,比如sp2res.dll和wupdmgr?
    我要是发个图片你看看就好说了!
    8 Okt.

    Trackbacks

    Die Trackback-URL für diesen Eintrag ist:
    http://wangyinchao.spaces.live.com/blog/cns!A7597F24CCA1E4F6!900.trak
    Weblogs, die sich auf diesen Eintrag beziehen
    • Keine