vbs 读写注册表之系统启动项添加与删除(vb读写注册表)速看

随心笔谈9个月前发布 admin
206 00
🌐 经济型:买域名、轻量云服务器、用途:游戏 网站等 《腾讯云》特点:特价机便宜 适合初学者用 点我优惠购买
🚀 拓展型:买域名、轻量云服务器、用途:游戏 网站等 《阿里云》特点:中档服务器便宜 域名备案事多 点我优惠购买
🛡️ 稳定型:买域名、轻量云服务器、用途:游戏 网站等 《西部数码》 特点:比上两家略贵但是稳定性超好事也少 点我优惠购买

文章摘要

这篇文章介绍了一个使用VBScript脚本的注册表操作工具,主要用于读写注册表并生成结果文件。脚本定义了变量和注册表编辑器对象,配置了文件名和键名/键值等参数,并提供了读取、写入以及结果处理的函数。具体来说,脚本通过`getRegPathArray`函数获取注册表路径数组,使用`read`和`write`函数分别读取和写入注册表内容,最后将处理结果存储到`result.txt`文件中。文章重点描述了注册表操作的流程和脚本的实现细节,展示了如何通过该工具实现对注册表的动态管理和文件化存储。


‘变量定义
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&”? “®App.RegRead(regPath)
j=j+1
Next
End if
writeResult returnStrArray
End 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 if
End 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=returnStrArray
End 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=returnStrArray
End Function

© 版权声明

相关文章