深度一键重装系统 最简单好用的系统重装软件 全网独家技术/支持GPT-UEFI一键装机 完美兼容市面所有主板 支持安装windows XP/7/8/10 系统

当前位置:主页 > 新闻资讯 > 让WinPE穿上华丽的外衣

让WinPE穿上华丽的外衣

时间:2014年11月05日 22:56:34   作者:小王

不想让自己制作的PE界面总是那么简陋?下面教你一招,让你的PE穿上华丽的外衣——themes.

先说原理:Winlogon启动后先初始化一些全局变量,检测HKEY_LOCAL_MACHINE\SYSTEM\Setup下的SystemSetupInProgress是否为0,如果是正常启动,如果为1,则在启动系统服务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);

    }

  
   开工吧:

  一、启用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工具找一找文件的依赖关系)
  二、修改文件。(均已SP3的文件为例)使用UltraEdit打开文件,Winlogon.exe 查找AF46FFFF85C07512,将最后的12改为27,查找:

重装系统帮助
U盘装系统
优白云U盘装系统

联系我们 | 一键重装系统 | 重装系统 | 系统重装 | 关于我们 | 网站地图

提供一键重装win10系统 | win7系统 | win8系统 | XP系统 | 以及重装系统的相关教程
Copyright@2018深度重装系统版权所有. All Rights Reserved.

本站备案号:湘ICP备13009460号-21