麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > VBScript > 正文

vbscript Registry 注冊表操作實現代碼(讀寫刪除)

2020-07-26 11:49:57
字體:
來源:轉載
供稿:網友

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程序文件的擴展名為.vbs,該腳本程序在窗口界面是由wscript.exe文件解釋執行的,在字符界面是由cscript.exe文件解釋執行的,命令格式為:cscript filename.vbs

創建對象

  用VBScript修改注冊表,必須先創建一個能于操作系統溝通的對象,再利用該對象的各種方法對注冊表進行操作,創建這個對象的方法和格式如下:

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

  上述這些代碼就創建了一個能與操作系統溝通的對象OperationRegistry

對象的方法

有了以上這個對象,并不等于就能馬上對注冊表進行操作,我們還必須弄清該對象對注冊表進行操作的幾種重要方法.
   1.對注冊表的讀操作RegRead
   2.對注冊表的寫操作RegWrite
   3.對注冊表的刪操作RegDelete

   補充一點,WSH還有兩個通用的方法:
   WScript.Echo()用來顯示一串文本信息,相當于VB中的MsgBox()。
   Wscript.Quit()用來退出VBScript程序。

方法的參數

 對于以上三種操作RegRead,RegWrite,RegDelete都需要帶參數進行,并且這些操作的參數的個數和形式又不盡相同,下面我就把它們的一個共同且必不可少的參數講一下:
該參數可稱作是"路徑參數",它包括根鍵,主鍵路徑和鍵值,各部分表示的方法如下:
根鍵:

  根鍵有兩種表示方法。
  方法一:直接用它在注冊表中的字符串來表示,如:
  HKEY_CLASSES_ROOT,HKEY_CURRENT_USER等
  方法二:用縮寫的四個字母來表示,前兩個為HK,后兩個即為根鍵單詞的首字母。如:
  根鍵HKEY_CLASSES_ROOT表示為:HKCR, 根鍵HKEY_CURRENT_USER可表示為:HKCU等。
主鍵路徑:
  主鍵路徑就是目標鍵在注冊表中的主鍵位置,各個主鍵之間用"/"符分隔開。如:"Software/Microsoft/Windows/CurrentVersion/Policies/"
  鍵值:
  鍵值參數直接接在主鍵路徑之后。例如一個完整的路徑如下所示:
  "HKCR/Software/Microsoft/Windows/CurrentVersion/Policies/NoRun"

方法詳解

  1、RegRead操作詳解

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

 '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主鍵的默認值,并將該數據送至變量Read_Data1    Read_Data2=OperationRegistry.RegRead("HKCR/.xxf/value")    '讀取.xxf主鍵之下的value鍵值的數據,并將該數據送至變量Read_Data2    MsgBox("Default="&Read_Data1&" value="&Read_Data2)    '將讀取的數據顯示出來

  2、RegWrite操作詳解

  寫操作RegWrite主要是用來在注冊表中新建主鍵或鍵值,并要賦予給它們一個初始值,該操作同樣可以對注冊表中以存在的主鍵或鍵值進行數據的修改,因此寫操作的參數結構就比讀操作要復雜一些,它不僅要路徑參數,還要一個初始值和類型參數.

  先來看初始值參數,該參數對于寫操作來說是必不可少的,它可以為空(null)但卻不能省掉。在新建主鍵時,初始值參數就賦給了該主鍵的默認值,在新建鍵值時,初始值參數就成了新建鍵值的初始數據.而初始值的類型,則是由類型參數決定的.類型主要有以下三種:
(1)REG_SZ:字符型.該類型為缺省類型
  (2)REG_DWORD:雙字節型.
  (3)REG_BINARY:二進制型.

  以上三種類型第1種和第2種用得最多,第3種類型在某些場合可以用第2種加以替代,這三種類型的賦值方法如下:
  對于REG_SZ型:直接用字符串賦予,如"text","string"等
  對于REG_DWORD型和REG_BINARY型則有兩種賦值方式

  i)直接用十進制的數表示,如:0,1等.
  ii)用十六進制的數表示,如:0x12,0xff等. 看例:

'write.VBs Dim OperationReGIStry Set OperationRegistry=WScript.CreateObject("WScript.Shell") Default=OperationRegistry.RegRead("HKCR/") '獲取一個空值 (null)   OperationRegistry.RegWrite "HKCR/.xxf/",Default '在根鍵HKEY_CLASSES_ROOT之下新建主鍵.xxf,并置其默認值為空   OperationRegistry.RegWrite "HKCR/.xxf/","xxffile" '在根鍵HKEY_CLASSES_ROOT之下新建主鍵.xxf,并置其默認值?quot;xxffile"   OperationRegistry.RegWrite "HKCR/.xxf/value1","string" '在主鍵.xxf之下新建一個字符串型鍵值value1,并置其初始值為"string"   OperationRegistry.RegWrite "HKCR/.xxf/value2",1,"REG_DWORD" '在主鍵.xxf之下新建一個REG_DWORD型鍵值value2,并置其初始值為1   OperationRegistry.RegWrite "HKCR/.xxf/value3",0Xff,"REG_BINARY" '在主鍵.xxf之下新建一個二進制型鍵值value3,并置其初始值為十六進制的ff

   3、RegDelete操作詳解

  刪除操作RegDelete主要是用來刪除注冊表中已存在的主鍵或鍵值,該操作是一種極其危險的操作,它能將主鍵或鍵值毫不留情的在注冊表中“砍掉”,無論該鍵值下面有多重要的數據,它都能暢行無阻,因此在使用該操作時務必小心。

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

'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主鍵 

  強調一點,不要更改注冊表中已存在的主鍵或鍵值,更不要將它們刪除,因為對注冊表進行了不當的寫操作或刪操作,情況嚴重的會導致系統崩潰!如果你真想這么做,那就請你作好注冊表的備份。

應用實例

1、讀本機“計算機名”

'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("計算機名為"&ComputerName) 

2、隱藏快捷方式圖標上的小箭頭

'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) '禁用“開始”菜單中的“運行”功能 Call Change(StartMenu_Find) '禁用“開始”菜單中的“查找”功能 Call Change(StartMenu_Close) '禁用“開始”菜單中的“關閉系統”功能 

4、向Windows中添加自啟動程序

該程序能在開機時自動運行。

'AddAutoRunProgram.vbs '假設該程序在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" '該自啟動程序的全路徑文件名 AutoRunProgram.Write RegPath&Key_Name,Key_Data,Type_Name '在啟動組中添加自啟動程序autorun.exe MsgBox("Success!") 

這篇文章就介紹到這了,希望大家以后多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 日韩视频在线免费 | 手机国产乱子伦精品视频 | 欧美一级黄色影院 | 久久黄色影院 | 精品国产一区二 | 亚州综合一区 | 色妹子久久| japanese javhd| 91久久久久久久久久久久久 | 激情影院在线观看 | 欧洲精品久久久久69精品 | 狠狠一区 | 欧美精品亚洲人成在线观看 | 亚洲国产精品久久久久久久久久久 | 日本在线播放一区二区三区 | 日韩在线播放第一页 | 中文字幕一二区 | 国产精品性夜天天视频 | 羞羞视频免费网站男男 | 国产精品久久久久久久娇妻 | 在线看免电影网站 | 久久精品网址 | 久草在线免费资源站 | 中午字幕无线码一区2020 | 午夜小视频免费观看 | 久久成人精品视频 | 国内精品免费一区二区2001 | 国产亚洲精品综合一区91 | 亚洲99| 91精品观看91久久久久久国产 | 中文字幕免费在线观看视频 | 午夜伊人| 国产午夜精品一区二区三区四区 | 久久精品亚洲欧美日韩精品中文字幕 | 精品中文一区 | 一级毛片在线视频 | 一区二区三区四区高清视频 | 久草视频在线资源 | jizzjizz中国人少妇中文 | 蜜桃91麻豆 | asian裸体佳人pics|