WinPE主题使用方法

   在正常windows下更换主题相信大家也会了,但在PE下使用桌面主题大家应该就没见过吧。一起来操作一下吧。

  先看看原理:Winlogon启动后先初始化一些全局变量,检测HKEY_LOCAL_MACHINESYSTEMSetup下的SystemSetupInProgress是否为零,如果是正常启动,如果为1,则在启动系统服务SamSs时告诉它不要管SAM数据库,启动一些必要的服务后,比如Services,lsass,然后就启动HKEY_LOCAL_MACHINESYSTEMSetup下由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:WindowsWinSxSManifests以C:WindowsWinSxSPolicies中的规则来调用相应的文件。

  ———————————————————————————————————————————————————

  动手了:

  1、启用Themes需要以下文件:修改版的Winlogon调用Msgina.Dll或直接修改MinLogon(XPE Feathure Pack 2007 中有此文件),Winlogon,Msgina.dll,Shsvcs.dll,Activeds.dll,,uxtheme.dll,themeui.dll,sxs.dllC:WindowsWinSxSManifests文件夹中的(对应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:WindowsWinSxSPoliciesx86_policy.6.0.Microsoft.Windows.Common-Controls_6595b64144ccf1df_x-ww_5ddad775

  文件夹下的

  6.0.2600.5512.cat

  6.0.2600.5512.Policy

  C:WindowsWinSxSx86_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的注册表,在SYSTEMSetup下比照着SystemSetupInProgress新建一个REG_DWORD值SystemSetupInProgrest,设为0。特别注意要修改services.exe中的SystemSetupInProgress为SystemSetupInProgrest。

  同时测试了基于bartpe的xpe硬盘版,因为xpe使用自己的pegina.dll重新进入sas序列,所以无法启用主题。

  ———————————————————————————————————————————————————

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

  1、修改的注册表,添加了一些键值,比如对DX8游戏的支持;

  2、修改为支持双核,理论上能在P4以上单核上启动;

  3、自动检测硬件,安装驱动。(必须有相应的INF和驱动文件)

  今天上传了一个自己用的Img格式的内核,根据站长的研究使主题自动开启。其中添加了VC2005的运行库,内置NV显示驱动,配合外置的DX9可以玩现在的新游戏了。

  有一个小问题,墙纸不能自动加载是因为Windows只认bmp格式的图片,jpg格式的要转换成bmp。把你需要的墙纸转换成bmp,然后再修改HKEY_CURRENT_USERControl PanelDesktop下的WallPaper路径指向你自己的图片。

时间: 2024-09-10 09:01:58

WinPE主题使用方法的相关文章

win7禁止修改主题的方法

  几乎所有的windows系统用户都会为自己的系统选择一款自己喜爱的桌面主题,不过如果你的电脑时公用电脑的话,那么别人可能会改动你的系统主题,那么如果才能让系统主题固定不被修改呢?下面小编以win7系统为例,为大家分享下win7禁止修改主题的方法! win7禁止修改主题的方法 1.首先直接选择快捷键win+r,打开运行窗口,在打开窗口以后输入命令为gpedit.msc点击确认,确认后就会打开本地组策略编辑器操作窗口. 2.在打开的本地组策略编辑器窗口中,这个时候就打开路径为用户配置.管理模板.

Win7系统自动更换壁纸主题的方法教程

  1.首先,需要返回到win7旗舰版电脑的桌面位置,之后,在桌面随意的找到一个空白处,点击鼠标右键,在下滑菜单中,选择个性化选项. 主题的方法教程-kpw3原生系统更换壁纸"> 2.在打开的win7旗舰版电脑的个性化设置窗口中,点击其中的桌面背景,之后就会出现一个选择桌面背景的窗口了,之后,点击下方的浏览按钮,就可以在自己的计算机中选择自己喜欢的图片来作为壁纸了.可以多选. 3.完成之后,在下方还可以设置图片的显示位置,以及自动变换的时间间隔,以及是否按顺序变换等选项,选择之后,你就可以

安卓QQ音乐个性明星主题设置方法

我们先升级到QQ5.5之后我们登录,然后点击"左上角"如下所示. 主题设置方法-qq音乐个性主题"> 在进入到更多界面我们找到"个性主题"选项,点击它进入. 然后在打开界面中"个性主题"然后我们找到之后再点击"立即使用"如下图所示. 然后我们设置成功啦~ 然后我们就可以切换回到首页,然后你会看到 bigbang的主题啦~ 好了到此关于QQ音乐个性明星主题就介绍完了,各位朋友有兴趣的可以去试一下喽.

红米手机安装软件/游戏/主题的方法

一,安装软件前我们先把手机与电脑连接 1.红米手机连接电脑方法:   设置-关于手机-进入后,不断点击Android版本,那时候你会看到提示(再点击?次进入开发者模式),继续点,点到提示已进入开发者模式;然后按返回键,你会发现关于手机上面多了一样东西,开发者选项,点击进去,把USB调试打开,然后连接你的连接电脑,就可以连接你的豌豆荚.360手机助手了. 2.下载安装 豌豆荚电脑版  3.打开豌豆荚,可以在豌豆荚中直接搜索你要安装的软件或者游戏,然后选择安装即可,如图所示 主题的方法-3ds ci

MindMapper思维导图软件提取主题的方法

1.我们打开MindMapper[工具]进入之后点击"提取主题"按钮. 2.随后,在打开的提取主题对话框内,输入想要进行提取的主题的条件,比如文本就在后面的文本对话框内进行输入关键字词,如果不需要则将文本够选去掉. 3.然后在界面中进行一些设置. 4.然后再对文件夹选项进行设置等等. 5.最后,点击最下方的确定即可进行提取. 好了上文就是小编为各位整理的一篇关于MindMapper提取主题的方法了,操作非常的简单选项可以根据自己情况来哦.

Windows7主题制作方法

  方法/步骤如下: 1.网上下载资源提取主题文件;修改名称以及替换掉.theme文件,换成好桌道Windows7主题格式的.theme; 2.主题文件夹打开,保留以下这些基本文件,en-us.jpg.msstyles名字要与文件夹名称一致; 3.修改.theme文件-用记事本打开该文件,统一修改名称 ctrl+h(批量替换热键)记事本里的文件路径要与主题文件夹里的名称及路径是要一致,图标及鼠标指针需特别注意; 4.修改完以上信息,及进行主题文件风格的修改,用主题制作的工具修改; 5.打开此软件

win8系统如何更换系统主题的方法

  如今这个个性化时代,强调的就是个性,不管在穿衣风格上,还是发型设计上,追求的就是个性,就是要与众不同,在电脑的造型上也是,桌面壁纸.窗口颜色都要求自定义,根据自己的喜好来设置.很多人都是在网上找一张喜欢的图片,然后手动设置壁纸,却不知道在win7/win8电脑上有个自带的个性化选项,可以在里面自动更换壁纸.下面小编为大家介绍下这个功能,在Win8电脑下如何更换桌面主题. Win8更换桌面主题的操作步骤: 1.在桌面点击右键,选择个性化; 2.在个性化界面里面选择"联机获得更多主题"

MindMapper主题编辑方法汇总

  方法一 使用Enter键 双击主题可以进行编辑;或者选中要编辑的主题,按Enter键;编辑好后,按Enter键完成. 小提示:若是要编辑的内容很多,可以同时按Shift+Enter组合键,调用文本编辑器进行编辑. 方法二 使用快捷键F2 选中要编辑的主题,按快捷键F2,主题进入编辑状态,同样,编辑好内容后按Enter结束. 方法三 多个主题的编辑 这里多个主题的编辑并不是同时编辑多个主题,而是双击主题或按F2快捷键,编辑一个主题,但不要按Enter键结束,按箭头键,移到其他主题上继续编辑,直

多WINPE启动集成方法介绍

  现阶段,网络上盛传的WINPE系统基本以ISO(IS_)和IMG(IM_)为主,如何将最精简的WinPE和功能最全的winpe集成在一起成了大家共同的想法.使用EasyBoot很容易做到这一点,EasyBoot由于界面漂亮,容易修改,成了光盘制作者的最爱.现在就将如何集成多个WINPE的方法简单说明一下. 首先安装好 EASYBOOT.WINHEX(或ULTRAEDIT).ULTRAISO 这3个软件.在硬盘上建立一个临时目录,如D:BOOT,再建二级子目录EZBOOT,把EASYBOOT需