为PE导入注册表信息的诀窍
在为PE添加外置程序时有时需要为添加的程序写入注册表信息,如何能做到这一点呢?下面U盘杀毒专家U盘启动盘笔者就为朋友们介绍介绍。
使用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% 后加上详细的路径。比如:
REG ADD HKCR\ACDC_JIF\Shell\ACDSEEen\Command /ve /t REG_SZ /d "\"%OP%ACDSEE.EXE\" /v" /f>NUL
上述命令可在注册表中添加一条注册信息。
注意:当上述路径检测命令中,Set OP=%%~dpI 时,变量 %OP% 后面不必再添加“\”。如上面的 %OP%ACDSEE.EXE 。
也可使用 Set OP=%%~dI,与上面相比,仅仅是将其中的 ~dpI 改成了 ~dI,此时变量将不扩充到当前路径,而只扩充到当前盘符。因此如果这样使用,你必须在变量后加上程序的完整路径。比如:
%OP%\PROGRAMS\TOTALCMD\RUNTC.EXE
常见问题:
最新文章:
-
我的U盘中蠕虫了,很多重要文件文件被隔离删除了,特别是大学做了4年的党建材料和实验课的文件。感谢楼主,很热心帮我解决问题。太好了文件都找回来了,实验课能继续做下去,党建工作也能继续做了。服务很棒,真心感谢!
-
U盘格式化不了的问题,另外我们的U盘有时候会出现莫名其妙的问题,导致U盘里的文件删除不了,或者删除后之后又出现的问题,这时候就会想到格式化一下来解决,但当格式化的时候提示格式化不了,这些都是U盘不能格式化的故障表现
-
我的U盘中蠕虫了,很多重要文件文件被隔离删除了,特别是大学做了4年的党建材料和实验课的文件。感谢楼主,很热心帮我解决问题。太好了文件都找回来了,实验课能继续做下去,党建工作也能继续做了。服务很棒,真心感谢!