ead.php?tid=91524&extra=page%3D1 (修改版)
或:
/viewthread.php?tid=89558&extra=page%3D2 (原版)
③设置程序注册:因PE中的程序均是外挂的,因此PE系统启动时要对某些需要注册的软件进行注册。
如果你添加的工具需要向注册表写入注册信息,请自己写好注册表注册脚本,或者提取 REG 格式的注册表文件,存放到该程序所在的相同目录。
然后在
\Programs\System\RegApp.cmd
这个统一注册脚本中调用即可。比如:
用记事本打开 X:\PROGRAMS\System\RegApp.cmd
仿照如下的格式添加调用你新建的批处理命令:
call %D%\Programs\磁盘工具\WINIMAGE\WINIMAGE.cmd
具体把上述“Programs\磁盘工具\WINIMAGE\WINIMAGE.cmd”中的内容改成你的批处理文件的真实路径即可,“call %D%\”默认不用修改。
注册脚本可以使用 CMD 批处理格式,也可以使用 regedit /s XXX.reg 的注册表自动导入注册的格式,具体可参照下文“注册脚本生成方法”完成注册脚本制作。
注册命令每条分别占一行,可参照现有的命令格式写入,注意路径不要使用本地硬盘上的绝对路径,而必须使用相对路径或者使用上面提供的环境变量!
如果你要删除现有的程序,也请打开上述 RegApp.cmd 调用脚本,查看是否有该程序的注册命令,有则删除。
注册脚本生成方法
1、使用 Regsnap 等在标准的 Windows 环境下跟踪分析出软件要添加到注册表中的内容,然后将注册表修改条目导出,并改写成批处理文件,保存到软件所在的目录中。
比如对 ACDSEE 这各程序的注册信息跟踪后就保存在:
X:\PROGRAMS\图形图像\ACDSEE\ACDSEE.CMD
建 议参照 X:\PROGRAMS\图形图像\ACDSEE 这个程序的保存方式保存你要添加的软件,原则是与主程序集中到相同目录存放(包括可能要用到的图标文件),以便日后维护修改。并参照 其中的 ACDSEE.CMD 这个注册批处理的格式和样式创建你自己应用程序的注册批处理文件。
注意:为了保证 PE 环境和标准 Windows 环境下调用这些脚本都能够运行,因此我们要检测程序所在的实际路径或所在的盘符。
创建批处理时,最前面的两行就是用于检测当前目录位置的,要保留并引用其中的变量:
SET Var0=%0
FOR /f "delims=" %%I in ("%Var0%") do Set OP=%%~dpI
上述两行的作用是通过检测当前批处理所在的路径获得所在分区的盘符,从而在后面的批处理中使用 %OP% 作为外挂程序路径中要使用的所在的分区号。 %OP% 只与所在的盘符相关,与路径无关,因此你的批处理中要在盘符变量 %OP% 后加上详细的路径。比如:
R
EG ADD HKCR\ACDC_JIF\Shell\ACDSEEen\Command /ve /t REG_SZ /d "\"%OP%ACDSEE.EXE\" /v" /f>NUL
上述命令可在注册表中添加一条注册信息。
注意:当上述路