拿我自身负责的项目举个例子。
前提:项目中用到一些前端的ActiveX控件支持。比如在jsp界面中需要调取某个控件的方法执行一些业务逻辑。在项目中是一个执行打印的操作。首先先获取到这个控件。如下图:
CocPrint是一个ocx的控件。需要先在计算机系统上安装,在执行这段代码的时候出现不能创建对象的异常情况。是因为IE浏览器中的安全级别设置没有进行调整,IE就是不让用户使用这个控件,你说生气不。因此需要进行调整IE安全级别设置。于是出了个IE安全级别设置操作手册。但是用户说操作太复杂,你说生气不。因此想了个办法,在脚本中,来执行调整IE安全级别的自动设置。流程如下:
新建xxxx.bat文件。用笔记本格式(我本地使用的是Notepad++)打开。然后写入格式为REG ADD "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\3" /v "2400" /t REG_DWORD /d 0x00000000 /f > nul 的信息,即可运行成功。接下来详细解释一下这段话的含义。
HKEY_CURRENT_USER指的是当前登录用户,此设置不会影响到其它登录的账号。
Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\3为关键字的路径。最后的3就比较有意思,具体解释为:计算机定义的每个安全区域的项:Zones 。默认情况下,定义5个区域(编号从0到4:0:我的电脑;1:本地Intranet区域;2.受信任的站点区域;3.Internet区域;4.受限制的站点区域)。如下图:
2400为需要设置的选项代号。比如2400表示 xaml 浏览器应用程序。
设置为0x00000000则将具体操作设置为允许;设置为0x00000001则导致出现提示;设置为0x00000003则禁止执行具体操作。
讲解已经结束。接下来直接贴脚本代码, 我是直接把Internet选项中的安全里的4个安全设置全部都改了。 我将注释信息也写进代码中了,方便理解。脚本名称为IE_config.bat。代码如下:
@ECHO OFF
ECHO 欢迎使用 开始系统设置...
ECHO 该设置不会对您的电脑使用带来影响
ECHO ---设置IE信任区域中...
REM 注释:首先介绍计算机定义的每个安全区域的项:Zones 。默认情况下,定义5个区域(编号从0到4:0:我的电脑;1:本地Intranet区域;2.受信任的站点区域;3.Internet区域;4.受限制的站点区域)
REM 注释:其中HKEY_CURRENT_USER指的是当前登录用户,此设置不会影响到其它登录的账号。
REM 注释:Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\3为关键字的路径,根据之前关于Zones选项的解释,此路径不难看懂(末位3代表什么请看注释第一行括号内)。
REM 注释:通常,设置为0x00000000则将具体操作设置为允许;设置为0x00000001则导致出现提示;设置为0x00000003则禁止执行具体操作。
REM 注释:2400为需要设置的选项代号。
REM 3:Internet区域
REM .NET Framework
REM 2400 xaml 浏览器应用程序
REG ADD "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\3" /v "2400" /t REG_DWORD /d 0x00000000 /f > nul
REM 2401 xps 文档
REG ADD "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\3" /v "2401" /t REG_DWORD /d 0x00000000 /f > nul
REM 2402 松散 saml
REG ADD "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\3" /v "2402" /t REG_DWORD /d 0x00000000 /f > nul
REM .NET Framework 相关组件
REM 2007:带有清单的权限的组件
REG ADD "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\3" /v "2007" /t REG_DWORD /d 0x00000000 /f > nul
REM 2004:运行未用 Authenticode 签名的.NET组件
REG ADD "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\3" /v "2004" /t REG_DWORD /d 0x00000000 /f > nul
REM 2001:运行已用 Authenticode 签名的.NET组件
REG ADD "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\3" /v "2001" /t REG_DWORD /d 0x00000000 /f > nul
REM ActiveX 控件和插件
REM 2201:ActiveX 控件自动提示
REG ADD "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\3" /v "2201" /t REG_DWORD /d 0x00000000 /f > nul
REM 1405:对标记为可安全执行脚本的 ActiveX 控件执行脚本*
REG ADD "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\3" /v "1405" /t REG_DWORD /d 0x00000000 /f > nul
REM 1201:对没有标记为安全的 ActiveX 控件进行初始化和脚本运行
REG ADD "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\3" /v "1201" /t REG_DWORD /d 0x00000000 /f > nul
REM 2000:二进制和脚本行为
REG ADD "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\3" /v "2000" /t REG_DWORD /d 0x00000000 /f > nul
REM