无忧启动论坛

标题: 原创:如何在PE中启用 Themes [打印本页]

作者: yamingw    时间: 2009-3-17 18:01
标题: 原创:如何在PE中启用 Themes
如何在WinPE中启用XP的主题一直是个难题,网上搜一搜,没有答案。XPE Plugin的作者Sherpya做了不少工作,但最后也说:Until themes are not working these files are only wasting space。没办法,自己努力吧。
        有很多兄弟们都想要一个现成的,不过我更喜欢授人以渔,因为有好多人制作出来的PE比我的好多了,有哪位兄弟先做出来,让我也下载一个。
        先说原理,如果你看不懂,那就和我一块等着下载别人的。
        Winlogon启动后先初始化一些全局变量,检测HKEY_LOCAL_MACHINE\SYSTEM\Setup下的SystemSetupInProgress是否为零,如果是正常启动,如果为一,则在启动系统服务SamSs时告诉它不要管SAM数据库,启动一些必要的服务后,比如Services,lsass,然后就启动HKEY_LOCAL_MACHINE\SYSTEM\Setup下由CMDline指定的程序,等待程序结束,重启或者关机。如果SystemSetupInProgress == 1,则初始化系统服务后调用MSgina.DLL登录XP。MSgina.Dll 在初始化时调用SHsvcs.Dll产生一个ThemesStartEvent系统级事件,代码如下:

#define ThemeWatchForStart_Ordinal 1
#define ThemeWaitForServiceReady_Ordinal 2
typedef DWORD (_stdcall *PFN_ThemeWaitForServiceReady)(DWORD dwTimeout);
typedef BOOL (_stdcall *PFN_ThemeWatchForStart)(void);

HMODULE hShsvcs = LoadLibrary(_T("shsvcs.dll"));
    if( hShsvcs != NULL )
    {
        PFN_ThemeWaitForServiceReady pfThemeWait
            = (PFN_ThemeWaitForServiceReady)GetProcAddress( hShsvcs, (LPCSTR)ThemeWaitForServiceReady_Ordinal);

        PFN_ThemeWatchForStart pfThemeWatch
            = (PFN_ThemeWatchForStart)GetProcAddress( hShsvcs,(LPCSTR)ThemeWatchForStart_Ordinal);

        if(    pfThemeWait != NULL &&
            pfThemeWatch != NULL )
        {
            pfThemeWait(1000);
            pfThemeWatch();
        }
        CloseHandle(hShsvcs);
    }

        那位同学说了:“把SystemSetupInProgress直接改成0不就得了!”
        Lsass告诉你:“此路不通!重启吧你”
        我告诉你:“我们可以改一改Winlogon,让它先启动Msgina或是直接调用Shsvcs就行了。”
        ThemesStartEvent事件是出来了,怎么?还不行!
        那是因为还有个家伙在捣乱:SXS.DLL。他会在系统要求它调用指定Dll时用FusionpAreWeInOSSetupMode函数进行判断SystemSetupInProgress是否为零,如果为1,它就会告诉系统:“我那个什么......先歇会儿再说。”
        然而系统要实现Themes,恰恰需要它去找到合适的ComCtl32.Dll。
        你可以修改它,但是合适的Dll在哪里?
        这种概念是从微软的.NET FrameWork的GAC引入的。每当应用程序要求合适的Dll时,系统会调用SXS.Dll在%SystemRoot%\WinSxS
文件夹中寻找,当有多个相同文件时,它就查看C:\Windows\WinSxS\Manifests以C:\Windows\WinSxS\Policies中的规则来调用相应的文件。
—————————————————————————————————————————————————————————————
        动手了:
        1.启用Themes需要以下文件:修改版的Winlogon调用Msgina.Dll或直接修改MinLogon(XPE Feathure Pack 2007 中有此文件),Winlogon,Msgina.dll,Shsvcs.dll,Activeds.dll,,uxtheme.dll,themeui.dll,sxs.dllC:\Windows\WinSxS\Manifests文件夹中的(对应SP3)
x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.5512_x-ww_35d4ce83.cat
x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.5512_x-ww_35d4ce83.Manifest
C:\Windows\WinSxS\Policies\x86_policy.6.0.Microsoft.Windows.Common-Controls_6595b64144ccf1df_x-ww_5ddad775
文件夹下的
6.0.2600.5512.cat
6.0.2600.5512.Policy
C:\Windows\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.5512_x-ww_35d4ce83
文件夹下的
comctl32.dll
还有一些Windows文件夹System32下的文件,自己研究吧。(用Depends工具找一找文件的依赖关系)
        2.修改文件。(均已SP3的文件为例)使用UltraEdit打开文件,Winlogon.exe 查找AF46FFFF85C07512,将最后的12改为27,查找
56E8151D000056  FF7614E8FC,修改为56E8151D000056  E8BC91FFFF(看清了,只修改最后五位);打开SXS.Dll查找530079007300740065006d005300650074007500700049006e00500072006f00670072006500可以看到S.e.t.u.p.I.n.p.r.o.g.r.e.s.s的字样,把最后的s改成t,即73改成74。
修改PE的注册表,在SYSTEM\Setup下比照着SystemSetupInProgress新建一个REG_DWORD值SystemSetupInProgrest,设为0。为什么这样,请参照http://bbs.wuyou.net/forum.php?mod=viewthread&tid=125169&highlight=
特别注意要修改services.exe中的SystemSetupInProgress为SystemSetupInProgrest。
同时测试了基于bartpe的xpe硬盘版,因为xpe使用自己的pegina.dll重新进入sas序列,所以无法启用主题。
——————————————————————————————————————————————————————————————————
上传一个修改过的Minlogon,切记修改注册表。

对了,最重要的是别忘了加上你自己的主题文件,它们一般在Windows\Resources文件夹下。
传了一个压缩的,是用我心如水的PE做的,(hhh333的也不错,不过他的是SP2的,测试不方便)
我重新上传一个精简过文件的IS_文件,可直接替换我心如水里面的winpe.is_

1,修改的注册表,添加了一些键值,比如对DX8游戏的支持;
2,修改为支持双核,理论上能在P4以上单核上启动;
3,自动检测硬件,安装驱动。(必须有相应的INF和驱动文件)

今天上传了一个自己用的Img格式的内核,根据站长的研究使主题自动开启。其中添加了VC2005的运行库,内置NV显示驱动,配合外置的DX9可以玩现在的新游戏了。
有一个小问题,墙纸不能自动加载是因为Windows只认bmp格式的图片,jpg格式的要转换成bmp。把你需要的墙纸转换成bmp,然后再修改HKEY_CURRENT_USER\Control Panel\Desktop下的WallPaper路径指向你自己的图片。

http://www.namipan.com/d/themes.im_/103380cd7b73bbc6036b87fb41b21fab0d5dab8c01cffb03

[ 本帖最后由 yamingw 于 2009-7-20 18:51 编辑 ]

minlogon.rar

13.02 KB, 下载次数: 653, 下载积分: 无忧币 -2


作者: molingjian    时间: 2009-3-17 18:12
大沙发!真正的高手是让我们永远都无法想象他到底有多高!
作者: yichya    时间: 2009-3-17 18:23
先尝试下再来报告结果,不过LZ确实是技术派的,太厉害了。
对于SP2的PE需要的文件能否列个表?
作者: yichya    时间: 2009-3-17 18:27
测试改在明天进行,不确定如果比如是现在论坛里的PE,启动的时候都把WINLOGON干掉了,还能显示主题吗?
作者: zerogazer    时间: 2009-3-17 18:59
高手啊,谁先做出来个绝对是个创举啊。。。用WB的日子过去啦
O(∩_∩)O哈哈~
作者: HB天意    时间: 2009-3-17 21:34
WINSXS文件夹变成14M,代价是不是太大了点?
作者: yamingw    时间: 2009-3-17 22:39
标题: 回复 #6 yidawpf 的帖子
有一些是我测试NETfx程序和其它东西用的,可以删除的,比如VC的运行库。system32下的还有很多文件可以精简,比如那些c_xx.nls,msxml3~4等文件,我原先以为是由于系统不能解析ManifestXML格式的文件造成的。还有一些文件可以外置,我是为了方便放在系统目录下的。
作者: yigeren    时间: 2009-3-17 22:51
标记下,有时间再研究
作者: HB天意    时间: 2009-3-18 09:04
原帖由 yamingw 于 2009-3-17 22:39 发表
有一些是我测试NETfx程序和其它东西用的,可以删除的,比如VC的运行库。system32下的还有很多文件可以精简,比如那些c_xx.nls,msxml3~4等文件,我原先以为是由于系统不能解析ManifestXML格式的文件造成的。还有 ...

那些是必须的?你说明下。
作者: HB天意    时间: 2009-3-21 21:07
这个用到66369的pe确实可行,我想一般的pe都可以了。
但是我的pe还是不行。
研究了几个小时,winlogon我是启动cmd的。如果调用Msgina.Dll就无法加载二级内核了。
有时间再研究。
作者: HB天意    时间: 2009-3-21 21:12
如何在调用cmd后再调用Msgina.Dll。楼主能否给个思路?
作者: xiaolongkun0    时间: 2009-3-21 22:59
这个怎么玩法,发图来看看
作者: yamingw    时间: 2009-3-21 23:27
标题: 回复 #12 yidawpf 的帖子
CMD调用Msgina.dll这个有点难度。因为这不是msgina的问题,而是一个概念性的问题,winlogon会创建三个桌面,我们平时使用的都是一个外壳,比如CMD,PECMD,explorer。启动CMD之前winlogon已经锁住另外两个,用户只能见到应用层,而主题服务是在服务层建立一个全局服务。所以要在CMD中启用主题服务不大可能,我原来试过,用编程的方法,先提升自身权限,再通过SetThreadDesktop切换桌面,在服务层初始化主题服务,再回来。但这样有个问题,就是主题服务只运行几秒钟的时间就没了,不知道是什么原因。
作者: yamingw    时间: 2009-3-21 23:46
标题: 回复 #11 yidawpf 的帖子
我修改的Winlogon是先调用Msgina再启动CMD或Explorer等外壳,Shsvcs.Dll必须内置,这样winlogon启动时才能启动主题。未修改版的是不会调用Msgina也不会启动主题的。如果你不想要msgina也可以用我修改的Minlogon代替,附件中的已改名为winlogon。
作者: HB天意    时间: 2009-3-22 08:58
原帖由 yamingw 于 2009-3-21 23:46 发表
我修改的Winlogon是先调用Msgina再启动CMD或Explorer等外壳,Shsvcs.Dll必须内置,这样winlogon启动时才能启动主题。未修改版的是不会调用Msgina也不会启动主题的。如果你不想要msgina也可以用我修改的Minlogon ...

你那个minlogon怎么用?我不太懂。
替换原版的winlogon?
作者: HB天意    时间: 2009-3-22 08:59
原帖由 xiaolongkun0 于 2009-3-21 22:59 发表
这个怎么玩法,发图来看看

抽空截个效果图你看看。
作者: HB天意    时间: 2009-3-22 09:45
还有楼主这个主题的开启到底还需要其他什么文件不?
我是用你提供的内核测试的。确实可以启动。
但是你的内核太大了,需要200多M才能启动。
而你在主贴说明的文件还不算太大。到底还要不要其他文件的支持?
如果需要是那些?
。。。。如果自己找那是一个大工程。楼主还是说明下吧。
作者: yamingw    时间: 2009-3-22 10:12
启用Themes需要以下文件:修改版的Winlogon调用Msgina.Dll或直接修改MinLogon(XPE Feathure Pack 2007 中有此文件),Shsvcs.dll,Activeds.dll,icaapi.dll,mstlsapi.dll,ntlsapi.dll,termsrv.dll,uxtheme.dll,themeui.dll,sxs.dll
WinSxS文件夹下其实只需要
C:\Windows\WinSxS\Manifests文件夹中的(对应SP3)
x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.5512_x-ww_35d4ce83.cat
x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.5512_x-ww_35d4ce83.Manifest
C:\Windows\WinSxS\Policies\x86_policy.6.0.Microsoft.Windows.Common-Controls_6595b64144ccf1df_x-ww_5ddad775
文件夹下的
6.0.2600.5512.cat
6.0.2600.5512.Policy
C:\Windows\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.5512_x-ww_35d4ce83
文件夹下的
comctl32.dll
GDIplus我的是5581,你可根据你机器上的提取相应Manifest和Dll文件
x86_Microsoft.Windows.GdiPlus_6595b64144ccf1df_1.0.2600.5581_x-ww_dfbc4fc4
——————————————————————————————————————————————————————
这样吧,我重新上传一个精简的IS_文件,你再看一看。
1,修改的注册表,添加了一些键值,比如对DX8游戏的支持;
2,修改为支持双核,理论上能在P4以上单核上启动;
3,自动检测硬件,安装驱动。(必须有相应的INF和驱动文件)

http://www.namipan.com/d/winpe.is_/f87c6f61ddaec31512be88ca4b6c23308e76c8d1a0414c02

[ 本帖最后由 yamingw 于 2009-3-22 11:03 编辑 ]
作者: 云飞日月    时间: 2009-3-22 10:19
楼主你上传的minlogon是不是不需要msgina.dll了?
作者: yamingw    时间: 2009-3-22 10:30
云飞日月
楼主你上传的minlogon是不是不需要msgina.dll了?
————————————————————————
我没有验证,可能在关机时还需要Msgina的一个资源。但启用Themes时不需要。

[ 本帖最后由 yamingw 于 2009-3-22 10:32 编辑 ]
作者: 云飞日月    时间: 2009-3-22 10:45
楼主,如果用你上传的minlogon,sxs还用改吗?
作者: 云飞日月    时间: 2009-3-22 10:47
还有一个问题,上传的minlogon里面有个注册表,再加上“修改PE的注册表,在SYSTEM\Setup下比照着SystemSetupInProgress新建一个REG_DWORD值SystemSetupInProgrest,设为0”,是不是说,要导入这两个的值?还是说,只要导入systemsetup。。。那个为0的值?
作者: HB天意    时间: 2009-3-22 11:34
我再提一个问题:
我的pe是分二段加载的。第一段通过修改注册表,利用winlogon启动一级内核的startpe.cmd来加载第二内核。达到启动整个pe的目的。
如果我用你的winlogon加载msgina.dll还能加载cmd吗?如果不能我就无法启动pe了啊!
作者: yamingw    时间: 2009-3-22 11:49
我修改的winlogon功能没有减少,你可放心使用。
WinPE下winlogon原版流程如下:
1,初始化
2,启动系统服务
3,启动Setup,就是你的CMD或是explorer等。
我修改的winlogon流程如下:
1,初始化
2,启动系统服务
3,加载msgina,启动主题服务
4,启动Setup,就是你的CMD或是explorer等。
作者: HB天意    时间: 2009-3-22 12:38
原帖由 yamingw 于 2009-3-22 11:49 发表
我修改的winlogon功能没有减少,你可放心使用。
WinPE下winlogon原版流程如下:
1,初始化
2,启动系统服务
3,启动Setup,就是你的CMD或是explorer等。
我修改的winlogon流程如下:
1,初始化
2,启动系 ...

好的,谢谢指导。我的一级内核可能要加不少的文件了。
另外哪个minilogon到底怎么用啊?
作者: HB天意    时间: 2009-3-22 12:39
另外你的支持双核和dx8的注册表是怎么改的?
作者: HB天意    时间: 2009-3-22 16:52




发两个开启主题的效果图。以66369的pe为核心的。
作者: HB天意    时间: 2009-3-22 16:54
楼主,我今天用你的方法试了无数遍。怎么弄都不行啊?
你能不能用我的内核做一个啊?
http://bbs.wuyou.net/forum.php?m ... &extra=page%3D1(我的pe)

另外你新发的内核有问题。测试的时候无法运行!
作者: lxl1638    时间: 2009-3-22 18:05
原帖由 yamingw 于 2009-3-22 11:49 发表
我修改的winlogon功能没有减少,你可放心使用。
WinPE下winlogon原版流程如下:
1,初始化
2,启动系统服务
3,启动Setup,就是你的CMD或是explorer等。
我修改的winlogon流程如下:
1,初始化
2,启动系 ...


楼主有 WinLogon 的源码?或将它逆出来了?
作者: yamingw    时间: 2009-3-22 18:58
标题: 回复 #30 lxl1638 的帖子
有的是网上下载的Win2000的源码,配合着IDA反汇编,发现变化不大,只是增加了一些功能,比如保证自身的数据交换区不能被其他进程访问。
作者: aiyaya2004    时间: 2009-3-22 19:01
高手啊,正在搞这个
作者: 云飞日月    时间: 2009-3-22 19:12
`杀掉无用进程并删掉 X: 盘可删除文件以节省空间
TEAM WAIT 5000|KILL SMSS.EXE|KILL WINLOGON.EXE|FILE %WS%\SMSS.EXE|FILE %WS%\WINLOGON.EXE
把这句删掉了?可不可以?
作者: yamingw    时间: 2009-3-22 19:27
标题: 回复 #29 yidawpf 的帖子
你耐心等一下,我看看再说。
另外更正一下,老内核是用的H3的SP2的文件和66369的一些东东混合体,我说怎么测试时会加载两遍外置,现在才明白。
作者: yamingw    时间: 2009-3-22 19:29
标题: 回复 #33 云飞日月 的帖子
无大碍,原先我是怕SMss倒掉了会对Themes有影响才删掉的。
作者: yamingw    时间: 2009-3-22 21:04
标题: 回复 #29 yidawpf 的帖子
我已经看过了你的PE,首先说你的PE做的很不错,二级内核加载方式思想也很好。不过要想启用XP自身的主题,难度很大,估计得把大部分二级内核搬到一级,这样就失去了二级加载的意义。
原因如下:
主题服务的实现是个复杂的过程,它的启用几乎调用了所有的内核文件和大部分的外壳动态链接库。首先你的一级内核没有SERVICES.EXE,他叫服务管理器,是winlogon启动的第一个系统级进程,以后的所有服务都得有他管理,主题服务也得向他报道。其次还缺少lsass,smss等重要服务。其次主题初始化时除了自身必须的链接库外,还依赖于COM组件,OLE32等文件,shell32,shlwapi等外壳组件,简直就是天下通吃。
作者: yamingw    时间: 2009-3-22 21:48
怎么删除贴子?我在这上边,别人竟然可以直接用我的id发贴,难道这是论坛的bug?我们是一家人,你的id当然是我的id 了,笨

[ 本帖最后由 yamingw 于 2009-3-22 22:01 编辑 ]
作者: 66369    时间: 2009-3-22 21:58
有了主题.的确有新意.

希望给出实现需要的的文件列表.我想天意.会做好的.

你说."修改的注册表,添加了一些键值,比如对DX8游戏的支持.修改为支持双核,理论上能在P4以上单核上启动"...给个注册表文件出来.天意会加的.

别保留.你附件里的EXE文件.和提供的IS_里的.砸不同呢?

===================================

你的IS_文件.我试了.还不错.初看了下.替换"我水"旧版可以的.但CPUZ不行哟...体积大多了...里边好象文件日期.数量有差别.属性有两行XP3...

好象你试的时候.是另一个PE核心.而后用"我水"PE添加的.
作者: yamingw    时间: 2009-3-22 22:15
标题: 回复 #38 66369 的帖子
注册表只是添加了DXplay8的键值,作用不大,用于某些非得要DX8的游戏,现在的游戏都不需要了。
附件的文件是minlogon,主要用于精简系统,功能少。
cpuz我试了,速度太慢,不知原因。
双核的实现见http://bbs.wuyou.net/forum.php?mod=viewthread&tid=116011&highlight=
纳米盘的就是所有的文件。
系统属性里的两个SP3是因为它来自两个键值,一个是HKLM,system\controlset001\control\windows,另一个是HKLM,software\microsoft\windows\currentversion\windows NT。很多程序在检测是否是sp3时要检测某一个,否则不能安装或运行。我忘了是哪一个,就全加上了。新版已经全是在你的PE基础上改的,没有H3的了。替换了Msgina.dll。

[ 本帖最后由 yamingw 于 2009-3-22 22:25 编辑 ]
作者: yamingw    时间: 2009-3-22 22:26
撒拉拉拉撒拉拉拉.楼主,别光顾着回答问题.你家厨房水管没关好,你准备冲楼啊
作者: 66369    时间: 2009-3-22 22:35
原帖由 yamingw 于 2009-3-22 22:26 发表
撒拉拉拉撒拉拉拉.楼主,别光顾着回答问题.你家厨房水管没关好,你准备冲楼啊



====================

哈.消防*了.LZ辛苦了.
作者: yamingw    时间: 2009-3-22 22:44
标题: 回复 #41 66369 的帖子
我和别人用QQ聊天,把这个网址发给她http://bbs.wuyou.net/forumdisplay.php?fid=39,没想到她就成了我,可以发贴编辑。我并没有启用远程协助。
找到原因了,我为了方便,把Cookie设成永久了,就成了这样。奇怪。

[ 本帖最后由 yamingw 于 2009-3-22 22:57 编辑 ]
作者: 66369    时间: 2009-3-22 22:58
她.就算了.

你的电脑中招了....
作者: lxl1638    时间: 2009-3-22 23:25
原帖由 yamingw 于 2009-3-22 18:58 发表
有的是网上下载的Win2000的源码,配合着IDA反汇编,发现变化不大,只是增加了一些功能,比如保证自身的数据交换区不能被其他进程访问。


有没有可能整一个支持 Themes 支持的 XP SP2/XP SP3/Win2003 通吃的 WinLogon 呢?
作者: yamingw    时间: 2009-3-22 23:34
标题: 回复 #44 lxl1638 的帖子
winlogon本身的架构都差不多,我原先就是用sp3的winlogon在sp2上测试,2k3的看过,应该差不多。
作者: lxl1638    时间: 2009-3-22 23:45
原帖由 yamingw 于 2009-3-22 23:34 发表
winlogon本身的架构都差不多,我原先就是用sp3的winlogon在sp2上测试,2k3的看过,应该差不多。


你有没有源码?Win2K的源码本人删了(一个40G的硬盘用了几年,每个分区可用空间不超过300M了,不得不删),
如果有winlogon源码的话,在它基础上加入PECMD的功能或者有点特别(可能启动到桌面会快些),早期的PECMD源码可以到时空论坛下载。
作者: weijing557    时间: 2009-3-25 09:14
楼主的创新值得推荐,做个记号,慢慢看..
作者: jianliulin    时间: 2009-3-27 08:16
这贴不能沉啊!!!!期待发布成果
作者: yichya    时间: 2009-7-11 10:30
LZ在吗?成了这样了,全按你说的办的....

[ 本帖最后由 yichya 于 2009-7-11 10:33 编辑 ]

fail.PNG (14.46 KB, 下载次数: 116)

fail.PNG

作者: neo4026    时间: 2009-7-11 10:34
楼上的干嘛不找个Luna主题的WB5....
作者: yichya    时间: 2009-7-11 10:59
WB5看着太恶心,糊弄老爸不够用。
作者: yichya    时间: 2009-7-11 11:20
终于OK,换了个WINLOGON,然后双击luna.msstyles,启动主题成功。
作者: yichya    时间: 2009-7-11 11:26
就是字体小了一号。

上图,看效果。。。。

未命名.PNG (93.98 KB, 下载次数: 101)

未命名.PNG

未命名2.PNG (37.92 KB, 下载次数: 104)

未命名2.PNG

作者: yichya    时间: 2009-7-11 12:15
把winlogon和SMSS都干掉之后主题也就没了。

有个问题:怎么让它开机就应用主题呢?
作者: yichya    时间: 2009-7-11 18:38
经过大量搜索+测试,需要把hkcu\software\microsoft\windows\currentversion\thememanager下面的第一个指向主题文件的一个值修改掉,hklm的也一样,最重要的是,其中有一个是0,一定要改成1,主题就可以自启动了!
作者: ltycomputer    时间: 2009-7-11 18:39
谁有成品?????分享个
作者: NicTense    时间: 2009-7-11 20:11
原帖由 yichya 于 2009-7-11 18:38 发表
经过大量搜索+测试,需要把hkcu\software\microsoft\windows\currentversion\thememanager下面的第一个指向主题文件的一个值修改掉,hklm的也一样,最重要的是,其中有一个是0,一定要改成1,主题就可以自启动了!


你按楼主加进去的文件,加起来有多大?感觉好像挺大的,统计一下,发个数字上来:)

我上次大概弄了一下,没成功,后来看了一下增加的文件,比wb5还多,就懒得再研究了
作者: yamingw    时间: 2009-7-11 22:55
标题: 回复 #53 yichya 的帖子
今天无意间看到站长还在钻研,令我非常感动。我做事常凭一时激情,过后就懒得再管。自启动的问题你真是帮我一个大忙,不能自己启动的主题要少一半的可用性。字体的问题可能是和HKEY_CURRENT_USER\Control Panel\Desktop\WindowMetrics中的值有关。
作者: tzxinqing    时间: 2009-7-12 01:09
原帖由 yichya 于 2009-7-11 11:26 发表
就是字体小了一号。

上图,看效果。。。。

哇!你居然成功了!支持一下!有空我也试试看!辛苦了!
作者: lupin1984    时间: 2009-7-12 03:48
原帖由 yichya 于 2009-7-11 18:38 发表
经过大量搜索+测试,需要把hkcu\software\microsoft\windows\currentversion\thememanager下面的第一个指向主题文件的一个值修改掉,hklm的也一样,最重要的是,其中有一个是0,一定要改成1,主题就可以自启动了!


能不能给个成品看看,我对这个也很有兴趣,但是没有这方面的知识,多谢了

[ 本帖最后由 lupin1984 于 2009-7-12 03:49 编辑 ]
作者: yichya    时间: 2009-7-12 11:23
把software挂成soft,DEFAULT挂成DEF,SETUPREG.HIV挂成SETUPREG,把它倒进去就可以用了。注意两个dllname的位置都是你的msstyles主题文件的位置,都要弄成一样的。



  1. Windows Registry Editor Version 5.00

  2. [HKEY_LOCAL_MACHINE\SOFT\Microsoft\Windows\CurrentVersion\ThemeManager]
  3. "DllName"=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,\
  4.   74,00,25,00,5c,00,52,00,65,00,73,00,6f,00,75,00,72,00,63,00,65,00,73,00,5c,\
  5.   00,74,00,68,00,65,00,6d,00,65,00,73,00,5c,00,72,00,6f,00,79,00,61,00,6c,00,\
  6.   65,00,5c,00,72,00,6f,00,79,00,61,00,6c,00,65,00,2e,00,6d,00,73,00,73,00,74,\
  7.   00,79,00,6c,00,65,00,73,00,00,00
  8. "LMOverRide"="1"
  9. "LMVersion"="103"
  10. "LoadedBefore"="1"
  11. "ThemeActive"="1"

  12. [HKEY_USERS\DEF\Software\Microsoft\Windows\CurrentVersion\ThemeManager]
  13. "WCreatedUser"="1"
  14. "DllName"=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,\
  15.   74,00,25,00,5c,00,52,00,65,00,73,00,6f,00,75,00,72,00,63,00,65,00,73,00,5c,\
  16.   00,74,00,68,00,65,00,6d,00,65,00,73,00,5c,00,72,00,6f,00,79,00,61,00,6c,00,\
  17.   65,00,5c,00,72,00,6f,00,79,00,61,00,6c,00,65,00,2e,00,6d,00,73,00,73,00,74,\
  18.   00,79,00,6c,00,65,00,73,00,00,00
  19. "LoadedBefore"="1"
  20. "ThemeActive"="1"
  21. "LMVersion"="103"
  22. "LastUserLangID"="2052"
  23. "ColorName"="NormalColor"
  24. "SizeName"="NormalSize"

  25. [HKEY_LOCAL_MACHINE\setupreg\Setup]
  26. "SystemSetupInProgrest"=dword:00000000
复制代码

作者: yichya    时间: 2009-7-12 11:27
原帖由 NicTense 于 2009-7-11 20:11 发表


你按楼主加进去的文件,加起来有多大?感觉好像挺大的,统计一下,发个数字上来:)

我上次大概弄了一下,没成功,后来看了一下增加的文件,比wb5还多,就懒得再研究了

肯定比WB5多,大。

大概是2.8几M,算上royale主题5M左右,NTFS压完也就4M吧。
作者: lupin1984    时间: 2009-7-12 14:11
还需要什么dll???

能够告知一下吗?能够分享一下你的作品吗?
作者: yichya    时间: 2009-7-12 15:43
具体需要的DLL在十几楼,看清楚了就可以了。

我做好的东西有100M,因为是自己用所以东西都扔里面了,实在没心思再做一个纯内核版的。
作者: yichya    时间: 2009-7-12 15:52
这东西还有个问题,就是启动了一出来它标题栏大小就是18,怎么也改不了。。。

还有就是,显示属性里外观那页窗口和按钮总是不能使用,WHY?估计少文件,只好再钻研,没准成功了我会做一个内核版的送大家。
作者: yichya    时间: 2009-7-12 16:38
恶心死我啦,标题栏是25了,可图标大小也全成了25,下面任务栏就跟水肿了一样,让我反胃。。。
作者: yichya    时间: 2009-7-12 16:58
OK啦,我先享用去了,88。。
作者: hwd6    时间: 2009-7-12 18:38
原帖由 yichya 于 2009-7-12 16:58 发表
OK啦,我先享用去了,88。。

放出来分享一下呀?
作者: wllllll    时间: 2009-7-12 19:02
我搞了半天,还是没成功。。。发现复制clbcatq.dll还会导致PE死掉。。。

其他的无解了。。。求老大发改好的东西出来
作者: yichya    时间: 2009-7-12 21:13
你们要100MB大的全功能XP SP3 PE吗?

好吧,我扔到zhxy9804的FTP上,然后各位自己精简去,我就不管了。
作者: yichya    时间: 2009-7-12 21:18
22:00应该就可以下载了。zhxy9804的FTP,/yichya/sp3theme.img
作者: yichya    时间: 2009-7-12 21:45
上传失败啦,不要下载!!等明天吧。
作者: aidixiao    时间: 2009-7-12 21:57
又学了一招,谢谢分享。
作者: lupin1984    时间: 2009-7-13 02:06
标题: 回复 #72 yichya 的帖子
多谢了,期待

最好传到纳米盘上,不会有问题
作者: yichya    时间: 2009-7-13 09:48
纳米我这上不去呀。。。
作者: yichya    时间: 2009-7-13 09:51
上传中,文件名是/yichya/sp3pe with theme.img
作者: yichya    时间: 2009-7-13 09:51
上传中,文件名是/yichya/sp3pe with theme.img
作者: yichya    时间: 2009-7-13 10:56
怎么发重了?

我们家网线跟我有仇,就是传到一半就断了,等以后制作个小版本再说吧。。
作者: yichya    时间: 2009-7-13 11:08
这样吧,我也不想老让大家失望,各位帮我弄一个SP3的核心,小点的,我加上主题后扔FTP里,我这个百M的传到80几的时候就崩了。
作者: yichya    时间: 2009-7-13 11:48
3次啦,全失败了,我不干了!!!

你们看看那几个IMG,有俩100MB的,看看能不能用就是了。
作者: lupin1984    时间: 2009-7-13 12:00
原帖由 yichya 于 2009-7-13 11:08 发表
这样吧,我也不想老让大家失望,各位帮我弄一个SP3的核心,小点的,我加上主题后扔FTP里,我这个百M的传到80几的时候就崩了。


上传完毕,文件名是/yichya/WINPE.IS_

是我心如水 WinPE v6.99 T 多功能版核心,这个比较好,也很稳定

谢谢了

PS:你可以分割成小文件上传

[ 本帖最后由 lupin1984 于 2009-7-13 12:22 编辑 ]
作者: yamingw    时间: 2009-7-13 13:01
标题: 回复 #81 yichya 的帖子
老大,你的第一个sp3theme.img能用的,上传没有失败。但在我的电脑上有个问题,在执行showicon的时候会造成cpu占用100%,使Send卡在Start Services,去掉Showicon就没事了。VM和实机都是这样。另外你的100M里面文件可真够多的,竟然还有一大堆外置,佩服。我同样用NTFS压缩IMG格式,总觉得加不够东西就没空间了。自己用的Img格式没有外置大小就有74M,根据站长的研究使主题自动开启。其中添加了VC2005的运行库,内置NV显示驱动,配合外置的DX9可以玩现在的新游戏了。


http://www.namipan.com/d/themes.im_/103380cd7b73bbc6036b87fb41b21fab0d5dab8c01cffb03

[ 本帖最后由 yamingw 于 2009-7-13 13:06 编辑 ]
作者: yichya    时间: 2009-7-13 13:14
啊?不是吧。
那个showicon需要网络驱动,我弄了个死循环,不成功不罢休:)
别的就没什么可说的了,既然能用,就拿去用吧。
作者: yichya    时间: 2009-7-13 13:20
注意用前把自己的网卡的驱动拆了扔进去,否则就把showicon.cmd删除,我的因为只自己用,SO把所有驱动内置,删除后应该能腾出约4M空间。
作者: NicTense    时间: 2009-7-13 13:40
原帖由 yichya 于 2009-7-12 21:13 发表
你们要100MB大的全功能XP SP3 PE吗?

好吧,我扔到zhxy9804的FTP上,然后各位自己精简去,我就不管了。


对于追求全功能的人来说,目标是代替xp,所以100m应该不成问题

维护性质的pe精简比较重要,如果是代替xp用,精简几m没啥意义
作者: yichya    时间: 2009-7-13 14:15
已经上传成功,/yichya/sp3theme.img
注意:就这一个可以使用,别的都是上传失败的垃圾!
作者: zerogazer    时间: 2009-7-13 14:53
其实我觉得HHH333的PE蛮好用的,为什么不把他的改成支持主题的啊?
。。。。既然SP3的可以,那么SP2的应该也可以的啊

[ 本帖最后由 zerogazer 于 2009-7-13 14:54 编辑 ]
作者: yichya    时间: 2009-7-13 15:44
问题是1楼的大哥没告诉我们sp2的winlogon,services,sxs怎么改还有复制哪个comctl32...

[ 本帖最后由 yichya 于 2009-7-13 15:45 编辑 ]
作者: lupin1984    时间: 2009-7-13 18:01
我上传了我心如水的核心,是sp3的

yichya 能否看看,改成支持主题的,可以吗?
作者: yichya    时间: 2009-7-13 19:04
今天没时间啦,估计得明天。
作者: lupin1984    时间: 2009-7-14 02:01
原帖由 yichya 于 2009-7-13 19:04 发表
今天没时间啦,估计得明天。


期待你的作品,谢谢
作者: yichya    时间: 2009-7-14 15:19
最近得上课啦,估计近20天内没时间,太麻烦了,我用了两天才弄完,你先研究我那个100M吧。
作者: lupin1984    时间: 2009-7-14 17:52
知道了,上课要紧,希望上完后能继续,谢了

主要是我用你的那个在虚拟机上蓝屏,不知道原因
作者: lupin1984    时间: 2009-7-14 18:33
我是在VMware上运行的,不知道是什么意思

还有,我用WinImage解开后所有的文本都是乱码,无从下手

[ 本帖最后由 lupin1984 于 2009-7-14 18:44 编辑 ]

1.png (20.48 KB, 下载次数: 73)

1.png

作者: yamingw    时间: 2009-7-14 19:32
标题: 回复 #95 lupin1984 的帖子
WinImage不支持NTFS压缩格式的IMG的文件,使用IMDisk或VDM打开IMG文件。站长的IMG启用了FBWF,你试着在PECMD.ini中禁用再试试。你也可到纳米盘下载我用的看看。
作者: yichya    时间: 2009-7-15 15:49
unbootable boot volume?你没/rdexportascd吧?

估计得等到8月2号左右我才能有时间,现在我只有每天下午俩钟头的工夫,实在不够。主要是得一次一次的比较注册表,挂载修改重启测试(我内存实在不够)。
作者: lupin1984    时间: 2009-7-15 16:30
确定有/rdexportascd的

好的,先期待了

我自己先研究研究,马上下班休息了,休息21天了,哈哈哈

[ 本帖最后由 lupin1984 于 2009-7-15 16:36 编辑 ]
作者: yamingw    时间: 2009-7-15 18:57
Img格式的不能有 /rdexportascd 它的意思是按CD格式展开,后缀是 IS_ 的核心才能用,Img格式的要去掉这个参数。
作者: dvd008    时间: 2009-7-15 19:00
启动Themes服务后,要怎样才能启用主题呢?
作者: lupin1984    时间: 2009-7-15 23:46
OK了,启动正常,多谢 yamingw 了,先研究一下我心如水的加入theme的问题
作者: luosiping360    时间: 2009-7-16 17:27
期待有稳定的方法。。期待高手哦我




欢迎光临 无忧启动论坛 (http://bbs.wuyou.net/) Powered by Discuz! X3.3