這篇文章主要講解了“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就可以了?,F在我們就可以使用Scripting Engine來執行這個程序了。假設我們剛才把這個文件保存在D:TEMP里,我們就可以使用“開始”菜單的“運行”——Wcript.exe D:TEMPCleanMRU.vbs。重新啟動,怎么樣?“運行”里已經是空空如也了吧!
如果我們這樣費盡心思地編了程序,最后還是得靠手工來運行,那還不如每次直接用注冊表編輯器來操作呢!其實我們完全可以讓它在每次開機時自動加載。這么一說,大家肯定都知道了——我們可以使用注冊表編輯器,在“HKEY_LOCAL_MACHINESoftwareMicrosoftWindows
CurrentVersionRun”子主鍵下建立一個字符串值 “CleanMRU”,設置其數據為"Wcript.exe D:TEMPCleanMRU.vbs"。嘿嘿,這樣才算大功告成。以后你每次開機,Windows就會自動執行該腳本以清除 “運行”中的歷史記錄了。
感謝各位的閱讀,以上就是“Vbscript怎么寫注冊表”的內容了,經過本文的學習后,相信大家對Vbscript怎么寫注冊表這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。