iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >vbs读写注册表之系统启动项添加与删除的示例分析
  • 850
分享到

vbs读写注册表之系统启动项添加与删除的示例分析

2023-06-08 08:06:08 850人浏览 安东尼
摘要

这篇文章主要介绍了vbs读写注册表之系统启动项添加与删除的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。核心vbs代码'变量定义Dim writeN

这篇文章主要介绍了vbs读写注册表之系统启动项添加与删除的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

核心vbs代码

'变量定义Dim writeName,writeValue,fileName,regLoaction,regApp'创建注册表编辑器对象Set regApp=WScript.CreateObject("WScript.shell")'配置文件名fileName="FullScan.txt"'输入键名writeName="xiaoqiang"'输入键值writeValue="test"'************************脚本运行区间********************************'根据配置文件获取注册表路径数组regLoaction=getRegPathArray(getFileText(fileName))'写入注册表write regLoaction,writeName,writeValue'读取写入的键值 生成并生成结果文件read regLoaction,writeName'************************函数定义********************************'读注册表Function read(regLoaction,writeName) Dim returnStrArray(),j j=0 If writeName="" or writeValue="" then  msgbox "错误!!请输入键名和键值" else  for i=0 to ubound(regLoaction) ReDim Preserve returnStrArray(j)    regPath=regLoaction(i)&"\"&writeName   returnStrArray(j)=regPath&"? "&regApp.RegRead(regPath)   j=j+1  Next End if writeResult returnStrArrayEnd Function'写入注册表Function write(regLoaction,writeName,writeValue) If writeName="" or writeValue="" then  msgbox "错误!!请输入键名和键值" else  for i=0 to ubound(regLoaction) regApp.RegWrite regLoaction(i)&"\"&writeName,writeValue  Next End ifEnd Function'输出结果文件sub writeResult(contentArray) Const ForReading = 1, ForWriting = 2 Dim fso,f,returnStrArray(),i Set fso = CreateObject("Scripting.FileSystemObject") Set f = fso.OpenTextFile("result.txt", 2,true) for i=0 to ubound(contentArray) f.writeline(contentArray(i)) Next f.close()End Sub'得到注册表路径数组Function getRegPathArray(sourceArray) Dim head,returnStrArray(),j j=0 for i=0 to ubound(sourceArray)  If sourceArray(i)="[HKEY_LOCAL_MacHINE]" then head="HKLM"  elseif sourceArray(i)="[HKEY_USERS]" then   head="HKEY_USERS\.DEFAULT"  elseif sourceArray(i)="[HKEY_CURRENT_USER]" then   head="HKCU"  elseif sourceArray(i)="[HKEY_CLASSES_ROOT]" then   head="HKCR"  elseif sourceArray(i)="[HKEY_CURRENT_CONFIG]" then   head="HKEY_CURRENT_CONFIG"  else   ReDim Preserve returnStrArray(j)   str=head&split(sourceArray(i),"=")(1)   returnStrArray(j)=str   j=j+1  End If Next getRegPathArray=returnStrArrayEnd Function'得到文件内容存入数组Function getFileText(fileName) Const ForReading = 1, ForWriting = 2 Dim fso,f,returnStrArray(),i Set fso = CreateObject("Scripting.FileSystemObject") Set f = fso.OpenTextFile(fileName, 1) i=0 do while f.atendofstream<>true  ReDim Preserve returnStrArray(i)  returnStrArray(i)=f.readline()  i=i+1 loop f.close() getFileText=returnStrArrayEnd Function

//配置文件

FullScan.txt

[HKEY_LOCAL_MACHINE]1=\Software\Microsoft\windows\CurrentVersion\Run2=\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run\3=\Software\Microsoft\Windows\CurrentVersion\RunOnce\4=\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce\5=\Software\Microsoft\Windows\CurrentVersion\RunOnceEx6=\Software\Microsoft\Windows\CurrentVersion\Policies\System\Shell\7=\Software\Microsoft\Windows\CurrentVersion\ShellServiceObjectDelayLoad\8=\Software\Policies\Microsoft\Windows\System\Scripts\[HKEY_CURRENT_USER]1=\Software\Microsoft\Windows\CurrentVersion\Run2=\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run\3=\Software\Microsoft\Windows\CurrentVersion\RunOnce\4=\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce\5=\Software\Microsoft\Windows\CurrentVersion\RunOnceEx6=\Software\Microsoft\Windows\CurrentVersion\Policies\System\Shell\7=\Software\Microsoft\Windows\CurrentVersion\ShellServiceObjectDelayLoad\8=\Software\Policies\Microsoft\Windows\System\Scripts\

运行后得到result.txt

HKLM\Software\Microsoft\Windows\CurrentVersion\Run\xiaoqiang? testHKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run\\xiaoqiang? testHKLM\Software\Microsoft\Windows\CurrentVersion\RunOnce\\xiaoqiang? testHKLM\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce\\xiaoqiang? testHKLM\Software\Microsoft\Windows\CurrentVersion\RunOnceEx\xiaoqiang? testHKLM\Software\Microsoft\Windows\CurrentVersion\Policies\System\Shell\\xiaoqiang? testHKLM\Software\Microsoft\Windows\CurrentVersion\ShellServiceObjectDelayLoad\\xiaoqiang? testHKLM\Software\Policies\Microsoft\Windows\System\Scripts\\xiaoqiang? testHKCU\Software\Microsoft\Windows\CurrentVersion\Run\xiaoqiang? testHKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run\\xiaoqiang? testHKCU\Software\Microsoft\Windows\CurrentVersion\RunOnce\\xiaoqiang? testHKCU\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce\\xiaoqiang? testHKCU\Software\Microsoft\Windows\CurrentVersion\RunOnceEx\xiaoqiang? testHKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System\Shell\\xiaoqiang? testHKCU\Software\Microsoft\Windows\CurrentVersion\ShellServiceObjectDelayLoad\\xiaoqiang? testHKCU\Software\Policies\Microsoft\Windows\System\Scripts\\xiaoqiang? test

注册表中的值

vbs读写注册表之系统启动项添加与删除的示例分析

以下是编程网小编补充

运行后就会发现在系统开始自动运行的一些启动项加入了如上值,所以不建议普通用户运行。

既然批量添加那么也可以批量删除

将上面的vbs代码中的

regApp.RegWrite regLoaction(i)&"\"&writeName,writeValue

替换为

regApp.RegDelete regLoaction(i)&"\"&writeName

发现直接运行不行,其实注册表的删除需要用管理员权限才可以。

怕有些新手不知道如何管理员权限运行vbs

其实右键cmd中看到 以管理员权限运行 打开 dos窗口,然后将vbs文件拖到这个dos窗口里面,回车运行即可

vbs读写注册表之系统启动项添加与删除的示例分析

然后拖拉

vbs读写注册表之系统启动项添加与删除的示例分析

回车后发现,并没有提示任何错误信息,从注册表中看到,确定这个字段已经没了。完全解决。

感谢你能够认真阅读完这篇文章,希望小编分享的“vbs读写注册表之系统启动项添加与删除的示例分析”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网精选频道,更多相关知识等着你来学习!

--结束END--

本文标题: vbs读写注册表之系统启动项添加与删除的示例分析

本文链接: https://www.lsjlt.com/news/252990.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • vbs读写注册表之系统启动项添加与删除的示例分析
    这篇文章主要介绍了vbs读写注册表之系统启动项添加与删除的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。核心vbs代码'变量定义Dim writeN...
    99+
    2023-06-08
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作