无忧启动论坛
标题:
MBROSTool改造Win8 RAMOS,自动加载分区
[打印本页]
作者:
2010xu32105
时间:
2018-3-13 18:38
标题:
MBROSTool改造Win8 RAMOS,自动加载分区
本帖最后由 2010xu32105 于 2018-3-15 06:14 编辑
///// 此调试代码 直接用户区的WG.81.PECMD.DBG.INI WG.81.PECMD.DBG.NTR 来升级系统,不用老修改WIM
FIND $[ %&CurDrv%=%SystemDrive% & '%~1'='' ],!! FORX \WG.81.PECMD.DBG.INI,&&F,1, TEAM LOAD "%&F%" %* | EXIT FILE
FIND $[ %&CurDrv%<>%SystemDrive% & '%~1'='' ],
{* TEAM SET ThisFile=%SystemRoot%\System32\PECMD.INI| FILE %&CurFile%=>%&ThisFile%
IFEX %&CurDrv%\WG.81.PECMD.DBG.PART.TXT, SET &dbgpart=1
IFEX [ .\WG.81.PECMD.DBG.NTR & '%~1'<>'2' ],
{* TEAM IFEX up.81.LOG, LOGS * up.81.LOG| DATE &&T| SET &=%&T%
FILE %SystemRoot%\System32\PECMD001.tmp.EXE
FILE %SystemRoot%\System32\PECMD.EXE>>%SystemRoot%\System32\PECMD001.tmp.EXE
FILE .\WG.81.PECMD.DBG.NTR=>%SystemRoot%\System32\PECMD.EXE
EXEC -nfb =%SystemRoot%\System32\PECMD.EXE TEAM SET &dbgpart=%&dbgpart%|LOAD %&ThisFile% --up
EXIT FILE
}
}
/////////////////////// UDM 设置区 (此部分代码由 mdyblog 大师帮助编写) ///////////////////////
_SUB DoOUTCFG
ENVI^ EnviBroad=0 `系统加速
SET &MainHd=%MainHd%
SET &MainId=%MainId%
SET &DocId=%DocId%
CALC -err=-1 #&MainHd=(%&MainHd%) + 0
CALC -err=1 #&MainId=(%&MainId%) + 0
CALC -err=5 #&DocId=(%&DocId%) + 0
IFEX $%&MainHd%>=0, `快速恢复UDm
{ //UMOUNT_WIM
imdisk_unmount `清除旧的imdisk
CheckMain &&bDresh1
IFEX $%&bDresh1%>0,
{* IFEX %MyDrv0%, MOUN -udm -u "" %MyDrv0%
MOUN -udm -udmid: %&MainId% \\.\PhysicalDrive%&MainHd% %MyDrv0% `重新加载核心主盘
}
CheckDoc &&bDresh2
IFEX $%&bDresh2%>0,
{* FIND $%ImdDocDrv%<>,!! IFEX %ImdDocDrv%, MOUN -udm -u "" %ImdDocDrv%
FIND $%ImdDocDrv%<>,!! MOUN -udm -w -mw- -udmid: %&DocId% \\.\PhysicalDrive%&MainHd% %ImdDocDrv% `重新可写加载DOC盘
}
}
REGI $HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders\Desktop_Bak,&&Dsk
FIND $%&Dsk%<>, REGI HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\Desktop=%&Dsk%
FIND $%&Dsk%<>, REGI HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders\Desktop=%&Dsk%
FIND $%&Dsk%<>, ENVI $Desktop=%&Dsk%
_END
_SUB FORMX // DriveType %MyDRV%
SET &Drv=%~2
ENVI DocDrv=
ENVI MainHd=-1
ENVI MainId=1 `设置UDm管理主分区号码
ENVI DocId=5 `设置UDm管理DOC分区号码
ENVI ImdDocDrv=
FindUDm5 %&Drv% DocDrv MainHd ImdDocDrv MainId
FIND $%DocDrv%<>, TEAM ENVI MyDRV=%DocDrv% //UDM或普通分区作为DOC盘
SET &DriveType=DRIVE_FIXED
IFEX $%MainHd%>=0,
{* PART list disk %MainHd%,&&V `列出UDm5的磁盘分区号码
MSTR &&md,&&bus,&&FR=<7><9><11>%&V% `截取启动介质的MBR类别
`判断启动介质是 F 型移动磁盘
IFEX $[ 'F'='%&FR%' & %&bus%=7 ], TEAM ENVI &DriveType=DRIVE_USBDISK
`判断启动介质是 R 型移动磁盘
IFEX $[ 'R'='%&FR%' & %&bus%=7 ], TEAM ENVI &DriveType=DRIVE_USBFLASH
`检测第二可读写 UDm (存放 Documents 目录) 盘的盘符并输出至 SetDRV.INI
FIND $%DocDrv%=, ENVI &DriveType=%&DriveType%.RO `为保险,只读不解除
}!
{ FORM &DriveType=%MyDRV%
}
`判断启动介质是本地硬盘
TEAM ENVI-ret %~1=%&DriveType%|WRIT %SystemRoot%\SetDRV.INI,$+0,ENVI $DriveType=%&DriveType% //(1)DriveType
FIND $%DocDrv%<>, WRIT %SystemRoot%\SetDRV.INI,$+0,ENVI $DocDrv=%DocDrv% //(2)DocDrv
ENVI-ret %~3=%&ImdDocDrv%
TEAM ENVI $DocId=%DocId%| ENVI $DocDrv=%DocDrv%| ENVI $ImdDocDrv=%ImdDocDrv%
TEAM ENVI $MyDRV=%MyDRV%| ENVI $MainHd=%MainHd%| ENVI $MainId=%MainId% `写入系统环境
--MESS FORMX结果:启动/DOC介质为[%&DriveType%]主/DOC盘符为[%MyDRV%]主/DOC磁盘号码为[%MainHd%]主磁区号码为[%MainId%]\nDOC子盘盘符为[%DocDrv%]ImdDocDrv为[%ImdDocDrv%] `去除--,可用此句调试
_END
_SUB FindUDmDrvCD // DocName &MainHd DocId &DocDrv &ImdDocDrv ImdDocId %MainDrv%
SET &mhd=-1
SET &DocName=%~1
SET &DocId=-1
FORM &&tp=%~7
SET &partent=0
PART list disk,&&dsks
FIND $%tp%=DRIVE_CDROMUSB, part -cdrom list parent %~7, &partent
FIND $%tp%<>DRIVE_CDROMUSB, `模拟量产
{ moun -udm findudm -norm -ret: &&V %~7
@TEAM MSTR &&hd=<1>%&V%| CALC -err=-2 &hd=( %&hd% ) + 0
IFEX $%&hd%>=0, part list parent %&hd%, &partent
}
CALC -base=16 &partent=%partent%
FORX * 1,&&Vdummy, `如果允许 其它U盘改为: FORX * 1 2,&&Vx,
{
SET &iSel=-1
FORX * %&dsks%,&&hd,
{*
PART list disk %&hd%,&&V
MSTR &&bus=<9>%&V%
IFEX $%&bus%<>7, EXIT - `USB
IFEX $%&partent%<>0,!! TEAM part list parent %&hd%, &&parenti| IFEX $%&partent%<>%&parenti%, EXIT -
moun -udm listudm -udfs -ret: &&UDmList \\.\PhysicalDrive%&hd%
FORX *NL &UDmList,&&Vx,
{*
MSTR &&utp,&&nm,&&Drv,&&id=<4><~6><~7><10>%&Vx%
MSTR &&nm5=5,0,%nm% `MBS_WGDOC MBS2WGDOC
FIND $%&nm5%=%&DocName%, TEAM SET iSel=100|SET mhd=%&hd%| SET DocId=%&id%| SET DocDrv=%&Drv%| SET ImdDocDrv=%Drv%|EXIT
IFEX $[ '%&Drv%'<>'' & %utp%>=0x20000 & %utp%<=0x2FFFF ], `过滤,取普通分区
{ IFEX $%iSel%<20, TEAM SET iSel=20|SET DocDrv=%&Drv% `有盘符
FDRV *vol &&Vol=%&Drv%
MSTR &&nm5=5,0,%Vol% //MBS_WGDOC MBS2WGDOC WGDOC
FIND $[ %&nm5%=%&DocName% | %&Vol%=%&DocName% ], IFEX $%iSel%<30, TEAM SET iSel=30|SET DocDrv=%&Drv% //有盘符
}
}
}
FIND $%&DocDrv%<>, EXIT `找到了
SET partent=0 `下一轮不判断
}
ENVI-ret %~2=%&mhd%
ENVI-ret %~3=%&DocId%
ENVI-ret %~4=%&DocDrv%
ENVI-ret %~5=%&ImdDocDrv%
ENVI-ret %~6=%&DocId%
_END
_SUB FindUDmDrv `查找 UDm 盘。 参数: hd udmId DrvName ImdName ImdDocId
SET &hd=%~1
SET &UdmId=%~2
SET &DocDrv=
SET &ImdDocDrv=
SET &ImdDocId=-1
moun -udm listudm -udfs -ret: &&UDmList \\.\PhysicalDrive%&hd%
FORX *NL &UDmList,&&Vx,
{* MSTR &&start,&&len,&&utp,&&Drv,&&Id=<2><3><4><~7><10>%&Vx%
IFEX $%&UdmId%=%&Id%,
{ TEAM SET DocDrv=%&Drv%| SET ImdDocDrv=%&Drv%| SET ImdDocId=%&Id%
FIND $%&DocDrv%=, `支持可见区
{ PART list part %&hd%,&&prts
FORX * %&prts%,&&prt,
{* PART list part %&hd%:%prt%,&&V
MSTR &&s,&&n,&&Drv3=<4><5><8>%&V%
IFEX $[ %&s%=%&start%s & %&n%=%len%s ], TEAM SET DocDrv=%&Drv3%| SET ImdDocId=-1| EXIT
}
}
EXIT
}
}
ENVI-ret %~3=%&DocDrv%
ENVI-ret %~4=%&ImdDocDrv%
ENVI-ret %~5=%&ImdDocId%
_END
`根据主盘的盘符找到 Udm5,并“可写”重新加载,返回 DOC盘符和宿主磁盘号码。
_SUB FindUDm5 // 参数: MainDrv DocDrvName HdName ImdDocDrvName MainId
SET &MainHd=-1
SET &MainId=1
SET &DocDrv=
SET &ImdDocDrv=
SET &ImdDocId=-1
FORM &&tp=%~1
IFEX %~1\我要模拟量产.DBG.TXT, SET tp=DRIVE_CDROMUSB //调试:模拟量产
FIND $%&tp%=DRIVE_CDROMUSB, //量产
{* SET MainId=0
FindUDmDrvCD "WGDOC" &MainHd DocId &DocDrv &ImdDocDrv &ImdDocId %~1
}!
{* @TEAM MOUN -udm findudm -ret: &&V "%~1"| MSTR &MainHd,&MainId=<1*>%&V%
IFEX $[ %&MainHd%>=0 & %&MainId%<>5 ], FindUDmDrv %&MainHd% %DocId% &DocDrv &ImdDocDrv &ImdDocId
}
IFEX $[ %&MainHd%>=0 & %&ImdDocId%>0 ],
{* FIND $%&DocDrv%<>, MOUN -udm -u "" %&DocDrv%
FIND $%&DocDrv%=, TEAM FDRV *idlec &&drvs=*:| MSTR &DocDrv=<1>%&drvs%| SET ImdDocDrv=%&DocDrv%
FIND $%&DocDrv%<>, MOUN -udm -w -mw- -udmid: %DocId% \\.\PhysicalDrive%&MainHd% %&DocDrv% `重新可写加载
}
ENVI-ret %~2=%&DocDrv%
ENVI-ret %~3=%&MainHd%
ENVI-ret %~4=%&ImdDocDrv%
ENVI-ret %~5=%&MainId%
_END
////////////////////////////////// UDm 环境关机杀手 //////////////////////////////////
_SUB OnShutdownTask
Call OnShutdownTaskW
_END
_SUB OnShutdownTaskW,W240H120,UDm后台进程
ENVI @this.Visable=0 `将前台窗口隐藏
ENVI-env &&ImdDocDrv=%ImdDocDrv%
ENVI-env &&MainHd=%MainHd%
ENVI^ FORCELOCAL=1
SET ::WM_QUERYENDSESSION=0x0011
SET ::WM_ENDSESSION=0x0016
ENVI @this.MSG=%&WM_QUERYENDSESSION%::&&wp,&&lp,CALL imdisk_unmountx %&wp% %&lp%
ENVI @this.MSG=%&WM_ENDSESSION%::&&wp,&&lp,CALL imdisk_unmountx %&wp% %&lp%
_END
_SUB imdisk_unmountx `卸载所有imdisk虚拟盘,以免不能关机。
SET &wp=%1
SET &lp=%2
IFEX $%&lp%<>0, EXIT
{* CheckDoc &&bDresh
IFEX $%&bDresh%<=0, EXIT - `不执行
REGI $HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders\Desktop_Bak,&&Dsk1
REGI $HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders\Desktop,&&Dsk
FIND $%&Dsk1%=, REGI $HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders\Desktop_Bak=%&Dsk%
REGI HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\Desktop=X:\Users\Administrator\Desktop
REGI HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders\Desktop=X:\Users\Administrator\Desktop
TEAM KILL Explorer|KILL Explorer| KILL Explorer
}
imdisk_unmount
_END
_SUB CheckMain //iPos
ENVI-ret %~1=-1
IFEX $%MainId%<1, EXIT
RAMD Imdisk*&&Vi -l -m %MyDRV%
SED &&IPOS=?,Proxy Virtual Disk,,%&Vi%
ENVI-ret %~1=%&iPOS%
_END
_SUB CheckDoc //iPos
ENVI-ret %~1=-1
IFEX $%ImdDocDrv%=, EXIT
RAMD Imdisk*&&Vi -l -m %ImdDocDrv%
SED &&IPOS=?,Proxy Virtual Disk,,%&Vi%
ENVI-ret %~1=%&iPOS%
_END
_SUB imdisk_unmount `卸载所有imdisk虚拟盘,以免不能关机。
SET &V2=
RAMD Imdisk*&&V -l -n
FORX * %&V%,&&v1,
{ RAMD Imdisk*&&Vi -l -u %&v1%
SED &&IPOS=?,Proxy Virtual Disk,,%&Vi%
IFEX $%&iPOS%>0, SET V2=%&v1% %V2%
}
FORX * %&V2%,&&v1, RAMD Imdisk*&&Vi -d -u %&v1%
FORX * %&V2%,&&v1, RAMD Imdisk*&&Vi -D -u %&v1%
FORX * %&V2%,&&v1, RAMD Imdisk*&&Vi -R -u %&v1%
_END
//////////////////////////////////// 子程序区 //////////////////////////////////////////
_SUB RegWCS `关联注册 WCS 脚本文件
ENVI PECMD=PECMD.EXE
IFEX %WS%\PECMD.NTR,ENVI PECMD=PECMD.NTR
ENVI EDIT=NOTEPAD
REGI HKCR\.ntr\=exefile
REGI HKCR\.nte\=exefile
REGI HKCR\.ntx\=exefile
REGI HKCR\.wcs\=wcsfile
REGI HKCR\.wce\=wcsfile
REGI HKCR\.wcx\=wcsfile
REGI HKCR\wcsfile\=WCS 脚本文件
REGI HKCR\wcsfile\DefaultIcon\=%SystemRoot%\SYSTEM32\%PECMD%,0
REGI HKCR\wcsfile\shell\open\command\=%PECMD% LOAD %L
REGI HKCR\wcsfile\shell\Edit\command\=%EDIT% %L
REGI HKCR\.wcz\=wczfile
REGI HKCR\wczfile\=WCS 脚本文件
REGI HKCR\wczfile\DefaultIcon\=%SystemRoot%\SYSTEM32\%PECMD%,0
REGI HKCR\wczfile\shell\open\command\=%PECMD% LOAD %L
REGI HKCR\inifile\shell\PECMD\=PECMD 运行
REGI HKCR\inifile\shell\PECMD\command\=%PECMD% LOAD %L
REGI HKCR\inifile\shell\PECMDEDIT\=PECMD 编辑
REGI HKCR\inifile\shell\PECMDEDIT\command\=%EDIT% %L
REGI "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\PATHEXT"=.COM;.EXE;.NTR;.NTE;.NTX;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.WCS;.WCE;.WCX;.WCZ
_END
`注册IMDISK右键
REGI HKCR\Drive\shell\ImDiskSaveImage\=保存ImDisk虚拟磁盘
REGI HKCR\Drive\shell\ImDiskSaveImage\command\=rundll32.exe imdisk.cpl,RunDLL_SaveImageFile %L
REGI HKCR\Drive\shell\ImDiskUnmount\=卸载ImDisk虚拟磁盘
REGI HKCR\Drive\shell\ImDiskUnmount\command\=rundll32.exe imdisk.cpl,RunDLL_RemoveDevice %L
REGI HKCR\Ultraiso\shell\ImDiskMountFile\=加载为ImDisk虚拟磁盘
REGI HKCR\Ultraiso\shell\ImDiskMountFile\command\=rundll32.exe imdisk.cpl,RunDLL_MountFile %L
REGI HKCR\Winimage\shell\ImDiskMountFile\=加载为ImDisk虚拟磁盘
REGI HKCR\Winimage\shell\ImDiskMountFile\command\=rundll32.exe imdisk.cpl,RunDLL_MountFile %L
_SUB ADD_HOTK `注册热键:
HOTK #112,PECMD.EXE HELP `PECMD 帮助热键 (按 F1 键)
_END
//////////////////////////////////// 启动设置区 ////////////////////////////////////
_SUB ADD_MAIN `第一次运行
TIPS 正在准备 Windows 8 32 位RamOS,请稍侯 ...,,1,%WS%\W.ICO
TEAM ENVI W=%SystemRoot%|ENVI WS=%W%\SYSTEM32
EXEC *%WS%\AUTONUMLOCK.EXE `自动开、关小数字键盘
//SET dbgpart=1 ////调试盘符开关,调试时去除前面 //
@IFEX $%&dbgpart%=1, @TEAM PART -gui -report: &&V| SET &=分区:[%&V%]
@TEAM PART -cdrom list drv C:,&&V| MSTR &&cdn=<1>%&V%| CALC -err=-1 #&cdn=(%&cdn%)+0| IFEX $%&cdn%>=0, SUBJ *- C: `如果 C: 是 CDROM 就删除掉,有一定危险哦
////////////// 先寻找并固定 C:盘 , \bootmgr优先,其次\BOOT.INI //////////////
@TEAM SET &_SysPt=| SET &DrvS=C:| SET &Drv1=
FORX * bootmgr BOOT.INI,&&Tagf,
{ FORX \%&Tagf%,&Drv1,0,
{ FDRV &Drv1=%&Drv1%
@TEAM PART -phy# LIST drv %&Drv1%,&V1| MSTR &Lid1,&&id1,&&hd1=<1><8><10>%&V1%
IFEX $[ %&id1%>=1 & %&id1%<=4 & '%&Drv1%'<>'%&DrvS%' ], @TEAM SUBJ *- %&Drv1%| SUBJ *- %&DrvS%| SHOW * %&hd1%#%&id1%,%&DrvS%
@IFEX $[ %&id1%>=1 & %&id1%<=4 ], @IFEX $%&dbgpart%=1, @TEAM PART -gui -report: &&V| SET &=分区:[%&V%]
IFEX $[ %&id1%>=1 & %&id1%<=4 ], TEAM SET _SysPt=-skippt:%&hd1%:%&Lid1%| EXIT `不要再调整了
}
FIND $%_SysPt%<>, EXIT
}
FIND $[ '%_SysPt%'<>'' & '%&Drv1%'<>'%&DrvS%' ], DISK -check %&_SysPt% ,,,2,,2 `调整固定 C: 盘之后重排一次
@FIND $[ '%_SysPt%'<>'' & '%&Drv1%'<>'%&DrvS%' ], @IFEX $%&dbgpart%=1, @TEAM PART -gui -report: &&V| SET &=分区:[%&V%]
//////////////////////// C:盘 设置完毕 ////////////////////////////////
IFEX $%&cdn%>=0,!! TEAM FDRV *idlec &&Drvs=*:| MSTR &&drv=<1>%&Drvs%| FIND $%&drv%<>, SUBJ * %&drv%,\\.\CDROM%&cdn%
@IFEX $%&cdn%>=0,!! @IFEX $%&dbgpart%=1, @TEAM PART -gui -report: &&V| SET &=分区:[%&V%]
TEAM CALL SetDISK_Y| CALL ADD_UDm `启动扩容 "Y" 盘程序及加载 UDM 深度隐藏分区
TEAM INIT U,3000|CALL RegWCS `关联 WCS 脚本,开启U盘加载服务,监视磁盘/盘符变化
EXEC *%WS%\CTFMON.EXE `开启输入法指示器
_END
_SUB ADD_UDm ///加载 UDM 深度隐藏分区,支持 UDm U+ UD
@IFEX $%&dbgpart%=1, @TEAM PART -gui -report: &&V| SET &=分区:[%&V%]
TEAM DATE &::dbgt2 uptime| CALC &::dbgtu2=(%&dbgt2% - %&dbgt0%)/1000#3
-- TIPS 正在加载UDM分区(%dbgtu2%),请稍侯 ...,60000,1,@L240T40
MOUN -udm -ret: &&UDMRET -findboot: &&btRet -mall -mhide -nbrd -u+ -udfs -udimg: udext.img -checkfile: win8.INI * C-
TEAM DATE &::dbgt3 uptime| CALC &::dbgtu3=(%&dbgt3% - %&dbgt0%)/1000#3| CALC &::dbgtu32=(%&dbgt3% - %&dbgt2%)/1000#3
-- TIPS UDM分区加载完毕,(%dbgtu2%)(%dbgtu3%) 耗用(%dbgtu32%)秒 ...,60000,1,@L240T40
MSTR &&hbd=<1>%&btRet%
FIND $%&hbd%<>-1, MSTR &ExtDrv=<1>%&UDMRET%
---------DEBUG----------
MOUN -udm findboot -ret: &&btRet0
FIND $%&hbd%=-1, SET &bext=不是!SET &bext=是
--btRet0[%btRet0%]
--btRet[%&btRet%] UDMRET:[%&UDMRET%]
------------------------------------------
----%&bext%有效精确启动
------------------------------------------
@IFEX $%&dbgpart%=1, @TEAM PART -gui -report: &&V| SET &=分区:[%&V%]
_END
//////////////////////////////////// 主程序区 ///////////////////////////////////////////
IFEX C:,LOGS * C:\PECMD_81.LOG! LOGS * D:\PECMD_81.LOG `记录启动过程
-----CurFile:[%&CurFile%]
FIND $%&ThisFile%=, SET &ThisFile=%&CurFile%
@DATE &&T
-----&CurFile:[%&CurFile%] [%&T%] &ThisFile[%&ThisFile%]
IFEX %&CurDrv%\WG.81.PECMD.DBG.PART.TXT, SET &dbgpart=1
SET &ExtDrv= //精确启动盘符
TEAM DATE &::dbgt0 uptime
ENVI OnlyOne0=123456789只能一次检测
ENVI OnlyOne=
REGI $HKCU\SOFTWARE\PELONGN\OnlyOne,OnlyOne `从注册表读取运行标志
FIND $%OnlyOne%=%OnlyOne0%, ENVI OnlyOne=1! ENVI OnlyOne=0 `如标志为零表示是首次运行
SET &MyApp=%&MyName%
TEAM SET &MyApp=%&MyName%
EXEC *"%&MyApp%" LOAD "%&ThisFile%"*OnShutdownTask `启动关机杀手
IFEX %SystemRoot%\SetDRV.INI,CALL SetOUTCFG!CALL ADD_MAIN `如果 X:\Windows 目录有 SetDRV.INI,就确定是注销后再次运行
REGI $HKCU\SOFTWARE\PELONGN\OnlyOne=%OnlyOne0% `设置一次性运行标志,避免下次重复执行
LOAD %ProgramFiles%\PE.INI
EXEC %SystemRoot%\System32\PE.CMD
LINK %Desktop%\启用开始菜单,%ProgramFiles%\StartIsBack\StartSetup.CMD,,Shell32.dll#39
`显示隐藏文件,显示扩展名
REGI HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Hidden=#1
REGI HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\SuperHidden=#0
REGI HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\ShowSuperHidden=#1
REGI HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\HideFileExt=#0
EXEC *CMD.EXE /C "%SystemRoot%\System32\madplay.exe -Q %SystemRoot%\Media\Startup.wav" `播放电脑启动音效
FIND $%OnlyOne%=0,TEAM KILL EXPLORER.EXE|EXEC %SystemRoot%\EXPLORER.EXE
FIND $%OnlyOne%=1,
{
TEAM TEXT 系统注销完毕,重新启动中……#0x00FFFF L350 $25
TEAM WAIT 500|KILL EXPLORER.EXE|EXEC %SystemRoot%\EXPLORER.EXE
}
`运行 "MAIN" 命令,接管 Ctrl+Alt+Del 组合键,并创建新进程执行 LOAD 功能
IFEX %SystemRoot%\SYSTEM32\DummyPECMD.INI,! PUTF -dd -len=0 %SystemRoot%\SYSTEM32\DummyPECMD.INI,0,zero
FIND --pid*@. &&VS,%MyNAME0%
FORX *NL &VS,&&VI,
{ MSTR* &&PID,&&cmd=<1><7>%&VI%
FIND $%&cmd%=PECMD MAIN, KILL *%&pid%
}
EXEC "%&MyName%" MAIN %SystemRoot%\SYSTEM32\DummyPECMD.INI
FIND $%OnlyOne%=1,TEAM WAIT 3000 | LOGO
FIND $%OnlyOne%=1,TEAM KILL EXPLORER.EXE|WAIT 2| EXEC %SystemRoot%\EXPLORER.EXE
FIND $%OnlyOne%=0,! FIND CTFMON.EXE,! %SystemRoot%\SYSTEM32\CTFMON.EXE `注销后重新安装输入法指示器
TEAM DATE &::dbgt3 uptime| CALC &::dbgtu3=(%&dbgt3% - %&dbgt0%)/1000#3| CALC &::dbgtu32=(%&dbgt3% - %&dbgt2%)/1000#3
TIPS 系统启动完毕,(%dbgtu2%)(%dbgtu3%)共用时间(%dbgtu32%)秒 ...,80000,1,%WS%\W.ICO
TEAM TEXT| TIPS| ENVI W=| ENVI WS=
/////////////////////////////////////////////////////////////////////////////////////////
LOGS `结束并搬移启动记录
IFEX C:\PECMD_81.LOG,FILE C:\PECMD_81.LOG->%SystemRoot%!IFEX D:\PECMD_81.LOG,FILE D:\PECMD_81.LOG->%SystemRoot% `取消启动过程记录
欢迎光临 无忧启动论坛 (http://bbs.wuyou.net/)
Powered by Discuz! X3.3