开发应用程序或系统,有时会引用自定义封装的(DLL)类库或(OCX)第三方控件,当对外发布时,需将上述文件一并打包发布,并对文件进行注册,不然会导致应用程序或系统无法正常运行。
但如果DLL或OCX文件较多,逐一进行手动注册,是件非常麻烦事情,也不利于我们对外发布自己的程序或系统。这就需要我们通过一些方法来实现对DLL或OCX文件的批量、快速注册。
实现DLL、OCX批量注册的方法很多,如:编写BAT批处理文件注册、编译EXE文件注册、通过打包发布工具批量注册,也可通过第三工具来实现等。
下面就详细介绍编写BAT批处理文件,来自动完成对DLL及OCX进行批量注册的方法。
一、建立(DLL)注册BAT文件。(假定有:my.dll、my.ocx两个需要注册文件)
1、在DLL或OCX同一目录下,点右键,在快捷菜单中点选 [文本文件] 新建一个文本文件。
2、重命名,并将后缀名txt改为bat,更后文件名为:RegDLL.bat(你可以自定义)。
说明:如看不到后缀名,可以任意窗口菜单中点选 [工具]—[文件夹选项],在“文件夹选项”对话框中点 [查看] 页,在 [高级设置] 中,将 [隐藏已知文件类型扩展名] 的钩选去掉,就可以看到文件扩展名了。
3、选中新建的BAT文件,点击右键,在弹出的快捷菜单中点选 [编辑] ,进入BAT文件的编辑状态。
4、在编辑窗口输入以下内容,输入完后点 [保存] 并关闭退出BAT文件编辑。运行就能完成注册了。
'表示运行bat时不显示命令运行
@echo off
'通过regsvr32对DLL或OCX进行注册,参数 /S不显示注册成功窗口
regsvr32 /s my.dll
regsvr32 /s my.ocx
说明:编辑好的BAT文件需和DLL文件放在同一目录下运行,如不在同一目录下,需指定DLL或OCX的完整路径。
4.1关于Regsver32.exe用法及参数说明:
RegSvr32.exe 具有以下命令行选项:
Regsvr32 [/u] [/n] [/i[:cmdline]] dllname
/u - 取消注册服务器
/i - 调用 DllInstall,为其传递一个可选 [cmdline];当与 /u 一起使用时,可调用 dll 卸载
/n - 不调用 DllRegisterServer;此选项必须与 /i 一起使用
/s - 静默;不显示任何消息框(在 Windows XP 和 Windows Vista 中附加)
4.2关于反注册BAT的方法:
在之前编辑的注册BAT基础上略做修改,即加入 /u 参数,就可以制作成反注册BAT。
二、BAT文件加密方法。
通常为了不让其他人,通过文本编辑器修改或查看到我们BAT的内容,我们可以通过第三方软件将BAT文件编译成EXE文件(该工具可以到本人专栏中下载),还有一种最为简便的方法,如下:
通过文本编辑打开需要加密BAT文件,在其中加入如下蓝色部分文本。
%%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a
@echo off
regsvr32 /s my.dll
regsvr32 /s my.ocx
点保存后退出,当我们再用编辑器打开该BAT内容,你就会发现内容已被加密为乱码,如下图:
说明:原行命令中每行命令最后不能留空,否则无法正常加密。
BAT样本及WORD文稿:点击下载此附件
相关工具可以本人专栏下载:
1、BAT加密解密工具
2、BAT转EXE工具
江羽 2010-10-20晚