首 页 网络编程
网页制作 图形图象 操作系统 冲浪宝典
软件教学 认证考试

网络安全 网络办公 行业资讯 评测对比
您当前位置:站长天空 -> 认证考试-> Java认证
一步一步教你用js和inf编辑注册表
作者:网友供稿 点击:24
推荐
西部数码-全国虚拟主机10强!20余项虚拟主机管理功能,全国领先!第6代双线路虚拟主机,南北访问畅通无阻!可在线rar解压,自动数据恢复设置虚拟目录等.免费赠送访问统计,企业邮局.Cn域名注册10元/年,自助建站480元起,免费试用7天,满意再付款!P4主机租用799元/月.月付免压金
站内搜索
文章页数:[1] 

  文/小军

  JScript小知识:JScript是一种解释型的、基于对象的脚本语言。尽管与C++这样成熟的面向对象的语言相比,JScript的功能要弱一些,但对于它的预期用途而言,JScript的功能已经足够大了。JScript程序是语句的集合,一条Jscript语句相当于英语中的一个完整句。Jscript语句将表达式组合起来,完成一个任务。一条语句由一个或多个表达式、关键字或者运算符(符号)组成。典型地,一条语句写一行,尽管一条语句可以超过两行或更多行。两条或更多条语句也可以写在同一行上,语句之间用分号“;”隔开。通常,每一新行开始一条新语句,分号(;)是JScript语句的终止字符。


    一、用JS编辑注册表


    事实上,JS的主体和VBS文件差不多,就是结构有一点不同而已!所以我们就不多说了。下面是个用JS编辑注册表的简单例子:


var WSHShell=WScript.CreateObject("WScript.Shell");
WSHShell.Popup ("这是一个用JS编辑注册表的例子By yjj");
WSHShell.RegWrite("HKLM\Example_JS", "String Key_JS");
WSHShell.RegWrite("HKLM\Example_JS", "Reginfo By yjj");
WSHShell.RegWrite("HKLM\Example_JS\Value","String Key For JS");
WSHShell.RegWrite("HKLM\Example_JS\Binary", 1,"REG_BINARY" );
WSHShell.RegWrite("HKLM\Example_JS\Dword", 1,"REG_DWORD" );
WSHShell.RegWrite("HKLM\Example_JS\Next","NewData");
WSHShell.Run("Regedit");


    上面这些代码中第一句是定义对象,第二句用来显示一条信息,后面几行写注册表,最后一行运行注册表编辑器。大家可以看出用JS对键值进行操作时要用两斜杠“\”,并且要用“;”表示结束。一般只要能注意这两点,就没有问题了。


    再来看一个用JS编辑注册表的例子。大家知道,浏览某些恶意网页会把我们的注册表给禁用了,由于无法导入注册表文件,造成我们没有办法使用注册表编辑器。把下面的代码存为以js为后缀名的任意文件,然后双击就可以将其导入注册表中,从而给注册表解锁:


VAR WSHShell=WSCRIPT.CREATOBJEt("WSCRIPT.SHELL");
WSHShell.Popup("这是一个用JS编辑注册表的例子By YJJ");
//下面的例子要在注册表中建立一个Dword值,名为DisableRegistryTools,值为0,注意要说明值的类型!
WSHShell.RegWrite("HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\system
\DisableRegistryTools", 0,"reg_dword");


    试试看,是不是很神奇啊?以上说的都是添加键值,如果要删除某些键值该怎么办呢?很简单,将“WSHShell.RegWrite”改成“WSHShell.RegDelete”就可以了。


    注意:JScript不是其他语言的精简版,也不是任何事物的简化。不过,它有其局限性。例如,您不能使用该语言来编写独立运行的应用程序,并且没有对读写文件的内置支持。此外,JScript脚本只能在某个解释器或“宿主”上运行,如ASP、Internet浏览器或者Windows脚本宿主。

    二、用INF文件编辑注册表

    INF小知识:INF是用于安装驱动程序的文件,它是文本格式的,记录着驱动程序的所有相关资料。随便打开一个INF文件可以看到许多项,每一项都有特定的含义,比如从“Version”一项就可以看出支持的Windows版本是什么:Win9X系列的代号就是CHICAGO,Win2000/XP的代号就是Windows NT。

    让我们来举个例子。首先打开记事本,然后在里面输入下面内容,然后保存为addreg.inf。

[Version]
Signature="$CHICAGO$"

[DefaultInstall]
Addreg=Add

[Add]
HKLM,"SOFTWARE\★★小军★★",,%REG_SZ%,★★小军向你表示祝贺★★!
HKLM,"SOFTWARE\★★小军★★",SZ字符串,%REG_SZ%,Congratulations!
HKLM,"SOFTWARE\★★小军★★",Dword双字节,%REG_Dword%,1
HKLM,"SOFTWARE\★★小军★★",Binary二进值,%REG_BINARY%,00,00,00,00,10,11,00,00
HKLM,"SOFTWARE\★★小军★★\测试";添加“测试”这个下级子键

[Strings]
REG_SZ=0x00000000
REG_BINARY=0x00000001
REG_DWORD=0x00010001

    鼠标右键点击这个INF文件,选择快捷菜单中的“安装”命令,如果你输入的格式没有错误的话,应该在HKEY_LOCAL_MACHINE\Software下面看到一个新的主键:★★小军★★,选中这个主键,应该可以在右边看到默认值为“★★小军向你表示祝贺★★!”,还有一个叫做“SZ字符串”的字符串值为“Congratulations!”等等。

    展开这个主键,还可以看到另外一个主键,名为“测试”,是不是感到很奇怪啊?其实这一招并不神秘,就是那个INF文件捣的“鬼”!

    由上可知,INF文件是由各个小节(Section) 组成,各小节之间必须空一行。小节的名字从中括号“[”起至“]”结束,小节的名字是它的入口点,在此文件中必须是唯一的。小节名之后是小节内容,形式上是“键名称=键值”。在文件中可以添加注释,由分号“;”完成,分号后的内容不被解释执行。书写INF文件的格式如上所示,其各项含义如下:

[Version]:指明能够使用的Windows版本
Signature:系统从这里来看是不是适合当前版本,如果适合的话就执行,否则不执行。
[DefaultInstall]:指出该INF文件包含的其他小节。可将INF文件看成是以[DefaultInstall]为主干的树,在这儿我们可以加入AddReg和DelReg键,它们指定希望添加,编辑,修改或是删除注册表项的小节名称。
Addreg=add:表示在注册表中添加内容,此项就指定了要添加的⒉岜硇∠畹母鞒疲芯咛逄砑雍蜕境畔⒌男〗诰褂美嗨聘袷饺缦拢?/font>

HKEY(根键缩写),Subkey(子键),Valuename(键值名),Type(键值类型),Value(键值)

    其中根键缩写方式很明了,前两个字符必须为HK,如HKEY,HKLM,HKR等。子键为不包括根键部分的子键分支,键值为空就表示是默认值。键值类型中,如果为0则指定为字符串型,如果为1则是二进制型。键值中的字符串形式的必须以双引号括起来,而二进制数据则使用十六进制格式表示出来,各字节之间以逗号“,”分割。

Delreg=del:表示在注册表中要删除的内容
[Strings]:是扩充用的,这样就可以避免记忆麻烦的数字了。比如字符串本来应该是0,现在用REG_SZ表示。

   基本原理就这些,现在我们来删除刚刚我建立的东西。在记事本里面粘贴下面内容:

[Version]
Signature="$CHICAGO$"

[DefaultInstall]
Delreg=Del

[Del]
HKLM,"SOFTWARE\★★小军★★\测试"
HKLM,"SOFTWARE\★★小军★★"

    然后保存为扩展名为.INF的任意文件,用鼠标右键点击这个INF文件,选择快捷菜单中的“安装”命令,然后再到注册表编辑器里面看看,是不是刚刚建立的东西没有了。怎么样?很神奇吧?

    也许有人会问,能不能只删除一项呢?可以的。比如我删除HKEY_LOCAL_MACHINE\★★小军★★下的那个叫做“SZ字符串”的字符串值,那么只需要用记事本写下面内容:

[Version]
Signuture="$CHICAGO$"

[DefaultInstall]
Delreg=Del

[Del]
HKLM,"SOFTWARE\★★小军★★",SZ字符串

    保存完毕,按照同样的方法运行即可只删除这个字符串值。

    现在,我们再举个用INF文件对注册表进行操作的例子,具体说来就是用INF文件对加了锁的注册表进行解锁。何为加了锁的注册表?大家知道,要禁止别人使用注册表编辑器,可以使用下面这个办法:在注册表HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVerssion\policies\system下,新建DWORD值Disableregistrytools,并设其键值为1即可。这样,当有人运行注册表编辑器时就会出现“注册编辑已被管理员所禁止”的对话框,限制了别人使用注册表编辑器,在一定程度上保护了系统的安全。

    但是当自己要使用注册表编辑器时该怎么办呢?我们可以用记事本编制个INF文件进行解锁:

[Version]
Signature="$CHICAGO$"

[DefaultInstall]
Delreg=Del

[Del]
HKCU,"Software\Microsoft\Windows\CurrentVersion\Policies\System",
Disableregistrytools,1,00,00,00,00

    将上面的内容保存为后缀名为.inf的任意文件,然后用右键点击它,在弹出菜单中选择“安装”即可给注册表解锁。

    请大家特别注意:采用此方法修改注册表危险度很高,而且格式要求也很严(必须使用英文标点符号,而且。请按照本文中的格式书写),望大家小心使用。好了,就先谈这么多,由于水平有限,不当之处请大家批评指正。


文章整理:站长天空 网址:http://www.z6688.com/
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

文章页数:[1] 


放大字体显示 缩小字体显示 打印文章 推荐给朋友
热门文章
·用C#制作一个最简单的Web Service-.NET教程,Web Service开发
·如何获取当前程序文件的路径 Current Path-.NET教程,Asp.Net开发
·如何在DataGrid里面产生滚动条-.NET教程,数据库应用
·jsp生成html--writehtml-JSP教程,Jsp/Servlet
·调用ie内置打印组件完成web打印方案及例程
·DataGrid的列操作个人总结-ASP教程,数据库相关
·利用Java Applet编程实现动画特技-JSP教程,Java技巧及代码
·如何开始学习JSP(转)-JSP教程,Jsp/Servlet
·将阿拉伯数字日期转换为中文数字日期格式(ASP)-ASP教程,数据库相关
·用C#开发PocketPC数据库应用程序-.NET教程,C#语言
最新文章
·用photoshop扭曲滤镜将平原变成丘陵_photoshop教程
·冯英健:赞成小的个人网站通过联盟赚钱_网赚技巧
·当乐网肖永泉:赚并快乐着_站长访谈
·dnspod声仔:年少轻狂,差点当黑客_站长访谈
·王丽犁:成功运营成人用品网站的80后mm_站长访谈
·个人站点提高访问量谋略2_站长心得
·创建有意义的google排名链接人气度(链接数)_google推广
·网站推广:不可不知的5个关键_站长心得
·seo中对标题的细节处理_seo网站优化
·最实用简单的seo秘籍 cms+seo_seo网站优化
相关主题
  • 一步一步教你做 参加msn与雅虎通互通测试_联络聊天
  • 西部数码虚拟主机

    友情链接
    CNNIC 西部数码
    万网 自助建站
    虚拟主机 asp空间
    域名注册 域名
    域名申请 主页空间
    论坛空间 网站空间
    国际域名 虚拟空间
    空间租用 DDOS防火墙
    成都主机托管 四川主机托管
    主机租用 服务器租用
    网站目录 自助建站
    虚拟主机 网址大全
    软件下载
    自助链接
    虚拟主机资讯 特价虚拟主机
    版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!
    关于我们:站长天空:专业提供最新的站长资讯、在线教程、虚拟主机权威评测、虚拟主机性能对比、网站制作教程,开发教程,站长工具。包括网页制作教程、冲浪宝典、编程参考、操作系统、软件教学、行业动态等。
    特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
    发表评论 打印  刷新     关闭