温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Vbscript怎么写注册表

发布时间:2021-09-09 16:07:26 来源:亿速云 阅读:127 作者:chen 栏目:开发技术

这篇文章主要讲解了“Vbscript怎么写注册表”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Vbscript怎么写注册表”吧!

  通常我们只需要用到前两种方法,它们具体的使用方法如下: 

一、RegWrite(写入或新建注册表数据) 

  * 新建子主键 

  语法为:WshShell.RegWrite "子主键名" 

  例如,我们想新建一个子主键“HKEY_CURRENT_USERMyReg”,可使用如下的语句: 

  WshShell.RegWrite "HKCUMyReg" 

  说明:子主键名必须以反斜线 () 结束,若不小心忘记输入了这个(),则该方法返回的是键值,即表示你是想在  HKEY_CURRENT_USER下建立了一个名叫MyReg的键值了。这一点一定要十分注意! 

  注意引号里子主键的开头必须是下列根键名之一: 

  HKEY_CURRENT_USER(可简写为HKCU)、HKEY_LOCAL_MACHINE (HKLM)、HKEY_CLASSES_ROOT(HKCR)、  HKEY_USERS和HKEY_CURRENT_CONFIG 

  * 在子主键下建立新的键值(或改写已有的键值的数据) 

  语法为:WshShell.RegWrite "子主键名键值名","键值的数据","键值的类型" 

  例如我们想在子主键“HKEY_CURRENT_USERMyReg” 下新建一个字符串键值KeyValue,设置键值的数据为“str”,可使用如下的语句: 

WshShell.RegWrite "HKCUMyRegKeyValue", "str" 

  (注:键值为字符串值,可省去"键值类型"的声明) 

  若所建的为二进制值或DWORD值,数据为“1”,则还必须声明键值的类型,如下: 

  WshShell.RegWrite "HKCUMyRegKeyValue",1,"REG_BINARY" 

  WshShell.RegWrite "HKCUMyRegKeyValue",1,"REG_DWORD" 

  注意二进制值和DWORD值的数据不能加引号,而字符串值的数据则必须加引号。 

二、RegDelete(删除注册表数据) 

  * 删除一个子主键 

  语法为:WshShell.RegDelete "子主键名" 

  例如,我们想删除子主键“HKEY_CURRENT_USERMyReg”,可使用如下的语句: 

  WshShell.RegDelete "HKCUMyReg" 

  * 删除子主键的某个键值 

  语法为:WshShell.RegDelete "子主键名键值名" 

  例如,我们想删除子主键“HKEY_CURRENT_USERMyReg” 的键值KeyValue,可使用如下的语句: 

  WshShell.RegDelete "HKCUMyRegKeyValue" 

  类似于RegWrite,有一个“”号表示的是删除子主键,没有“”则表示要删除的是子主键下的键值。 
除了WshShell对象外,我们还必须了解一下WScirpt 对象。WScirpt对象即代表Scripting Engine,只要启动Engine就会自动产生此对象。WScript对象提供了创建和读取对象的方法。要使用WSH的其他对象(例如WshShell对象),就必须先用WScript对象的有关方法(CreateObject、GetObject)来创建和读取。 

  创建对象的语法如下: 

  WScript.CreateObject(strProgID) 

  其中strProgID就是我们所要创建的对象的标识名。 

  例如:我们要使用WshShell对象及其属性和方法,首先就要用WScript对象的方法CreateObject来创建一个WshShell对象,语句如下: 

  Set WSHShell = WScript.CreateObject("WScript.Shell") 

  举一个例子吧。大家都知道,如果你使用了“开始”菜单中的“运行”,Windows将在列表框里记录下你“作案” 的痕迹。其实这些数据是记录在注册表中HKEY_CURRENT_USERSoftwareMicrosoftWindows 

  CurrentVersionExplorerRunMRU子键下,我们只要把这个子键删除,然后再重新建立,不就可以了吗? 

  现在我们可以来编写一个脚本了。以VBS为例,我们可以用记事本新建一个文件,然后输入(其中“//”后的文字为注释,不必输入): 

  //定义对象,要编辑注册表,我们需要使用WSHShell对象及其方法 
  Dim WSHShell 
  //对象的方法CreateObject来创建WSHShell对象 
  Set WSHShell = WScript.CreateObject("WScript.Shell") 
  //然后我们使用WSHShell对象的方法RegDelete来删除 HKEY_CURRENT_USERSoftwareMicrosoft 
  WindowsCurrentVersionExplorerRunMRU子键 
  WSHShell.RegDelete "HKCUSoftwareMicrosoft 
  WindowsCurrentVersionExplorerRunMRU" 
  //最后我们恢复该主键,并在该主键下恢复字符串值“MRUList”,设置其数据为空串 
 WSHShell.RegWrite "HKCUSoftwareMicrosoft 
  WindowsCurrentVersionExplorerRunMRUMRUList","" 

  程序到此结束,我们把文件另存为CleanMRU.vbs就可以了。现在我们就可以使用Scripting Engine来执行这个程序了。假设我们刚才把这个文件保存在D:TEMP里,我们就可以使用“开始”菜单的“运行”——Wcript.exe D:TEMPCleanMRU.vbs。重新启动,怎么样?“运行”里已经是空空如也了吧! 

  如果我们这样费尽心思地编了程序,最后还是得靠手工来运行,那还不如每次直接用注册表编辑器来操作呢!其实我们完全可以让它在每次开机时自动加载。这么一说,大家肯定都知道了——我们可以使用注册表编辑器,在“HKEY_LOCAL_MACHINESoftwareMicrosoftWindows 

  CurrentVersionRun”子主键下建立一个字符串值 “CleanMRU”,设置其数据为"Wcript.exe D:TEMPCleanMRU.vbs"。嘿嘿,这样才算大功告成。以后你每次开机,Windows就会自动执行该脚本以清除 “运行”中的历史记录了。 

感谢各位的阅读,以上就是“Vbscript怎么写注册表”的内容了,经过本文的学习后,相信大家对Vbscript怎么写注册表这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI