濮阳杆衣贸易有限公司

主頁 > 知識庫 > vbs 注冊表操作類代碼

vbs 注冊表操作類代碼

熱門標簽:外呼營銷下單系統(tǒng) 前鋒辦理400電話申請 陜西高頻外呼回撥系統(tǒng)哪家好 新密防封卡外呼系統(tǒng)違法嗎 百度地圖標注怎么卸載 打電話的外呼系統(tǒng)貴不貴 辦理膠州400電話財稅 加盟電銷機器人好的品牌 海外美發(fā)店地圖標注
復制代碼 代碼如下:

Option Explicit
Const WBEM_MAX_WAIT = H80
' Registry Hives
Const HKEY_LOCAL_MACHINE = H80000002
Const HKEY_CURRENT_USER = H80000001
Const HKEY_CLASSES_ROOT = H80000000
Const HKEY_USERS = H80000003
Const HKEY_CURRENT_CONFIG = H80000005
Const HKEY_DYN_DATA = H80000006

' Reg Value Types
Const REG_SZ = 1
Const REG_EXPAND_SZ = 2
Const REG_BINARY = 3
Const REG_DWORD = 4
Const REG_MULTI_SZ = 7

' Registry Permissions
Const KEY_QUERY_VALUE = H00001
Const KEY_SET_VALUE = H00002
Const KEY_CREATE_SUB_KEY = H00004
Const KEY_ENUMERATE_SUB_KEYS = H00008
Const KEY_NOTIFY = H00016
Const KEY_CREATE = H00032
Const KEY_DELETE = H10000
Const KEY_READ_CONTROL = H20000
Const KEY_WRITE_DAC = H40000
Const KEY_WRITE_OWNER = H80000

Class std_registry
Private Sub Class_Initialize()
Set objRegistry = Nothing
End Sub

' Connect to the reg provider for this registy object
Public Function ConnectProvider32( sComputerName )
ConnectProvider32 = False
Set objRegistry = Nothing
'On Error Resume Next
Dim oLoc : Set oLoc = CreateObject("Wbemscripting.SWbemLocator")
Dim oCtx : Set oCtx = CreateObject("WbemScripting.SWbemNamedValueSet")
' Force 64 Bit Registry
Call oCtx.Add("__ProviderArchitecture", 32 )
Call oCtx.Add("__RequiredArchitecture", True)
Dim oSvc : Set oSvc = oLoc.ConnectServer(sComputerName,"root\default","","",,,WBEM_MAX_WAIT,oCtx)
Set objRegistry = oSvc.Get("StdRegProv")
If Err.Number = 0 Then
ConnectProvider32 = True
End If
End Function

' Connect to the reg provider for this registy object
Public Function ConnectProvider64( sComputerName )
ConnectProvider64 = False
Set objRegistry = Nothing
On Error Resume Next
Dim oLoc : Set oLoc = CreateObject("Wbemscripting.SWbemLocator")
Dim oCtx : Set oCtx = CreateObject("WbemScripting.SWbemNamedValueSet")
' Force 64 Bit Registry
Call oCtx.Add("__ProviderArchitecture", 64 )
Call oCtx.Add("__RequiredArchitecture", True)
Dim oSvc : Set oSvc = oLoc.ConnectServer(sComputerName,"root\default","","",,,WBEM_MAX_WAIT,oCtx)
Set objRegistry = oSvc.Get("StdRegProv")
If Err.Number = 0 Then
ConnectProvider64 = True
End If
End Function

Public Function IsValid()
IsValid = Eval( Not objRegistry Is Nothing )
End Function

' Used to read values from the registry, Returns 0 for success, all else is error
' ByRef data contains the registry value if the functions returns success
' The constants can be used for the sRootKey value:
' HKEY_LOCAL_MACHINE
' HKEY_CURRENT_USER
' HKEY_CLASSES_ROOT
' HKEY_USERS
' HKEY_CURRENT_CONFIG
' HKEY_DYN_DATA
' The constants can be used for the sType value:
' REG_SZ
' REG_MULTI_SZ
' REG_EXPAND_SZ
' REG_BINARY
' REG_DWORD
Public Function ReadValue(ByVal hkRoot , ByVal nType , ByVal sKeyPath, ByVal sValueName , ByRef Data)
On Error Resume Next
ReadValue = -1
Dim bReturn, Results
If hkRoot = HKEY_LOCAL_MACHINE Or hkRoot = HKEY_CURRENT_USER Or hkRoot = HKEY_CLASSES_ROOT Or hkRoot = HKEY_USERS Or hkRoot = HKEY_CURRENT_CONFIG Or hkRoot = HKEY_DYN_DATA Then
'Read Value
Select Case nType
Case REG_SZ
ReadValue = objRegistry.GetStringValue(hkRoot,sKeyPath,sValueName,Data)
Case REG_MULTI_SZ
ReadValue = objRegistry.GetMultiStringValue(hkRoot,sKeyPath,sValueName,Data)
Case REG_EXPAND_SZ
ReadValue = objRegistry.GetExpandedStringValue(hkRoot,sKeyPath,sValueName,Data)
Case REG_BINARY
ReadValue = objRegistry.GetBinaryValue(hkRoot,sKeyPath,sValueName,Data)
Case REG_DWORD
ReadValue = objRegistry.GetDWORDValue(hkRoot,sKeyPath,sValueName,Data)
End Select
End If
End Function

' Used to write registry values, returns 0 for success, all else is falure
'
' The constants can be used for the hkRoot value:
' HKEY_LOCAL_MACHINE
' HKEY_CURRENT_USER
' HKEY_CLASSES_ROOT
' HKEY_USERS
' HKEY_CURRENT_CONFIG
' HKEY_DYN_DATA
' The constants can be used for the nType value:
' REG_SZ
' REG_MULTI_SZ
' REG_EXPAND_SZ
' REG_BINARY
' REG_DWORD
Function WriteValue( ByVal hkRoot , ByVal nType , ByVal sKeyPath, ByVal sValueName , ByVal Data)
On Error Resume Next
WriteValue = -1 'Default error
If hkRoot = HKEY_LOCAL_MACHINE Or hkRoot = HKEY_CURRENT_USER Or hkRoot = HKEY_CLASSES_ROOT Or hkRoot = HKEY_USERS Or hkRoot = HKEY_CURRENT_CONFIG Or hkRoot = HKEY_DYN_DATA Then
Call objRegistry.CreateKey( hkRoot , sKeyPath ) 'Create the key if not existing...
'Read Value
Select Case nType
Case REG_SZ
WriteValue = objRegistry.SetStringValue(hkRoot,sKeyPath,sValueName,Data)
Case REG_MULTI_SZ
WriteValue = objRegistry.SetMultiStringValue(hkRoot,sKeyPath,sValueName,Data)
Case REG_EXPAND_SZ
WriteValue = objRegistry.SetExpandedStringValue(hkRoot,sKeyPath,sValueName,Data)
Case REG_BINARY
WriteValue = objRegistry.SetBinaryValue(hkRoot,sKeyPath,sValueName,Data)
Case REG_DWORD
WriteValue = objRegistry.SetDWORDValue(hkRoot,sKeyPath,sValueName,Data)
End Select
End If
End Function

Function DeleteValue( ByVal hkRoot , ByVal sKeyPath , ByVal sValueName )
On Error Resume Next
DeleteValue = -1 'Default error
If hkRoot = HKEY_LOCAL_MACHINE Or hkRoot = HKEY_CURRENT_USER Or hkRoot = HKEY_CLASSES_ROOT Or hkRoot = HKEY_USERS Or hkRoot = HKEY_CURRENT_CONFIG Or hkRoot = HKEY_DYN_DATA Then
DeleteValue = objRegistry.DeleteValue( hkRoot , sKeyPath , sValueName )
End If
End Function

Public Function DeleteKey( hkRoot , ByVal sKeyPath )
DeleteKey = -1
On Error Resume Next
If hkRoot = HKEY_LOCAL_MACHINE Or hkRoot = HKEY_CURRENT_USER Or hkRoot = HKEY_CLASSES_ROOT Or hkRoot = HKEY_USERS Or hkRoot = HKEY_CURRENT_CONFIG Or hkRoot = HKEY_DYN_DATA Then
Dim arrSubKeys
Dim sSubKey
Call objRegistry.EnumKey( hkRoot, sKeyPath, arrSubkeys )
If IsArray(arrSubkeys) Then
For Each sSubKey In arrSubkeys
Call DeleteKey( hkRoot, sKeyPath "\" sSubKey , bForce)
Next
End If
DeleteKey = objRegistry.DeleteKey( hkRoot, sKeyPath )
End If
End Function

' Members Variables
Private objRegistry
End Class
Dim str
Dim r : Set r = New std_registry
If r.ConnectProvider32( "." ) Then

If r.ReadValue( HKEY_LOCAL_MACHINE , REG_EXPAND_SZ , "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" , "ComSpec" , str )=0 Then

Wsh.echo str
Else
Wsh.echo str
End If

End If
您可能感興趣的文章:
  • vbscript Registry 注冊表操作實現(xiàn)代碼(讀寫刪除)
  • VBS通過WMI監(jiān)視注冊表變動的代碼
  • vbs 注冊表操作代碼(添加刪除)
  • VBS腳本使用WMI操作注冊表的代碼
  • vbscript 注冊表腳本書寫
  • vbs刪除注冊表項的代碼
  • 用vbs操作注冊表實例代碼
  • Vbscript寫注冊表的方法
  • VBS讀取注冊表的兩種方法

標簽:武威 咸陽 河南 牡丹江 阜陽 四平 伊春 梅州

巨人網(wǎng)絡通訊聲明:本文標題《vbs 注冊表操作類代碼》,本文關(guān)鍵詞  vbs,注冊表,操作,類,代碼,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《vbs 注冊表操作類代碼》相關(guān)的同類信息!
  • 本頁收集關(guān)于vbs 注冊表操作類代碼的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    郧西县| 古蔺县| 永靖县| 瑞昌市| 精河县| 堆龙德庆县| 密山市| 彝良县| 攀枝花市| 洪雅县| 绥棱县| 六枝特区| 滕州市| 天气| 邵阳县| 新邵县| 建水县| 廊坊市| 周口市| 从化市| 镇原县| 集贤县| 北海市| 临武县| 牡丹江市| 屏南县| 古浪县| 洛隆县| 旌德县| 金坛市| 连平县| 建阳市| 湖口县| 惠安县| 通江县| 偃师市| 旬阳县| 渝中区| 大姚县| 武汉市| 磴口县|