无忧启动论坛

标题: 对于FirPE的PECMD.INI的改造基本上完成了,麻烦帮忙看看有什么可修正或者改进的地方。 [打印本页]

作者: 求道者    时间: 2023-2-5 02:50
标题: 对于FirPE的PECMD.INI的改造基本上完成了,麻烦帮忙看看有什么可修正或者改进的地方。
本帖最后由 求道者 于 2023-2-5 21:05 编辑
  1. // 温馨提示:
  2. //  FirPE内的源代码遵循MPL 2.0开源协议,请勿用作商业用途
  3. //  如需对FirPE进行修改并发布,在发布/宣传页面(包括官方网站)均必须出现显眼的"此作品修改自FirPE"字样并存在FirPE官网的超链接(不得将其故意缩小、添加删除线或放置在二级及以上级菜单/页面内)

  4. TEAM~ thread*
  5. \ // 加载默认壁纸
  6. \ LOGO %WinDir%\web\wallpaper\Windows\img0.jpg ~
  7. \
  8. \ // 初始化 WindowsPE
  9. \ TIPS WinPE初始化,正在初始化,3000,4, ~
  10. \ TEAM EXEC @=%WinDir%\System32\wpeinit.exe |
  11. \ INIT CU |
  12. \ DriveNum ~
  13. \ FIND $0=%&::bX64%,ENVI ProgramFiles(x86)=%ProgramFiles% ~
  14. \
  15. \ // 关闭小键盘(防止不带数字键的笔记本键盘输入错误)
  16. \ NUMK 0 ~
  17. \
  18. \ // 开启数字验证(部分服务需要开启验证)
  19. \ REGI HKLM\SYSTEM\Setup\SystemSetupInProgress=#0 ~
  20. \
  21. \ // 加载网络
  22. \
  23. \ serv netprofm ~
  24. \ serv Wlansvc ~
  25. \ serv Wcmsvc ~
  26. \ TEAM EXEC =!netcfg.exe -e -c p -i MS_NDISWAN |
  27. \ // 开启网络共享服务(有线网卡驱动安装需要)
  28. \ serv Lanmanserver

  29. TEAM~ thread*
  30. \ // 关闭数字验证
  31. \ REGI HKLM\SYSTEM\Setup\SystemSetupInProgress=#1 ~
  32. \
  33. \ // 删除 Desktop.ini
  34. \ IFEX %Desktop%\desktop.ini,FILE %Desktop%\desktop.ini ~
  35. \ IFEX X:\Users\Default\Desktop\desktop.ini,FILE X:\Users\Default\Desktop\desktop.ini ~
  36. \ IFEX X:\Users\Public\Desktop\desktop.ini,FILE X:\Users\Public\Desktop\desktop.ini ~
  37. \ IFEX X:\Users\Administrator\Desktop\desktop.ini,FILE X:\Users\Administrator\Desktop\desktop.ini ~
  38. \
  39. \ // 加载内置软件
  40. \ TIPS WinPE初始化,正在加载内置软件,2000,4 ~
  41. \ HOTK CTRL+ALT+A ~
  42. \ HOTK CTRL+SHIFT+ESC,taskmgr.exe ~
  43. \ HOTK ALT+D,TEAM TIPS WinPE,正在加载本地所有驱动,2000,4 | EXEC !"%ProgramFiles%\Launcher.cmd" loadLocalDriverOfAll ~
  44. \ HOTK ALT+N,TEAM TIPS WinPE,正在加载本地网卡驱动,2000,4 | EXEC !"%ProgramFiles%\Launcher.cmd" loadLocalDriverOfNetwork ~
  45. \
  46. \ // 加载搜狗输入法
  47. \ TEAM EXEC =!"%ProgramFiles%\SogouInput\SogouInput.cmd" |
  48. \ EXEC !ctfmon.exe ~
  49. \
  50. \ LOAD "%ProgramFiles(x86)%\main.ini" ~
  51. \
  52. \ // 应用系统图标资源包(ess)
  53. \ TEAM EXEC =!"%ProgramFiles%\Edgeless\theme_processer\setTheme.cmd" autoESS |
  54. \ // 应用默认主题资源(除了ess,ess在上面被应用)
  55. \ EXEC !"%ProgramFiles%\Edgeless\theme_processer\setTheme.cmd" auto ~
  56. \
  57. \ // 启动桌面
  58. \ TIPS ~
  59. \ WALL %WinDir%\web\wallpaper\Windows\img0.jpg ~
  60. \ REGI HKCU\Software\OpenShell\StartMenu\ShowedStyle2=#1 ~
  61. \ TEAM EXEC ="%ProgramFiles%\Open-Shell\StartMenu.exe" -xml "%ProgramFiles%\Open-Shell\StartMenu.xml" |
  62. \ EXEC "%ProgramFiles%\Open-Shell\StartMenu.exe" ~
  63. \ SHEL %WinDir%\explorer.exe ~
  64. \ LOGO ~
  65. \
  66. \ // 加载WIFI连接程序
  67. \ EXEC %ProgramFiles%\WinXShell\WinXShell.exe -hidewindow -ui -jcfg wxsUI\UI_WIFI.zip ~
  68. \
  69. \ // 设置网络共享密码(WinPE启动后异机可使用 \\本机IP地址\\盘符$ 访问全盘)
  70. \ EXEC !cmd.exe /c "net user administrator 000000" ~
  71. \
  72. \ // 加载文件校验
  73. \ EXEC !Regsvr32 /s "%WinDir%\System32\HashTab.dll" ~
  74. \
  75. \ // 运行IT天空万能驱动及IQIX屏蔽捆绑插件WinPE端
  76. \ EXEC "%ProgramFiles%\Others\itsk.exe" ~
  77. \
  78. \ // 加载ImageView
  79. \ EXEC !"%ProgramFiles%\Others\ImageView\ImageView.cmd" ~
  80. \
  81. \ // 创建硬链接
  82. \ EXEC !cmd /c "MKLINK "%WinDir%\System32\changepk.exe" "%WinDir%\System32\winver.exe"" ~
  83. \ EXEC !cmd /c "MKLINK "%WinDir%\System32\XCMD.exe" "%WinDir%\System32\PECMD.exe"" ~
  84. \ EXEC !cmd /c "MKLINK "%WinDir%\System32\7z.exe" "%ProgramFiles%\7-zip\7z.exe"" ~
  85. \ EXEC !cmd /c "MKLINK "%WinDir%\System32\7z.dll" "%ProgramFiles%\7-zip\7z.dll"" ~
  86. \
  87. \ // 加载开始菜单快捷方式
  88. \ LINK %Programs%\加载插件,"%ProgramFiles%\Edgeless\plugin_loader\plugin_loader.wcs",,"X:\Program Files\Edgeless\plugin_loader\1.ico" ~
  89. \ LINK %Programs%\屏幕键盘,"%WinDir%\System32\osk.exe" ~
  90. \ LINK %Programs%\检测更新,"%WinDir%\About.exe",/UpData ~
  91. \ LINK %Programs%\理顺盘符,"%ProgramFiles%\Others\AutoSwap.cmd",/S ~
  92. \ LINK %Programs%\更改主题,"%WinDir%\System32\PECMD.exe",EXEC! %WinDir%\System32\SwitchTheme.cmd,%WinDir%\SystemResources\imageres.dll.mun#32 ~
  93. \ LINK %Programs%\亮度调整,"%ProgramFiles%\Others\Dimmer\Dimmer.wcs" ~
  94. \ LINK %Programs%\重载外置,"%ProgramFiles%\Launcher.cmd",loadPETools,"X:\Users\Icon\shortcut\refresh.ico" ~
  95. \ LINK %Programs%\管理工具\设置虚拟内存,"%ProgramFiles%\Others\VirtualMemory.wcs" ~
  96. \ LINK %Programs%\管理工具\计算机管理,"%WinDir%\System32\compmgmt.msc" ~
  97. \ LINK %Programs%\管理工具\设备管理器,"%WinDir%\System32\devmgmt.msc" ~
  98. \ LINK %Programs%\管理工具\磁盘管理,"%WinDir%\System32\diskmgmt.msc" ~
  99. \ LINK %Programs%\管理工具\服务,"%WinDir%\System32\services.msc" ~
  100. \ LINK %Programs%\管理工具\计算器,"%WinDir%\System32\calc.exe" ~
  101. \ LINK %Programs%\网络工具\网络管理,"%ProgramFiles%\PENetwork\PENetwork.exe" ~
  102. \ LINK %Programs%\网络工具\宽带拨号,"%WinDir%\System32\rasphone.pbk" ~
  103. \ LINK %Programs%\网络工具\共享访问设置,"%ProgramFiles%\Others\共享访问设置.cmd"

  104. // 加载内置驱动
  105. FORX "%ProgramFiles%\Drives\*.7z",file,0,{
  106.   TEAM NAME fileName=%file% | FDIR fileDir=%file%
  107.   IFEX "%fileDir%\%fileName%.index",EXEC !!DriverIndexer.exe --debug load-driver "%file%" "%fileDir%\%fileName%.index" !EXEC !!DriverIndexer.exe --debug load-driver "%file%"
  108. }

  109. // 自动运行网启脚本
  110. IFEX %WinDir%\System32\PXEAutoRun.cmd,{
  111.   TIPS WinPE初始化,正在运行网启脚本,3000,4,
  112.   EXEC =!%WinDir%\System32\PXEAutoRun.cmd
  113. }

  114. // 兼容 Ventoy
  115. EXEC =!%WinDir%\System32\ventoy.cmd

  116. TEAM thread*
  117. \ // 加载外置组件
  118. \ EXEC !"%ProgramFiles%\Launcher.cmd" loadPETools |
  119. \
  120. \ // 显示自定义鼠标样式提示
  121. \ IFEX X:\Users\RunMSTip,EXEC %WinDir%\System32\0tipMS.wcs |
  122. \ FILE X:\Users\RunMSTip |
  123. \
  124. \ // 加载 Edgeless 插件
  125. \ EXEC !"%ProgramFiles%\Launcher.cmd" |
  126. \
  127. \ // 监视U盘
  128. \ monitorUDisk

  129. _SUB READINI
  130.   ENVI^ EnviMode=1
  131.   ENVI &MAX_LENGTH=512    //一般长度不会超过512吧,可以自己设置。
  132.   SET$# &plpReturnedStrings=*%&MAX_LENGTH% 0
  133.   CALL $--qd --bool --ret:&&GetPrivateProfileStringWRet Kernel32.dll,GetPrivateProfileStringW,$%1,$%2,$GetPrivateProfileStringWRet_Failed_PECMD2012,*&&plpReturnedStrings,#%&MAX_LENGTH%,$%3
  134.   SET-make &lpReturnedStrings=&&plpReturnedStrings;(%&&GetPrivateProfileStringWRet%*2)
  135.   ENVI-ret &INI_V=%&lpReturnedStrings%
  136. _END

  137. _SUB DriveNum
  138.   FORX \FirPE\FirPE.ini,&INI_P,1,{
  139.     READINI 程序 自动理顺磁盘 %&INI_P%
  140.     IFEX $%&INI_V%=1,{
  141.       TEAM SHOW -check -1:-1 | DISK -check ,,,,?:,0x20
  142.     }
  143.     IFEX $%&INI_V%=2,{
  144.       TEAM SHOW -check *F:0 | DISK -check ,,,4,?:,0x20
  145.     }
  146.   }
  147. _END

  148. _SUB monitorUDisk,#
  149.   ENVI @this.MSG=_0x0219::&&wp,&&lp,monitorHandle
  150. _END

  151. _SUB monitorHandle
  152. // 插入U盘
  153. IFEX #%&wp%=0x8000,
  154. {*
  155. PART list disk,&diskCount
  156. FIND ! $%&diskCount%=,
  157. {*
  158. FORX * %&diskCount%,&diskNum,
  159. {*
  160. PART list disk %&diskNum%,diskType
  161. MSTR currentType=<9>%diskType%
  162. IFEX #%currentType%=7,
  163. {*
  164. PART list part %&diskNum%,&partitionNum
  165. FORX * %&partitionNum%,¤tPartitionNum,
  166. {*
  167. PART list part %&diskNum%#%¤tPartitionNum%,&diskInfo
  168. MSTR Udrive=<8>%&diskInfo%
  169. IFEX %Udrive%,
  170. {*
  171. // 重载外置
  172. EXEC !"%ProgramFiles%\Launcher.cmd" loadPETools
  173. }
  174. }
  175. }
  176. }
  177. }
  178. }
  179. // 拔出U盘
  180. IFEX #%&wp%=0x8004,{*
  181. }
  182. _END
复制代码



理顺盘符放在wpeinit.exe和INIT后面正好吧?
我记得这两个都是会给分区分配盘符。

  1. EXEC =!%WinDir%\System32\ventoy.cmd
复制代码

这个需要等待吗?

作者: “6号”    时间: 2023-2-5 08:41
我看不懂,但是支持一下
作者: zp1688    时间: 2023-2-5 10:40
我看不懂,但是支持一下
作者: 879792799    时间: 2023-2-5 13:33

我看不懂,但是支持一下
作者: pio9999    时间: 2023-2-5 14:36
不懂,但是支持一下
作者: zyy    时间: 2023-2-10 23:44
看看
作者: yunzhu    时间: 2023-2-19 16:46
我看不懂,但是支持一下




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