亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? clsregistry.cls

?? 銀行、電信
?? CLS
字號:
VERSION 1.0 CLASS
BEGIN
  MultiUse = -1  'True
  Persistable = 0  'NotPersistable
  DataBindingBehavior = 0  'vbNone
  DataSourceBehavior  = 0  'vbNone
  MTSTransactionMode  = 0  'NotAnMTSObject
END
Attribute VB_Name = "clsRegistry"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
Option Explicit

'APIs to open/close the registry
Private Declare Function RegOpenKey Lib "advapi32.dll" _
        Alias "RegOpenKeyA" (ByVal hKey As Long, _
        ByVal lpSubKey As String, phkResult As Long) As Long
Private Declare Function RegOpenKeyEx Lib "advapi32.dll" _
        Alias "RegOpenKeyExA" _
        (ByVal hKey As Long, ByVal lpSubKey As String, _
        ByVal ulOptions As Long, ByVal samDesired As Long, _
        phkResult As Long) As Long
Private Declare Function RegConnectRegistry Lib "advapi32.dll" _
        Alias "RegConnectRegistryA" _
        (ByVal lpMachineName As String, _
        ByVal hKey As Long, _
        phkResult As Long) As Long
Private Declare Function RegCloseKey Lib "advapi32.dll" _
        (ByVal hKey As Long) As Long
        
'APIs to get/set values in the registry
Private Declare Function RegQueryValueEx Lib "advapi32.dll" _
        Alias "RegQueryValueExA" (ByVal hKey As Long, _
        ByVal lpValueName As String, ByVal lpReserved As Long, _
        lpType As Long, lpData As Any, _
        lpcbData As Long) As Long
Private Declare Function RegQueryValueExString Lib "advapi32.dll" _
        Alias "RegQueryValueExA" (ByVal hKey As Long, _
        ByVal lpValueName As String, ByVal lpReserved As Long, _
        lpType As Long, lpData As String, _
        lpcbData As Long) As Long
Private Declare Function RegSetValueEx Lib "advapi32.dll" _
        Alias "RegSetValueExA" _
        (ByVal hKey As Long, ByVal lpValueName As String, _
        ByVal Reserved As Long, ByVal dwType As Long, _
        lpData As Long, ByVal cbData As Long) As Long
Private Declare Function RegSetValueExString Lib "advapi32.dll" _
        Alias "RegSetValueExA" _
        (ByVal hKey As Long, ByVal lpValueName As String, _
        ByVal Reserved As Long, ByVal dwType As Long, _
        ByVal lpData As String, ByVal cbData As Long) As Long
Private Declare Function RegDeleteValue Lib "advapi32.dll" _
        Alias "RegDeleteValueA" _
        (ByVal hKey As Long, _
        ByVal lpValueName As String) As Long

'Enumerators
Private Declare Function RegEnumKey Lib "advapi32.dll" _
        Alias "RegEnumKeyA" _
        (ByVal hKey As Long, ByVal dwIndex As Long, _
        ByVal lpName As String, _
        ByVal cbName As Long) As Long
Private Declare Function RegEnumKeyEx Lib "advapi32.dll" _
        Alias "RegEnumKeyExA" _
        (ByVal hKey As Long, ByVal dwIndex As Long, _
        ByVal lpName As String, lpcbName As Long, _
        ByVal lpReserved As Long, ByVal lpClass As String, _
        lpcbClass As Long, _
        lpftLastWriteTime As FILETIME) As Long
Private Declare Function RegEnumValue Lib "advapi32.dll" _
        Alias "RegEnumValueA" _
        (ByVal hKey As Long, _
        ByVal dwIndex As Long, _
        ByVal lpValueName As String, _
        lpcbValueName As Long, _
        ByVal lpReserved As Long, _
        lpType As Long, _
        lpData As Byte, _
        lpcbData As Long) As Long
        
'APIs to create/remove keys
Private Declare Function RegCreateKeyEx Lib "advapi32.dll" _
        Alias "RegCreateKeyExA" _
        (ByVal hKey As Long, _
        ByVal lpSubKey As String, _
        ByVal Reserved As Long, _
        ByVal lpClass As String, _
        ByVal dwOptions As Long, _
        ByVal samDesired As Long, _
        lpSecurityAttributes As SECURITY_ATTRIBUTES, _
        phkResult As Long, _
        lpdwDisposition As Long) As Long
Private Declare Function RegDeleteKey Lib "advapi32.dll" _
        Alias "RegDeleteKeyA" _
        (ByVal hKey As Long, ByVal lpSubKey As String) As Long

'Error codes
Private Const ERROR_SUCCESS = 0

'Registry constants
Public Enum REG_TYPE
    REG_BINARY = 3
    REG_CREATED_NEW_KEY = &H1
    REG_DWORD = 4
    REG_DWORD_BIG_ENDIAN = 5
    REG_DWORD_LITTLE_ENDIAN = 4
    REG_EXPAND_SZ = 2
    REG_FULL_RESOURCE_DESCRIPTOR = 9
    REG_LINK = 6
    REG_MULTI_SZ = 7
    REG_NONE = 0
    REG_NOTIFY_CHANGE_ATTRIBUTES = &H2
    REG_NOTIFY_CHANGE_LAST_SET = &H4
    REG_NOTIFY_CHANGE_NAME = &H1
    REG_NOTIFY_CHANGE_SECURITY = &H8
    REG_OPENED_EXISTING_KEY = &H2
    REG_OPTION_BACKUP_RESTORE = 4
    REG_OPTION_CREATE_LINK = 2
    REG_OPTION_NON_VOLATILE = 0
    REG_OPTION_RESERVED = 0
    REG_OPTION_VOLATILE = 1
    REG_REFRESH_HIVE = &H2
    REG_RESOURCE_LIST = 8
    REG_RESOURCE_REQUIREMENTS_LIST = 10
    REG_SZ = 1
    REG_WHOLE_HIVE_VOLATILE = &H1
    REG_LEGAL_CHANGE_FILTER = (REG_NOTIFY_CHANGE_NAME Or REG_NOTIFY_CHANGE_ATTRIBUTES Or REG_NOTIFY_CHANGE_LAST_SET Or REG_NOTIFY_CHANGE_SECURITY)
    REG_LEGAL_OPTION = (REG_OPTION_RESERVED Or REG_OPTION_NON_VOLATILE Or REG_OPTION_VOLATILE Or REG_OPTION_CREATE_LINK Or REG_OPTION_BACKUP_RESTORE)
End Enum
'Access constants
Private Const READ_CONTROL = &H20000
Private Const SYNCHRONIZE = &H100000
Private Const STANDARD_RIGHTS_ALL = &H1F0000
Private Const STANDARD_RIGHTS_EXECUTE = (READ_CONTROL)
Private Const STANDARD_RIGHTS_READ = (READ_CONTROL)
Private Const STANDARD_RIGHTS_REQUIRED = &HF0000
Private Const STANDARD_RIGHTS_WRITE = (READ_CONTROL)
Private Const KEY_CREATE_LINK = &H20
Private Const KEY_CREATE_SUB_KEY = &H4
Private Const KEY_ENUMERATE_SUB_KEYS = &H8
Private Const KEY_EVENT = &H1
Private Const KEY_NOTIFY = &H10
Private Const KEY_QUERY_VALUE = &H1
Private Const KEY_SET_VALUE = &H2
Private Const KEY_READ = ((STANDARD_RIGHTS_READ Or KEY_QUERY_VALUE Or KEY_ENUMERATE_SUB_KEYS Or KEY_NOTIFY) And (Not SYNCHRONIZE))
Private Const KEY_EXECUTE = ((KEY_READ) And (Not SYNCHRONIZE))
Private Const KEY_WRITE = ((STANDARD_RIGHTS_WRITE Or KEY_SET_VALUE Or KEY_CREATE_SUB_KEY) And (Not SYNCHRONIZE))
Private Const KEY_ALL_ACCESS = ((STANDARD_RIGHTS_ALL Or KEY_QUERY_VALUE Or KEY_SET_VALUE Or KEY_CREATE_SUB_KEY Or KEY_ENUMERATE_SUB_KEYS Or KEY_NOTIFY Or KEY_CREATE_LINK) And (Not SYNCHRONIZE))

'FILETIME structure for use with RegEnumKeyEx
Private Type FILETIME
    dwLowDateTime As Long
    dwHighDateTime As Long
End Type

Private Type SECURITY_ATTRIBUTES
    nLength As Long
    lpSecurityDescriptor As Long
    bInheritHandle As Long
End Type

'This enum makes it easier then remembering constants
'It will help make the class function more like what
'the user is used to in RegEdit and RegEdt32.
Public Enum HKEYs
    eHKEY_CLASSES_ROOT = &H80000000
    eHKEY_CURRENT_USER = &H80000001
    eHKEY_LOCAL_MACHINE = &H80000002
    eHKEY_USERS = &H80000003
    eHKEY_PERFORMANCE_DATA = &H80000004
    eHKEY_CURRENT_CONFIG = &H80000005
    eHKEY_DYN_DATA = &H80000006
End Enum

Public Function CreateKey(PredefinedKey As HKEYs, KeyName As String) As Boolean
    Dim hNewKey As Long
    Dim rc As Long
    Dim se As SECURITY_ATTRIBUTES
    On Error GoTo handler
    
    'Make sure there is no backslash preceding the branch
    If Left$(KeyName, 1) = "\" Then
        KeyName = Right$(KeyName, Len(KeyName) - 1)
    End If

    'Create the branch
    se.lpSecurityDescriptor = 0
    se.bInheritHandle = False
    rc = RegCreateKeyEx(PredefinedKey, _
            KeyName, _
            0&, _
            vbNullString, _
            REG_OPTION_NON_VOLATILE, _
            KEY_ALL_ACCESS, _
            se, _
            hNewKey, _
            rc)
    
    If rc = ERROR_SUCCESS Then
    
        'Close the registry
        rc = RegCloseKey(hNewKey)
    
        'Return the result code
        CreateKey = True
    Else
        CreateKey = False
    End If
    
    'Bypass the error handler
    Exit Function

handler:
    CreateKey = False
End Function


Public Function DeleteKey(PredefinedKey As HKEYs, KeyName As String) As Boolean
    Dim rc As Long
    
    On Error GoTo handler
    
    'Make sure there is no backslash preceding the branch
    If Left$(KeyName, 1) = "\" Then
        KeyName = Right$(KeyName, Len(KeyName) - 1)
    End If

    'Call the API
    rc = RegDeleteKey(PredefinedKey, KeyName)
    If rc = ERROR_SUCCESS Then
        'Return result code
        DeleteKey = True
    Else
        DeleteKey = False
    End If
    
    'Bypass the error handler
    Exit Function

handler:
    DeleteKey = False
End Function

Public Function ListSubKey(PredefinedKey As HKEYs, KeyName As String, Index As Long) As String
    Dim rc As Long
    Dim hKey As Long
    Dim dwIndex As Long
    Dim lpName As String
    Dim lpcbName As Long
    Dim lpReserved As Long
    Dim lpftLastWriteTime As FILETIME
    Dim i As Integer
    
    On Error GoTo handler
    
    'Make sure there is no backslash preceding the branch
    If Left$(KeyName, 1) = "\" Then
        KeyName = Right$(KeyName, Len(KeyName) - 1)
    End If
    
    'Attempt to open the registry
    rc = RegOpenKeyEx(PredefinedKey, KeyName, _
            0, KEY_ALL_ACCESS, hKey)
            
    If rc = ERROR_SUCCESS Then
        'Allocate buffers for lpName
        lpcbName = 255: lpName = String$(lpcbName, Chr(0))
                    
        'Get the subkey
        rc = RegEnumKeyEx(hKey, Index, lpName, _
                lpcbName, lpReserved, vbNullString, _
                0, lpftLastWriteTime)
                
        If rc = ERROR_SUCCESS Then
            'Return the result
            ListSubKey = Left$(lpName, lpcbName)
        Else
            ListSubKey = ""
        End If
            
        'Close the registry
        RegCloseKey hKey
    End If
    
    'Bypass the error handler
    Exit Function

handler:
    ListSubKey = ""
End Function

Public Function SetValue(PredefinedKey As HKEYs, KeyName As String, ValueName As String, _
        Value As Variant, Optional ValueType As REG_TYPE = REG_SZ) As Boolean
    Dim rc As Long
    Dim hKey As Long
    Dim lpType As Long
    Dim lpcbData As Long
    Dim lpData As String
    
    On Error GoTo handler
    
    'Make sure there is no backslash preceding the branch
    If Left$(KeyName, 1) = "\" Then
        KeyName = Right$(KeyName, Len(KeyName) - 1)
    End If
    
    'Open the registry
    rc = RegOpenKeyEx(PredefinedKey, _
            KeyName, _
            0, _
            KEY_ALL_ACCESS, _
            hKey)

    If rc = ERROR_SUCCESS Then
        'Create a buffer so we can retrieve the data type of
        'the key. We'll need this to determine which API
        'we should call.
        lpcbData = 255
        lpData = String(lpcbData, Chr(0))
        
        'Get the value type first.
        'It will be returned via lpType argument
        rc = RegQueryValueEx(hKey, _
            ValueName, _
            0, lpType, _
            ByVal lpData, _
            lpcbData)
        
        If rc = ERROR_SUCCESS Then
            Select Case lpType
                Case REG_SZ
                    'Use a string data type
                    rc = RegSetValueExString(hKey, _
                        ValueName, _
                        0, _
                        REG_SZ, _
                        CStr(Value), _
                        Len(Value) + 1)
                Case REG_DWORD
                    'Use a DWORD data type
                    rc = RegSetValueEx(hKey, _
                        ValueName, _
                        0, _
                        REG_DWORD, _
                        CLng(Value), _
                        lpcbData)
            End Select
        Else
            rc = RegSetValueExString(hKey, _
                ValueName, _
                0, _
                ValueType, _
                CStr(Value), _
                Len(Value) + 1)
        End If
        
        'Close the registry
        RegCloseKey hKey
    End If
    
    'Return the result code
    SetValue = True
    
    'Bypass the error handler
    Exit Function

handler:
    SetValue = False
End Function

Public Function GetValue(PredefinedKey As HKEYs, ByVal KeyName As String, ByVal ValueName As String) As Variant
    Dim rc As Long
    Dim hKey As Long
    Dim lpData As String
    Dim lpDataDWORD As Long
    Dim lpcbData As Long
    Dim lpType As Long
    
    On Error GoTo handler
    
    'Make sure there is no backslash preceding the branch
    If Left$(KeyName, 1) = "\" Then
        KeyName = Right$(KeyName, Len(KeyName) - 1)
    End If
    
    'Attempt to open the registry
    rc = RegOpenKeyEx(PredefinedKey, KeyName, _
            0, KEY_ALL_ACCESS, hKey)
            
    If rc = ERROR_SUCCESS Then
        'Create a buffer so we can retrieve the data type of
        'the key. We'll need this to determine which API
        'we should call.
        lpcbData = 255
        lpData = String(lpcbData, Chr(0))
        
        'Get the value type first.
        'It will be returned via lpType argument
        rc = RegQueryValueEx(hKey, _
            ValueName, _
            0, lpType, _
            ByVal lpData, _
            lpcbData)
            
        If rc = ERROR_SUCCESS Then
            'Then read the value using the
            'appropriate data type...
            Select Case lpType
                Case REG_SZ
                    rc = RegQueryValueExString(hKey, _
                        ValueName, _
                        0, lpType, _
                        ByVal lpData, _
                        lpcbData)
                    
                    'Return the value
                    If rc = 0 Then
                        GetValue = Left$(lpData, lpcbData - 1)
                    Else
                        GetValue = ""
                    End If
                Case REG_DWORD
                    rc = RegQueryValueEx(hKey, _
                        ValueName, _
                        0, lpType, _
                        lpDataDWORD, _
                        lpcbData)
                    
                    'Return the value
                    If rc = 0 Then
                        GetValue = CLng(lpDataDWORD)
                    Else
                        GetValue = 0
                    End If
            End Select
        End If
        
        'Close the registry
        RegCloseKey hKey
    End If
    
    'Bypass the error handler
    Exit Function

handler:
    'Return a null value
    GetValue = Null
End Function




?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99精品欧美一区二区蜜桃免费| 色老综合老女人久久久| 亚洲精品中文在线| 精品国产一区二区三区不卡| 色婷婷久久久久swag精品| 蜜桃av一区二区| 亚洲精品视频一区| 久久先锋影音av鲁色资源| 欧美日韩你懂的| 不卡的av在线播放| 黄色成人免费在线| 亚洲国产美女搞黄色| 国产精品美女久久久久aⅴ| 91精品欧美福利在线观看| 95精品视频在线| 高清beeg欧美| 国产精品123区| 美腿丝袜亚洲色图| 丝袜美腿亚洲一区| 亚洲已满18点击进入久久| 国产精品久久久久影视| 国产婷婷一区二区| 欧美精品一区二区在线观看| 在线播放欧美女士性生活| 欧美自拍偷拍午夜视频| 99久久国产综合精品麻豆 | 精品夜夜嗨av一区二区三区| 亚洲图片有声小说| 亚洲精品高清视频在线观看| 中文字幕一区二区三区精华液| 久久精品免视看| 国产清纯在线一区二区www| 精品久久久久久久人人人人传媒| 欧美一区二区在线视频| 欧美美女一区二区| 欧美一区永久视频免费观看| 337p亚洲精品色噜噜噜| 欧美日韩美少妇| 欧美日免费三级在线| 欧美精品一级二级| 在线播放国产精品二区一二区四区| 欧美精品自拍偷拍| 67194成人在线观看| 91精品福利在线一区二区三区| 欧美一区二区网站| 欧美xingq一区二区| 久久综合狠狠综合久久激情| ww亚洲ww在线观看国产| 欧美激情在线免费观看| 国产亚洲精久久久久久| 国产精品拍天天在线| 亚洲视频一二三| 亚洲午夜视频在线观看| 午夜精品在线看| 日本不卡视频在线| 国产在线精品视频| 国产91精品一区二区麻豆网站| 成人av在线资源网| 欧美在线不卡一区| 欧美一区二区在线看| 久久色视频免费观看| 国产精品久久久久桃色tv| 亚洲色图清纯唯美| 性做久久久久久久免费看| 麻豆91免费观看| 国产黄色91视频| 91成人免费网站| 日韩欧美综合在线| 亚洲国产成人在线| 亚洲国产一区二区a毛片| 日韩av网站免费在线| 国产一区二区不卡| 色综合中文字幕国产| 欧美日韩另类一区| 国产三级精品视频| 亚洲一卡二卡三卡四卡无卡久久| 日本欧美大码aⅴ在线播放| 国产精品中文字幕一区二区三区| aaa欧美大片| 91精品国产麻豆| 中文字幕一区视频| 日本不卡视频在线观看| av不卡免费在线观看| 日韩三区在线观看| 中文字幕制服丝袜一区二区三区| 亚洲成人www| 风间由美一区二区av101| 欧美精品日韩一区| 亚洲欧洲另类国产综合| 奇米影视一区二区三区| 91色porny在线视频| 日韩久久精品一区| 亚洲精品欧美专区| 国产高清在线观看免费不卡| 欧美无砖砖区免费| 中文字幕第一区二区| 美女脱光内衣内裤视频久久网站| 97久久人人超碰| 亚洲精品一区二区三区福利| 午夜精品在线看| 91麻豆国产在线观看| 26uuu亚洲| 日本怡春院一区二区| 色偷偷一区二区三区| 国产日产欧美精品一区二区三区| 日韩高清不卡一区| 91精彩视频在线观看| 国产精品天天摸av网| 久久99久久99精品免视看婷婷| 色94色欧美sute亚洲13| 国产精品久久久久久久久久免费看 | 亚洲大片精品永久免费| 不卡的av中国片| 26uuu国产在线精品一区二区| 天堂久久一区二区三区| 91激情在线视频| 中文字幕在线一区| 成人性生交大片免费| 2023国产精品| 国产一区视频导航| 日韩欧美国产wwwww| 蜜臀久久99精品久久久久久9| 色哟哟在线观看一区二区三区| 国产精品欧美极品| 高清av一区二区| 国产欧美一区二区精品忘忧草| 国产一区二区视频在线播放| 精品国产髙清在线看国产毛片| 日韩成人免费电影| 欧美久久久久久久久久| 亚洲第四色夜色| 欧美伦理电影网| 日韩成人一级大片| 日韩欧美一区二区免费| 蜜臀av一级做a爰片久久| 欧美群妇大交群的观看方式| 亚洲国产成人高清精品| 欧美婷婷六月丁香综合色| 亚洲一区在线视频| 欧美日韩一区二区在线观看| 亚洲欧美激情在线| 在线亚洲一区二区| 亚洲成人黄色小说| 欧美一区二区网站| 国产另类ts人妖一区二区| 欧美不卡一区二区三区四区| 精品一二三四区| 国产欧美日韩在线| 成人精品视频网站| 亚洲色图一区二区三区| 在线免费观看日本欧美| 亚洲大片免费看| 精品国产伦一区二区三区免费| 国产一区在线不卡| 日韩美女视频一区二区| 欧美午夜电影一区| 久久激情综合网| 久久精品男人天堂av| 99re6这里只有精品视频在线观看| 亚洲综合色区另类av| 91精品国产入口在线| 国产精品综合久久| 亚洲免费观看高清完整版在线 | 久久精品一级爱片| 97精品国产97久久久久久久久久久久 | 久久久久久久综合日本| 99热99精品| 日韩国产欧美在线播放| 久久一二三国产| 色哟哟亚洲精品| 美女一区二区久久| 国产精品久久久久久久久免费樱桃| 在线免费精品视频| 韩国女主播成人在线| 亚洲色图一区二区三区| 日韩一区二区不卡| 大胆欧美人体老妇| 图片区小说区国产精品视频| 久久久亚洲精品石原莉奈| 色婷婷综合久久久中文一区二区| 人人爽香蕉精品| 中文字幕不卡三区| 欧美一区二区精品在线| 99麻豆久久久国产精品免费| 麻豆精品精品国产自在97香蕉| 中文字幕在线一区免费| 欧美电影免费观看完整版| av不卡在线播放| 韩国视频一区二区| 亚洲一卡二卡三卡四卡五卡| 国产片一区二区三区| 欧美精品在线观看播放| av亚洲精华国产精华精华| 蜜乳av一区二区| 一区二区高清在线| 国产欧美视频在线观看| 91精品在线麻豆| 91老师国产黑色丝袜在线| 韩国成人福利片在线播放| 亚洲h动漫在线|