JavaScript修改注册表详解

来自森大科技官方博客
http://www.cnsendblog.com/index.php/?p=245
GPS平台、网站建设、软件开发、系统运维,找森大网络科技!
http://cnsendnet.taobao.com

 

本实例主要通过WshShell 对象的相关方法实现。WshShell对象是WSH(WSH是Windows Scripting Host的缩写,内嵌于Windows操作系统中的脚本语言工作环境)的内建对象,主要负责程序的本地运行、处理注册表、创建快捷方式、获取系统文件夹信息及处理环境变量等工作。 WshShell 对象的相关方法如表11.1所示。

本实例中主要应用了 RegWrite方法,下面将对该方法进行详细介绍。

RegWrite方法用于在注册表中设置指定的键或值,其语法格式如下:

WshShell.RegWrite strName, anyValue, [strType]

参数说明

l     strName:用于指定注册表的键或值,若strName以一个反斜杠 (在JavaScript中为//) 结束,则该方法设置键,否则设置值。strName 参数必须以根键名“HKEY_CURRENT_USER”、 “HKEY_LOCAL_MACHINE”、“HKEY_CLASSES_ROOT”、“HKEY_USERS”或 “HKEY_CURRENT_CONFIG”开头。

l     AnyValue:用于指定注册表的键或值的值。当strType为REG_SZ或REG_EXPAND_SZ时,RegWrite方法自动将 anyValue转换为字符串。若strType为REG_DWORD,则anyValue被转换为整数。若strType为REG_BINARY,则 anyValue必须是一个整数。

l     StrType:用于指定注册表的键或值的数据类型。RegWrite方法支持的数据类型为REG_SZ、REG_EXPAND_SZ、 REG_DWORD和REG_BINARY。其他的数据类型被作为strType传递,RegWrite 返回 E_INVALIDARG。

实现过程

(1)编写自定义JavaScript函数PageSetup_del()和PageSetup_set(),用于实现清空页眉页脚和恢复页眉页脚的功能。具体代码如下:

复制代码
<script  language="JavaScript">  
var HKEY_RootPath="HKEY_CURRENT_USER//Software//Microsoft//Internet Explorer//PageSetup//";
function PageSetup_del(){       //清空页眉页脚
 try{
    var WSc=new ActiveXObject("WScript.Shell");
    HKEY_Key="header";
    WSc.RegWrite(HKEY_RootPath+HKEY_Key,"");
    HKEY_Key="footer";
    WSc.RegWrite(HKEY_RootPath+HKEY_Key,"");
   }catch(e){}
}
function  PageSetup_set(){   //恢复页眉页脚
 try{
    var WSc=new ActiveXObject("WScript.Shell");
    HKEY_Key="header";
    WSc.RegWrite(HKEY_RootPath+HKEY_Key,"&w&b页码,&p/&P");
    HKEY_Key="footer";
    WSc.RegWrite(HKEY_RootPath+HKEY_Key,"&u&b&d");
 }catch(e){}
}
</script>
复制代码

(2)建立HTML的Object标签,调用WebBrowser控件,代码如下:

<object id="WebBrowser" classid="ClSID:8856F961-340A-11D0-A96B-00C04Fd705A2" width="0" height="0">

</object>

(3)创建“清空页眉页脚”和“恢复页眉页脚”的超级链接,并调用自定义函数PageSetup_del()和PageSetup_set()实现相应功能。代码如下:

<a href="#" onClick="PageSetup_del()">清空页眉页脚</a>

<a href="#" onClick="PageSetup_set()"> 恢复页眉页脚 </a>

(4)建立相关的打印超级链接,并调用WebBrowser控件的相应参数实现打印预览、打印等功能。代码如下:

<a href="#" onClick="document.all.WebBrowser.Execwb(7,1)">打印预览</a>

 <a href="#" onClick="document.all.WebBrowser.Execwb(6,1)">打印</a>

 <a href="#" onClick="document.all.WebBrowser.Execwb(6,6)">直接打印</a>

 <a href="#" onClick="document.all.WebBrowser.Execwb(8,1)">页面设置</a>

举一反三

根据本实例,读者可以:

  实现在任何打印页面中添加设置页眉页脚功能;

  实现自定义页眉页脚的内容功能。

 

来自森大科技官方博客
http://www.cnsendblog.com/index.php/?p=245
GPS平台、网站建设、软件开发、系统运维,找森大网络科技!
http://cnsendnet.taobao.com

posted on   森大科技  阅读(197)  评论(0编辑  收藏  举报

编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示