网站首页  汉语字词  英语词汇  考试资料  写作素材  旧版资料

请输入您要查询的范文:

 

标题 HTML5+lufylegend实现游戏中的卷轴
范文
    从国外的一个庞大脚本提取出来的注册表操作类,喜欢的朋友可以收藏下
    代码如下:
    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
随便看

 

在线学习网范文大全提供好词好句、学习总结、工作总结、演讲稿等写作素材及范文模板,是学习及工作的有利工具。

 

Copyright © 2002-2024 cuapp.net All Rights Reserved
更新时间:2025/5/21 7:24:59