亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
欧美色网站导航| 欧美日韩国产小视频| 国产精品自拍网站| 国产精品久久二区二区| 91精品免费在线| caoporm超碰国产精品| 美洲天堂一区二卡三卡四卡视频 | 国产精品亚洲а∨天堂免在线| 伊人色综合久久天天| 国产亚洲精品aa午夜观看| 欧美精品亚洲一区二区在线播放| 成人国产精品免费观看视频| 美腿丝袜一区二区三区| 亚洲国产视频a| 中文字幕日韩欧美一区二区三区| 欧美精品一区二区三区视频| 欧美男生操女生| 色综合av在线| av电影一区二区| 国产成人精品影视| 麻豆一区二区在线| 婷婷综合久久一区二区三区| 亚洲精品国产a久久久久久| 国产欧美一区二区精品秋霞影院 | 国产精品白丝jk黑袜喷水| 亚洲国产wwwccc36天堂| 亚洲人123区| 1024成人网| 中文成人av在线| 欧美激情中文不卡| 国产亚洲1区2区3区| 欧美sm美女调教| 精品蜜桃在线看| 日韩精品专区在线影院重磅| 制服丝袜中文字幕一区| 正在播放亚洲一区| 欧美日韩不卡视频| 欧美日本在线观看| 欧美日韩国产美| 欧美日韩国产乱码电影| 欧美精品 国产精品| 欧美片在线播放| 欧美日韩视频专区在线播放| 欧美精品黑人性xxxx| 91麻豆精品国产91久久久久| 国产精品久久一级| 中文字幕欧美日本乱码一线二线 | 日韩精品一区二区三区在线播放| 3751色影院一区二区三区| 91精品蜜臀在线一区尤物| 日韩欧美一区在线观看| 欧美变态tickle挠乳网站| 久久精品夜夜夜夜久久| 国产欧美一区二区三区网站| 亚洲欧洲色图综合| 亚洲伦理在线免费看| 婷婷夜色潮精品综合在线| 日韩av在线免费观看不卡| 久久国产乱子精品免费女| 国产精华液一区二区三区| 成人av在线网站| 欧美在线视频日韩| 欧美一级日韩一级| www欧美成人18+| 亚洲欧美影音先锋| 婷婷成人激情在线网| 韩国av一区二区三区在线观看| 国产精品亚洲а∨天堂免在线| 99精品1区2区| 欧美精品aⅴ在线视频| 精品国产1区2区3区| 综合久久国产九一剧情麻豆| 亚洲成a人片在线观看中文| 精品一区二区三区不卡| 成人免费av资源| 欧美在线观看一二区| 精品国产髙清在线看国产毛片| 欧美国产综合一区二区| 亚洲国产综合人成综合网站| 国产在线乱码一区二区三区| 97精品国产露脸对白| 欧美精品v国产精品v日韩精品 | 亚洲日本在线看| 日韩成人av影视| 成人美女在线观看| 51精品秘密在线观看| 国产女同互慰高潮91漫画| 亚洲国产成人精品视频| 国产精品亚洲专一区二区三区| 在线视频一区二区三区| 久久夜色精品国产噜噜av| 一区二区国产盗摄色噜噜| 国产又粗又猛又爽又黄91精品| 色嗨嗨av一区二区三区| 精品国产人成亚洲区| 亚洲影院久久精品| 国产成人亚洲精品青草天美| 欧美剧情电影在线观看完整版免费励志电影| 久久久另类综合| 午夜精品福利视频网站| 99re热视频精品| 欧美成人性福生活免费看| 亚洲一区二区三区四区在线免费观看| 黄网站免费久久| 欧美日韩和欧美的一区二区| 国产精品不卡在线| 精品夜夜嗨av一区二区三区| 欧美日本在线观看| 一区二区在线观看免费视频播放| 国产精品一区在线观看你懂的| 欧美日韩一区二区三区四区 | 亚洲精品在线网站| 亚洲成人激情av| 色狠狠综合天天综合综合| 国产丝袜美腿一区二区三区| 蜜臀av性久久久久蜜臀aⅴ四虎| 91黄色免费观看| 亚洲欧美一区二区久久| 成人性生交大片免费| 久久综合久久综合九色| 日av在线不卡| 91精品国产色综合久久ai换脸| 亚洲人成电影网站色mp4| 成人国产亚洲欧美成人综合网 | 色综合色综合色综合色综合色综合 | 亚洲一二三区不卡| 色婷婷久久久亚洲一区二区三区| 日本一区二区综合亚洲| 国产一区二区三区精品欧美日韩一区二区三区 | 亚洲精品在线观看网站| 日本 国产 欧美色综合| 91精品免费在线观看| 天天综合网天天综合色| 欧美视频一区二| 性做久久久久久| 欧美日韩小视频| 日韩专区在线视频| 51精品秘密在线观看| 秋霞影院一区二区| 日韩亚洲欧美综合| 久久不见久久见免费视频1| 精品美女被调教视频大全网站| 免费成人结看片| 亚洲精品一区二区三区精华液| 久久国产精品色婷婷| 久久久精品国产99久久精品芒果 | 国产一区二区免费在线| 337p粉嫩大胆色噜噜噜噜亚洲| 免费观看在线色综合| 日韩一区二区精品| 国产在线看一区| 国产精品女主播在线观看| 北条麻妃国产九九精品视频| 亚洲日本va午夜在线影院| 欧美午夜电影网| 日韩影院免费视频| 欧美精品一区二区精品网| 高清在线观看日韩| 亚洲精品中文字幕乱码三区| 欧美裸体bbwbbwbbw| 另类成人小视频在线| 久久久久久久综合狠狠综合| 成人国产一区二区三区精品| 亚洲精品国产精华液| 欧美一区日韩一区| 国产精品456露脸| 亚洲人xxxx| 日韩欧美电影一区| 国产91丝袜在线播放0| 亚洲另类色综合网站| 日韩一区二区三区电影| 成人一区在线看| 亚洲3atv精品一区二区三区| 精品国产a毛片| 日本电影欧美片| 免费成人在线播放| 中文字幕一区二区三区av| 欧美日韩免费在线视频| 国产一区免费电影| 一个色妞综合视频在线观看| 欧美成人精品1314www| av日韩在线网站| 精品在线你懂的| 一区二区三区免费| 欧美videos大乳护士334| 91丝袜国产在线播放| 免费国产亚洲视频| 1区2区3区精品视频| 精品三级av在线| 日本丶国产丶欧美色综合| 国内精品伊人久久久久av影院 | 亚洲自拍偷拍欧美| 欧美变态口味重另类| 欧洲另类一二三四区| 国产精品一二三区| 日韩国产成人精品| 一区二区三区四区视频精品免费 | 国产三级精品三级在线专区| 欧美日韩精品是欧美日韩精品| 成人精品电影在线观看|