午夜国产狂喷潮在线观看|国产AⅤ精品一区二区久久|中文字幕AV中文字幕|国产看片高清在线

    vbscript Registry 注冊(cè)表操作實(shí)現(xiàn)代碼(讀寫刪除)
    來(lái)源:易賢網(wǎng) 閱讀:1281 次 日期:2016-07-05 14:32:57
    溫馨提示:易賢網(wǎng)小編為您整理了“vbscript Registry 注冊(cè)表操作實(shí)現(xiàn)代碼(讀寫刪除)”,方便廣大網(wǎng)友查閱!

    vbscript Registry 注冊(cè)表操作實(shí)現(xiàn)代碼(讀寫刪除)功能代碼,需要的朋友可以參考下。

    VBScript Code:

    代碼如下:

    ' Create a WSH Shell object:

    Set wshShell = CreateObject( "WScript.Shell" )

    '

    ' Create a new key:

    wshShell.RegWrite "HKCU\TestKey\", ""

    ' Create a new DWORD value:

    wshShell.RegWrite "HKCU\TestKey\DWordTestValue", 1, "REG_DWORD"

    ' Create a new subkey and a string value in that new subkey:

    wshShell.RegWrite "HKCU\TestKey\SubKey\StringTestValue", "Test", "REG_SZ"

    ' Read the values we just created:

    WScript.Echo "HKCU\TestKey\DWordTestValue = " _

    & wshShell.RegRead( "HKCU\TestKey\DWordTestValue" )

    WScript.Echo "HKCU\TestKey\SubKey\StringTestValue = """ _

    & wshShell.RegRead( "HKCU\TestKey\SubKey\StringTestValue" ) & """"

    ' Delete the subkey and key and the values they contain:

    wshShell.RegDelete "HKCU\TestKey\SubKey\"

    wshShell.RegDelete "HKCU\TestKey\"

    ' Note: Since the WSH Shell has no Enumeration functionality, you cannot

    ' use the WSH Shell object to delete an entire "tree" unless you

    ' know the exact name of every subkey.

    ' If you don't, use the WMI StdRegProv instead.

    ' Release the object

    Set wshShell = Nothing

    用VBScript編寫的WSH程序文件的擴(kuò)展名為.vbs,該腳本程序在窗口界面是由wscript.exe文件解釋執(zhí)行的,在字符界面是由cscript.exe文件解釋執(zhí)行的,命令格式為:cscript filename.vbs

    創(chuàng)建對(duì)象

    用VBScript修改注冊(cè)表,必須先創(chuàng)建一個(gè)能于操作系統(tǒng)溝通的對(duì)象,再利用該對(duì)象的各種方法對(duì)注冊(cè)表進(jìn)行操作,創(chuàng)建這個(gè)對(duì)象的方法和格式如下:

    Dim OperationReGIStry

    Set OperationRegistry=WScript.CreateObject("WScript.Shell")

    上述這些代碼就創(chuàng)建了一個(gè)能與操作系統(tǒng)溝通的對(duì)象OperationRegistry

    對(duì)象的方法

    有了以上這個(gè)對(duì)象,并不等于就能馬上對(duì)注冊(cè)表進(jìn)行操作,我們還必須弄清該對(duì)象對(duì)注冊(cè)表進(jìn)行操作的幾種重要方法.

    1.對(duì)注冊(cè)表的讀操作RegRead

    2.對(duì)注冊(cè)表的寫操作RegWrite

    3.對(duì)注冊(cè)表的刪操作RegDelete

    補(bǔ)充一點(diǎn),WSH還有兩個(gè)通用的方法:

    WScript.Echo()用來(lái)顯示一串文本信息,相當(dāng)于VB中的MsgBox()。

    Wscript.Quit()用來(lái)退出VBScript程序。

    方法的參數(shù)

    對(duì)于以上三種操作RegRead,RegWrite,RegDelete都需要帶參數(shù)進(jìn)行,并且這些操作的參數(shù)的個(gè)數(shù)和形式又不盡相同,下面我就把它們的一個(gè)共同且必不可少的參數(shù)講一下:

    該參數(shù)可稱作是"路徑參數(shù)",它包括根鍵,主鍵路徑和鍵值,各部分表示的方法如下:

    根鍵:

    根鍵有兩種表示方法。

    方法一:直接用它在注冊(cè)表中的字符串來(lái)表示,如:

    HKEY_CLASSES_ROOT,HKEY_CURRENT_USER等

    方法二:用縮寫的四個(gè)字母來(lái)表示,前兩個(gè)為HK,后兩個(gè)即為根鍵單詞的首字母。如:

    根鍵HKEY_CLASSES_ROOT表示為:HKCR, 根鍵HKEY_CURRENT_USER可表示為:HKCU等。

    主鍵路徑:

    主鍵路徑就是目標(biāo)鍵在注冊(cè)表中的主鍵位置,各個(gè)主鍵之間用"\"符分隔開。如:"Software\Microsoft\Windows\CurrentVersion\Policies\"

    鍵值:

    鍵值參數(shù)直接接在主鍵路徑之后。例如一個(gè)完整的路徑如下所示:

    "HKCR\Software\Microsoft\Windows\CurrentVersion\Policies\NoRun"

    方法詳解

    1、RegRead操作詳解

    讀操作RegRead主要是用來(lái)讀取注冊(cè)表中主鍵的默認(rèn)值或鍵值的數(shù)據(jù),我們可以將讀得的數(shù)據(jù)送到相應(yīng)的變量中,再利用VB中的MsgBox()函數(shù)將該數(shù)據(jù)顯示出來(lái),這就達(dá)到了讀取注冊(cè)表中數(shù)據(jù)的目的(也可以利用對(duì)象OperationRegistry的方法Popup()將讀取的數(shù)據(jù)送至屏幕), 例如:

    代碼如下:

    'read.vbs(將以下代碼存為read.vbs文件)

    Dim OperationRegistry

    Set OperationRegistry=WScript.CreateObject("WScript.Shell")

    Dim Read_Data1,Read_Data2

    Read_Data1=OperationRegistry.RegRead("HKCR\.xxf\")

    '讀取根鍵HKEY_CLASSES_ROOT之下的.xxf主鍵的默認(rèn)值,并將該數(shù)據(jù)送至變量Read_Data1

    Read_Data2=OperationRegistry.RegRead("HKCR\.xxf\value")

    '讀取.xxf主鍵之下的value鍵值的數(shù)據(jù),并將該數(shù)據(jù)送至變量Read_Data2

    MsgBox("Default="&Read_Data1&" value="&Read_Data2)

    '將讀取的數(shù)據(jù)顯示出來(lái)

    2、RegWrite操作詳解

    寫操作RegWrite主要是用來(lái)在注冊(cè)表中新建主鍵或鍵值,并要賦予給它們一個(gè)初始值,該操作同樣可以對(duì)注冊(cè)表中以存在的主鍵或鍵值進(jìn)行數(shù)據(jù)的修改,因此寫操作的參數(shù)結(jié)構(gòu)就比讀操作要復(fù)雜一些,它不僅要路徑參數(shù),還要一個(gè)初始值和類型參數(shù).

    先來(lái)看初始值參數(shù),該參數(shù)對(duì)于寫操作來(lái)說(shuō)是必不可少的,它可以為空(null)但卻不能省掉。在新建主鍵時(shí),初始值參數(shù)就賦給了該主鍵的默認(rèn)值,在新建鍵值時(shí),初始值參數(shù)就成了新建鍵值的初始數(shù)據(jù).而初始值的類型,則是由類型參數(shù)決定的.類型主要有以下三種:

    (1)REG_SZ:字符型.該類型為缺省類型

    (2)REG_DWORD:雙字節(jié)型.

    (3)REG_BINARY:二進(jìn)制型.

    以上三種類型第1種和第2種用得最多,第3種類型在某些場(chǎng)合可以用第2種加以替代,這三種類型的賦值方法如下:

    對(duì)于REG_SZ型:直接用字符串賦予,如"text","string"等

    對(duì)于REG_DWORD型和REG_BINARY型則有兩種賦值方式

    i)直接用十進(jìn)制的數(shù)表示,如:0,1等.

    ii)用十六進(jìn)制的數(shù)表示,如:0x12,0xff等. 看例:

    代碼如下:

    'write.VBs

    Dim OperationReGIStry

    Set OperationRegistry=WScript.CreateObject("WScript.Shell")

    Default=OperationRegistry.RegRead("HKCR\")

    '獲取一個(gè)空值 (null)

    OperationRegistry.RegWrite "HKCR\.xxf\",Default

    '在根鍵HKEY_CLASSES_ROOT之下新建主鍵.xxf,并置其默認(rèn)值為空

    OperationRegistry.RegWrite "HKCR\.xxf\","xxffile"

    '在根鍵HKEY_CLASSES_ROOT之下新建主鍵.xxf,并置其默認(rèn)值?quot;xxffile"

    OperationRegistry.RegWrite "HKCR\.xxf\value1","string"

    '在主鍵.xxf之下新建一個(gè)字符串型鍵值value1,并置其初始值為"string"

    OperationRegistry.RegWrite "HKCR\.xxf\value2",1,"REG_DWORD"

    '在主鍵.xxf之下新建一個(gè)REG_DWORD型鍵值value2,并置其初始值為1

    OperationRegistry.RegWrite "HKCR\.xxf\value3",0Xff,"REG_BINARY"

    '在主鍵.xxf之下新建一個(gè)二進(jìn)制型鍵值value3,并置其初始值為十六進(jìn)制的ff

    3、RegDelete操作詳解

    刪除操作RegDelete主要是用來(lái)刪除注冊(cè)表中已存在的主鍵或鍵值,該操作是一種極其危險(xiǎn)的操作,它能將主鍵或鍵值毫不留情的在注冊(cè)表中“砍掉”,無(wú)論該鍵值下面有多重要的數(shù)據(jù),它都能暢行無(wú)阻,因此在使用該操作時(shí)務(wù)必小心。

    刪除操作的參數(shù)形式與讀操作的參數(shù)形式幾乎完全相同,只是有一點(diǎn)小小的區(qū)別,那就是刪除操作不需要將操作的返回值送給某一變量,例如:

    代碼如下:

    'delete.vbs

    Dim OperationRegistry

    Set OperationRegistry=WScript.CreateObject("WScript.Shell")

    OperationRegistry.RegRead("HKCR\.xxf\value")

    '刪除.xxf主鍵之下的value鍵值

    OperationRegistry.RegRead("HKCR\.xxf\")

    '刪除根鍵HKEY_CLASSES_ROOT之下的.xxf主鍵

    強(qiáng)調(diào)一點(diǎn),不要更改注冊(cè)表中已存在的主鍵或鍵值,更不要將它們刪除,因?yàn)閷?duì)注冊(cè)表進(jìn)行了不當(dāng)?shù)膶懖僮骰騽h操作,情況嚴(yán)重的會(huì)導(dǎo)致系統(tǒng)崩潰!如果你真想這么做,那就請(qǐng)你作好注冊(cè)表的備份。

    應(yīng)用實(shí)例

    1、讀本機(jī)“計(jì)算機(jī)名”

    代碼如下:

    'ReadComputerName.vbs

    Dim ReadComputerName

    Set ReadComputerName=WScript.CreateObject("WScript.Shell")

    Dim ComputerName,RegPath

    RegPath="HKLM\System\CurrentControlSet\Control\

    ComputerName\ComputerName\ComputerName"

    ComputerName=ReadComputerName.RegRead(RegPath)

    MsgBox("計(jì)算機(jī)名為"&ComputerName)

    2、隱藏快捷方式圖標(biāo)上的小箭頭

    代碼如下:

    'Hidden.vbs

    Dim HiddenArrowIcon

    Set HiddenArrowIcon=WScript.CreateObject("WScript.Shell")

    Dim RegPath1,RegPath2

    RegPath1="HKCR\lnkfile\IsShortCut"

    RegPath2="HKCR\piffile\IsShortCut"

    HiddenArrowIcon.RegDelete(RegPath1)

    HiddenArrowIcon.RegDelete(RegPath2)

    3、改造“開始”菜單

    代碼如下:

    'ChangeStartMenu.vbs

    Dim ChangeStartMenu

    Set ChangeStartMenu=WScript.CreateObject("WScript.Shell")

    RegPath="HKCR\Software\Microsoft\Windows\CurrentVersion\Policies\"

    Type_Name="REG_DWORD"

    Key_Data=1

    StartMenu_Run="NoRun"

    StartMenu_Find="NoFind"

    StartMenu_Close="NoClose"

    Sub Change(Argument)

    ChangeStartMenu.RegWrite RegPath&Argument,Key_Data,Type_Name

    MsgBox("Success!")

    End Sub

    Call Change(StartMenu_Run) '禁用“開始”菜單中的“運(yùn)行”功能

    Call Change(StartMenu_Find) '禁用“開始”菜單中的“查找”功能

    Call Change(StartMenu_Close) '禁用“開始”菜單中的“關(guān)閉系統(tǒng)”功能

    4、向Windows中添加自啟動(dòng)程序

    該程序能在開機(jī)時(shí)自動(dòng)運(yùn)行。

    代碼如下:

    'AddAutoRunProgram.vbs

    '假設(shè)該程序在c:\myfile文件夾中,文件名為autorun.exe

    Dim AutoRunProgram

    Set AutoRunProgram=WScript.CreateObject("WScript.Shell")

    RegPath="HKLM\Software\Microsoft\Windows\CurrentVersion\Run\"

    Type_Name="REG_SZ"

    Key_Name="AutoRun"

    Key_Data="C:\Myfile\autorun.exe"

    '該自啟動(dòng)程序的全路徑文件名

    AutoRunProgram.Write RegPath&Key_Name,Key_Data,Type_Name

    '在啟動(dòng)組中添加自啟動(dòng)程序autorun.exe

    MsgBox("Success!")

    更多信息請(qǐng)查看腳本欄目
    由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請(qǐng)考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!

    2025國(guó)考·省考課程試聽報(bào)名

    • 報(bào)班類型
    • 姓名
    • 手機(jī)號(hào)
    • 驗(yàn)證碼
    關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡(jiǎn)要咨詢 | 簡(jiǎn)要咨詢須知 | 新媒體/短視頻平臺(tái) | 手機(jī)站點(diǎn) | 投訴建議
    工業(yè)和信息化部備案號(hào):滇ICP備2023014141號(hào)-1 云南省教育廳備案號(hào):云教ICP備0901021 滇公網(wǎng)安備53010202001879號(hào) 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號(hào)
    云南網(wǎng)警備案專用圖標(biāo)
    聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號(hào):hfpxwx
    咨詢QQ:1093837350(9:00—18:00)版權(quán)所有:易賢網(wǎng)
    云南網(wǎng)警報(bào)警專用圖標(biāo)