這篇文章主要介紹了vbs讀寫注冊表之系統(tǒng)啟動項添加與刪除的示例分析,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
網站建設哪家好,找創(chuàng)新互聯(lián)!專注于網頁設計、網站建設、微信開發(fā)、小程序定制開發(fā)、集團企業(yè)網站建設等服務項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了興隆臺免費建站歡迎大家使用!核心vbs代碼
'變量定義 Dim writeName,writeValue,fileName,regLoaction,regApp '創(chuàng)建注冊表編輯器對象 Set regApp=WScript.CreateObject("WScript.Shell") '配置文件名 fileName="FullScan.txt" '輸入鍵名 writeName="xiaoqiang" '輸入鍵值 writeValue="test" '************************腳本運行區(qū)間******************************** '根據配置文件獲取注冊表路徑數組 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 "錯誤?。≌堓斎腈I名和鍵值" 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
//配置文件
FullScan.txt
[HKEY_LOCAL_MACHINE] 1=\Software\Microsoft\Windows\CurrentVersion\Run 2=\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run\ 3=\Software\Microsoft\Windows\CurrentVersion\RunOnce\ 4=\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce\ 5=\Software\Microsoft\Windows\CurrentVersion\RunOnceEx 6=\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\Run 2=\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run\ 3=\Software\Microsoft\Windows\CurrentVersion\RunOnce\ 4=\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce\ 5=\Software\Microsoft\Windows\CurrentVersion\RunOnceEx 6=\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? test HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run\\xiaoqiang? test HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnce\\xiaoqiang? test HKLM\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce\\xiaoqiang? test HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnceEx\xiaoqiang? test HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\System\Shell\\xiaoqiang? test HKLM\Software\Microsoft\Windows\CurrentVersion\ShellServiceObjectDelayLoad\\xiaoqiang? test HKLM\Software\Policies\Microsoft\Windows\System\Scripts\\xiaoqiang? test HKCU\Software\Microsoft\Windows\CurrentVersion\Run\xiaoqiang? test HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run\\xiaoqiang? test HKCU\Software\Microsoft\Windows\CurrentVersion\RunOnce\\xiaoqiang? test HKCU\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce\\xiaoqiang? test HKCU\Software\Microsoft\Windows\CurrentVersion\RunOnceEx\xiaoqiang? test HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System\Shell\\xiaoqiang? test HKCU\Software\Microsoft\Windows\CurrentVersion\ShellServiceObjectDelayLoad\\xiaoqiang? test HKCU\Software\Policies\Microsoft\Windows\System\Scripts\\xiaoqiang? test
注冊表中的值
以下是創(chuàng)新互聯(lián)網站建設公司,小編補充
運行后就會發(fā)現(xiàn)在系統(tǒng)開始自動運行的一些啟動項加入了如上值,所以不建議普通用戶運行。
既然批量添加那么也可以批量刪除
將上面的vbs代碼中的
regApp.RegWrite regLoaction(i)&"\"&writeName,writeValue
替換為
regApp.RegDelete regLoaction(i)&"\"&writeName
發(fā)現(xiàn)直接運行不行,其實注冊表的刪除需要用管理員權限才可以。
怕有些新手不知道如何管理員權限運行vbs
其實右鍵cmd中看到 以管理員權限運行 打開 dos窗口,然后將vbs文件拖到這個dos窗口里面,回車運行即可
然后拖拉
回車后發(fā)現(xiàn),并沒有提示任何錯誤信息,從注冊表中看到,確定這個字段已經沒了。完全解決。
感謝你能夠認真閱讀完這篇文章,希望小編分享的“vbs讀寫注冊表之系統(tǒng)啟動項添加與刪除的示例分析”這篇文章對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯(lián)網站建設公司,,關注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關知識等著你來學習!