大雀软件园

首页 软件下载 安卓市场 苹果市场 电脑游戏 安卓游戏 文章资讯 驱动下载
技术开发 网页设计 图形图象 数据库 网络媒体 网络安全 站长CLUB 操作系统 媒体动画 安卓相关
当前位置: 首页 -> 技术开发 -> 其他相关 -> 用VBScript实现对Windows注册表的修改

用VBScript实现对Windows注册表的修改

时间: 2021-07-31 作者:daque

前 言  赫赫有名的wsh传闻过吗? 它即是windows script host的缩写情势,wsh是windows平台的剧本训令,它的功效格外宏大,而且它仍旧运用语法构造大略、易学易用且功效宏大的jscript和vbscript剧本谈话,来实行其特出的功效的,除去正文引见的窜改备案表除外,它还不妨考察excel文献,也能与搜集勾通,固然它最大的上风莫过于它能与操纵体例勾通,而窜改备案表不过它与操纵体例勾通的冰排一角。恰是它有如许诸多的便宜与适用性,正倍受很多windows用户的喜爱,正文就为大师引见一二,让诸位领会一下wsh的风度。

  用vbscript编写的wsh步调文献的扩充名为.vbs,该剧本步调在窗口界面是由wscript.exe文献证明实行的,在字符界面是由cscript.exe文献证明实行的,吩咐方法为:cscript filename.vbs  创造东西

  用vbscript窜改备案表,必需先创造一个能于操纵体例勾通的东西,再运用该东西的百般本领对备案表举行操纵,创造这个东西的本领和方法如次:

   dim operationregistry   set operationregistry=wscript.createobject("wscript.shell")

  上述那些代码就创造了一个能与操纵体例勾通的东西operationregistry  东西的本领  有了之上这个东西,并不即是就能赶快对备案表举行操纵,咱们还必需弄清该东西对备案表举行操纵的几种要害本领.

   1.对备案表的读操纵regread   2.对备案表的写操纵regwrite   3.对备案表的删操纵regdelete

   弥补一点,wsh再有两个通用的本领:   wscript.echo()用来表露一串文本消息,十分于vb中的msgbox()。   wscript.quit()用来退出vbscript步调。  本领的参数  对于之上三种操纵regread,regwrite,regdelete都须要带参数举行,而且那些操纵的参数的个数和情势又不尽沟通,底下我就把它们的一个共通且必不行少的参数讲一下:

  该参数可称作是"路途参数",它囊括根键,主键路途和键值,各局部表白的本领如次:

  根键:  根键有两种表白本领。  本领一:径直用它在备案表中的字符串来表白,如:  hkey_classes_root,hkey_current_user等  本领二:用缩写的四个假名来表白,前两个为hk,后两个即为根键单词的首假名。如:  根键hkey_classes_root表白为:hkcr, 根键hkey_current_user可表白为:hkcu等。

  主键路途:  主键路途即是目的键在备案表中的主键场所,各个主键之间用"\"符分割开。如:"software\microsoft\windows\currentversion\policies\"  键值:  键值参数径直接在主键路途之后。比方一个完备的路途如次所示:  "hkcr\software\microsoft\windows\currentversion\policies\norun"  本领详解  1、regread操纵详解  读操纵regread主假如用来读取备案表中主键的默许值或键值的数据,咱们不妨将读得的数据送给相映的变量中,再运用vb中的msgbox()因变量将该数据表露出来,这就到达了读取备案表中数据的手段(也不妨运用东西operationregistry的本领popup()将读取的数据送至屏幕), 比方:

   'read.vbs(将以次代码存为read.vbs文献)   dim operationregistry   set operationregistry=wscript.createobject("wscript.shell")   dim read_data1,read_data2   read_data1=operationregistry.regread("hkcr\.xxf\")   '读取根键hkey_classes_root之下的.xxf主键的默许值,并将该数据送至变量read_data1   read_data2=operationregistry.regread("hkcr\.xxf\value")   '读取.xxf主键之下的value键值的数据,并将该数据送至变量read_data2   msgbox("default="&read_data1&" value="&read_data2)   '将读取的数据表露出来

  2、regwrite操纵详解  写操纵regwrite主假如用来在备案表中兴建主键或键值,并要付与给它们一个初始值,该操纵同样不妨对备案表中以生存的主键或键值举行数据的窜改,所以写操纵的参数构造就比读操纵要搀杂少许,它不只要路途参数,还要一个初始值和典型参数.

  先来看初始值参数,该参数对于写操纵来说是必不行少的,它不妨为空(null)但却不许省掉。在兴建主键时,初始值参数就赋给了该主键的默许值,在兴建键值时,初始值参数就成了兴建键值的初始数据.而初始值的典型,则是由典型参数确定的.典型重要有以次三种:

[page_break](1)reg_sz:字符型.该典型为缺省典型  (2)reg_dword:双字节型.  (3)reg_binary:二进制型.  之上三种典型第1种和第2种用得最多,第3种典型在某些场所不妨用第2种加以代替,这三种典型的赋值本领如次:  对于reg_sz型:径直用字符串付与,如"text","string"等  对于reg_dword型和reg_binary型则有两种赋值办法  i)径直用十进制的数表白,如:0,1等.  ii)用十六进制的数表白,如:0x12,0xff等. 看例:

'write.vbsdim operationregistryset operationregistry=wscript.createobject("wscript.shell")default=operationregistry.regread("hkcr\")'获得一个空值 (null)  operationregistry.regwrite "hkcr\.xxf\",default'在根键hkey_classes_root之下兴建主键.xxf,并置其默许值为空  operationregistry.regwrite "hkcr\.xxf\","xxffile"'在根键hkey_classes_root之下兴建主键.xxf,并置其默许值?quot;xxffile"  operationregistry.regwrite "hkcr\.xxf\value1","string"'在主键.xxf之下兴建一个字符串型键值value1,并置其初始值为"string"  operationregistry.regwrite "hkcr\.xxf\value2",1,"reg_dword"'在主键.xxf之下兴建一个reg_dword型键值value2,并置其初始值为1  operationregistry.regwrite "hkcr\.xxf\value3",0xff,"reg_binary"'在主键.xxf之下兴建一个二进制型键值value3,并置其初始值为十六进制的ff

  3、regdelete操纵详解  简略操纵regdelete主假如用来简略备案表中已生存的主键或键值,该操纵是一种极端伤害的操纵,它能将主键或键值绝不包容的在备案表中“砍掉”,不管该键值底下有多要害的数据,它都能畅行无阻,所以在运用该操纵时必须提防。

  简略操纵的参数情势与读操纵的参数情势简直实足沟通,不过有一点小小的辨别,那即是简略操纵不须要将操纵的归来值送给某一变量,比方:

'delete.vbsdim operationregistryset operationregistry=wscript.createobject("wscript.shell")operationregistry.regread("hkcr\.xxf\value")'简略.xxf主键之下的value键值operationregistry.regread("hkcr\.xxf\")'简略根键hkey_classes_root之下的.xxf主键

  夸大一点,不要变动备案表中已生存的主键或键值,更不要将它们简略,由于对备案表举行了不妥的写操纵或删操纵,情景重要的会引导体例解体!即使你真想这么做,那就请你作好备案表的备份。  运用范例  1、课本机“计划机名”'readcomputername.vbsdim readcomputernameset readcomputername=wscript.createobject("wscript.shell")dim computername,regpathregpath="hklm\system\currentcontrolset\control\computername\computername\computername"computername=readcomputername.regread(regpath)msgbox("计划机名为"&computername)

  2、湮没赶快办法图标上的小箭镞'hidden.vbsdim hiddenarrowiconset hiddenarrowicon=wscript.createobject("wscript.shell")dim regpath1,regpath2regpath1="hkcr\lnkfile\isshortcut"regpath2="hkcr\piffile\isshortcut"hiddenarrowicon.regdelete(regpath1)hiddenarrowicon.regdelete(regpath2)

  3、变革“发端”菜单'changestartmenu.vbsdim changestartmenuset changestartmenu=wscript.createobject("wscript.shell")regpath="hkcr\software\microsoft\windows\currentversion\policies\"type_name="reg_dword"key_data=1  startmenu_run="norun"startmenu_find="nofind"startmenu_close="noclose"  sub change(argument)changestartmenu.regwrite regpath&argument,key_data,type_namemsgbox("success!")end sub  call change(startmenu_run) '禁止使用“发端”菜单中的“运转”功效call change(startmenu_find) '禁止使用“发端”菜单中的“搜索”功效call change(startmenu_close) '禁止使用“发端”菜单中的“封闭体例”功效

  4、向windows中增添自启用步调  该步调能在开机时机动运转。'addautorunprogram.vbs'假如该步调在c:\myfile文献夹中,文献名为autorun.exedim autorunprogramset autorunprogram=wscript.createobject("wscript.shell")regpath="hklm\software\microsoft\windows\currentversion\run\"type_name="reg_sz"key_name="autorun"key_data="c:\myfile\autorun.exe"'该自启用步调的全路途文献名autorunprogram.write regpath&key_name,key_data,type_name'在启用组中增添自启用步调autorun.exemsgbox("success!")

热门阅览

最新排行

Copyright © 2019-2021 大雀软件园(www.daque.cn) All Rights Reserved.