国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > VBScript > 正文

Vbscript寫注冊表的方法

2020-03-24 18:41:46
字體:
來源:轉載
供稿:網友
分類:程序
早些年用過DOS系統的用戶都知道,MS-DOS操作系統允許普通用戶編寫批處理文件來實現簡單的編程。它有效地簡化了我們的工作,帶給我們許多方便。當時甚至出現了一些專門編寫批處理文件的程序員呢。

事實上,操作系統除了提供易于操作的使用界面外,還應當有一套內建的Script(腳本)語言才算完整。從某種角度來說,批處理文件可以說就是MS-DOS下的腳本語言。到了Windows時代,雖然Windows系統仍然保留了批處理,但是批處理在Windows中就顯得功能過于簡單,無法滿足用戶的需要了——比如修改注冊表,批處理能做得到嗎?事實上, Windows 98之后的Windows系統,除了保留原來的批處理系統之外,開始加入了對腳本語言的支持,這就是“Windows Scripting Host”,中文譯名為“Windows 腳本宿主”,簡稱WSH。

WSH本身并不是腳本語言,它是腳本語言的運行環境,WSH支持的腳本語言有JScript(微軟版的JavaScript,與真正JavaScript不太一樣)和VBScript——這個東東大家一定很熟悉啦,網頁上常用。

WSH的腳本引擎(Scripting Engine)有兩種方式,一種是Command方式的CScript.exe,另一種是Windows方式的WScript.exe。我們編寫的腳本程序(擴展名為“.js”和“.vbs”的純文本文件)必須通過這兩者之一來加載運行。

雖然WSH支持JScript和VBScript語言,但仍然要配合WSH本身所提供的一些對象,以及對象的屬性(Properties)和方法(Method)才能夠發揮最大的效用。關于JScript和VBScript的程序設計我們這里就不多說了。我們現在還是把注意力放在WSH的對象上面。事實上,本文涉及的注冊表編程就幾乎不需要關于VBScript的任何知識,我們只需簡單地套用現成的語句就可以了。

WSH中的對象主要有:WScirpt、WshArguments、WshShell、 WshUrlShortcut、WshNetwork、 WshSpecialFolders、WshCollection、 WshEnvironment、WshShort等。

每一個對象又都有各自的屬性和方法。在這里我們僅就訪問注冊表所涉及的有關對象的方法和屬性略做介紹。

首先是WshShell對象。該對象可用來設置系統html' target='_blank'>環境變量以及修改注冊表的數據。要修改注冊表的數據,需要使用WshShell對象的三種方法: RegDelete(刪除注冊表數據)、RegWrite(寫入或新建注冊表數據)和 RegRead(讀取注冊表數據)。

通常我們只需要用到前兩種方法,它們具體的使用方法如下:

一、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就會自動執行該腳本以清除 “運行”中的歷史記錄了。

限于篇幅,本文僅僅介紹了WSH有關注冊表修改部分的對象的初步使用。我們只要在腳本里加上一些簡單的語句,就可以很方便地實現交互性的操作——當然,這就需要大家掌握更多的關于WSH和VBScript的知識。如果感興趣的話,大家可以到微軟網站下載有關WSH和VBScript的幫助文檔,URL分別是http://www.microsoft.com/china/ scripting/windowshost/wshdoc.exe和http://www.microsoft.com/china/scripting/vbscript/download/ vbsdoc.exe(都是中文)。另外,在Windows的Samples目錄下,有一個WSH文件夾,那里面有不少.vbs和.js例程,大家可以去打開來看看(鼠標右擊圖標,選擇“編輯”),相信一定會有不少收獲的。

最后,如果你的機器上已經安裝了Windows Scripting Host,而VBS程序仍然無法運行的話,很可能是你自己或其他應用程序修改了.VBS的關聯。據筆者所知,幾乎每臺機器上都裝有的“超級解霸”就會修改.VBS文件的關聯。沒關系的,你只要從“控制面板”—“添加/刪除程序”—“Windows安裝程序”—“附件”—“詳細資料”里先卸掉,然后再重新裝上“Windows Scripting Host”就可以了。html教程

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 田林县| 蓬莱市| 长岭县| 雷州市| 涞水县| 正定县| 汪清县| 玛沁县| 新兴县| 通榆县| 晴隆县| 蒲城县| 三门县| 澄江县| 双辽市| 肥西县| 娄烦县| 依兰县| 黑山县| 克什克腾旗| 丹阳市| 潢川县| 济南市| 沭阳县| 沂南县| 临潭县| 南宁市| 衡南县| 阿瓦提县| 兰考县| 营山县| 西乌| 遵化市| 伽师县| 丁青县| 清远市| 娱乐| 辽宁省| 余江县| 凤山市| 张家川|