⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 module1.bas

📁 u盘kill
💻 BAS
字号:
Attribute VB_Name = "HCRegistyIO"
 Public pro As Integer
 Public vir As Integer
 
 
 
 Option Explicit
  Public Enum HCHKeyRoot
        HKEY_CLASSES_ROOT = &H80000000
        HKEY_CURRENT_CONFIG = &H80000005
        HKEY_CURRENT_USER = &H80000001
        HKEY_DYN_DATA = &H80000006
        HKEY_LOCAL_MACHINE = &H80000002
        HKEY_PERFORMANCE_DATA = &H80000004
        HKEY_USERS = &H80000003
  End Enum
    
  Public Enum HCRegKeyType
        REG_BINARY = 3                                               '   Free   form   binary
        REG_CREATED_NEW_KEY = &H1                         '   New   Registry   Key   created
        REG_DWORD = 4                                                 '   32-bit   number
        REG_DWORD_BIG_ENDIAN = 5                           '   32-bit   number
        REG_DWORD_LITTLE_ENDIAN = 4                     '   32-bit   number   (same   as   REG_DWORD)
        REG_EXPAND_SZ = 2                                         '   Unicode   nul   terminated   string
        REG_FULL_RESOURCE_DESCRIPTOR = 9           '   Resource   list   in   the   hardware   description
        REG_LINK = 6                                                   '   Symbolic   Link   (unicode)
        REG_MULTI_SZ = 7                                           '   Multiple   Unicode   strings
        REG_NONE = 0                                                   '   No   value   type
        REG_NOTIFY_CHANGE_ATTRIBUTES = &H2
        REG_NOTIFY_CHANGE_LAST_SET = &H4           '   Time   stamp
        REG_NOTIFY_CHANGE_NAME = &H1                   '   Create   or   delete   (child)
        REG_NOTIFY_CHANGE_SECURITY = &H8
        REG_OPENED_EXISTING_KEY = &H2                 '   Existing   Key   opened
        REG_OPTION_CREATE_LINK = 2                       '   Created   key   is   a   symbolic   link
        REG_OPTION_BACKUP_RESTORE = 4                 '   open   for   backup   or   restore
        REG_OPTION_NON_VOLATILE = 0                     '   Key   is   preserved   when   system   is   rebooted
        REG_OPTION_RESERVED = 0                             '   Parameter   is   reserved
        REG_REFRESH_HIVE = &H2                               '   Unwind   changes   to   last   flush
        REG_OPTION_VOLATILE = 1                             '   Key   is   not   preserved   when   system   is   rebooted
        REG_RESOURCE_LIST = 8                                 '   Resource   list   in   the   resource   map
        REG_RESOURCE_REQUIREMENTS_LIST = 10
        REG_SZ = 1                                                       '   Unicode   nul   terminated   string
        REG_WHOLE_HIVE_VOLATILE = &H1                 '   Restore   whole   hive   volatile
        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
    
  Private Declare Function WritePrivateProfileSection Lib "kernel32" Alias "WritePrivateProfileSectionA" (ByVal lpAppName As String, ByVal lpString As String, ByVal lpFileName As String) As Long
  Private Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpString As Any, ByVal lpFileName As String) As Long
  Private Declare Function GetPrivateProfileSection Lib "kernel32" Alias "GetPrivateProfileSectionA" (ByVal lpAppName As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long
  Private Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long
    
  Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long
  Private Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
  Private Declare Function RegDeleteKey Lib "advapi32.dll" Alias "RegDeleteKeyA" (ByVal hKey As Long, ByVal lpSubKey As String) As Long
  Private Declare Function RegDeleteValue Lib "advapi32.dll" Alias "RegDeleteValueA" (ByVal hKey As Long, ByVal lpValueName As String) As Long
  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 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 RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, lpData As Any, ByVal cbData 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 Any) 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
  Private Declare Function RegConnectRegistry Lib "advapi32.dll" Alias "RegConnectRegistryA" (ByVal lpMachineName As String, ByVal hKey As Long, phkResult As Long) As Long
  Private ZeroFlag     As Long
    
  Public Function GetIniString(ByVal SectionName As String, ByVal KeyName As String, ByVal FileName As String, Optional ByVal DefaultString As String, Optional ByVal BufferSize As Long = 255) As String
          Dim ReturnString     As String
          ReturnString = Space(BufferSize)
          Call GetPrivateProfileString(SectionName, KeyName, DefaultString, ReturnString, BufferSize, FileName)
          If IsNull(ReturnString) = True Then
                GetIniString = DefaultString
          Else
                GetIniString = ReturnString
          End If
            
          ZeroFlag = VBA.InStr(1, GetIniString, Chr(0), vbTextCompare)
          If ZeroFlag <> 0 Then GetIniString = VBA.Left(GetIniString, ZeroFlag - 1)
  End Function
    
  Public Function GetIniSection(ByVal SectionName As String, ByVal FileName As String, Optional ByVal BufferSize As Long = 255) As String
          Dim ReturnString     As String
          ReturnString = Space(BufferSize)
          Call GetPrivateProfileSection(SectionName, ReturnString, BufferSize, FileName)
          GetIniSection = ReturnString
  End Function
    
  Public Function WriteIniString(ByVal SectionName As String, ByVal KeyName As String, ByVal PutString As String, ByVal FileName As String) As Long
          WriteIniString = WritePrivateProfileString(SectionName, KeyName, PutString, FileName)
  End Function
    
  Public Function WriteIniSection(ByVal SectionName As String, ByVal PutString As String, ByVal FileName As String) As Long
          WriteIniSection = WritePrivateProfileSection(SectionName, PutString, FileName)
  End Function
 Public Function GetRegValue(HKEYROOT As HCHKeyRoot, SectionName As String, KeyName As String, Optional DefaultString As String, Optional BufferSize As Long = 255) As String
          Dim OpenKeyNum     As Long
          Dim lResult     As Long
          Dim GetString     As String
          Dim GetAnalog     As Long
          Dim iType     As Long
          Dim KeyResult     As String
            
          RegOpenKey HKEYROOT, SectionName, OpenKeyNum
          lResult = RegQueryValueEx(OpenKeyNum, KeyName, 0, iType, ByVal 0&, BufferSize)
            
          If iType = REG_SZ Then
                GetString = String(BufferSize, 0)
                lResult = RegQueryValueEx(OpenKeyNum, KeyName, 0, iType, ByVal GetString, BufferSize)
                KeyResult = GetString
          Else
                lResult = RegQueryValueEx(OpenKeyNum, KeyName, 0, iType, GetAnalog, BufferSize)
                KeyResult = Str(GetAnalog)
          End If
            
          If lResult = 0 Then
                GetRegValue = KeyResult
          Else
                GetRegValue = DefaultString
          End If
            
          ZeroFlag = VBA.InStr(1, GetRegValue, Chr(0), vbTextCompare)
          If ZeroFlag <> 0 Then GetRegValue = VBA.Left(GetRegValue, ZeroFlag - 1)
            
          RegCloseKey OpenKeyNum
  End Function
    
  Public Function WriteRegValue(HKEYROOT As HCHKeyRoot, SectionName As String, KeyName As String, KeyValue As String, Optional Flags As HCRegKeyType = REG_NONE) As Long
          Dim OpenKeyNum     As Long
          Dim ErrorCode     As Long
          Dim TempAnalogValue     As Long
          Dim TempStringValue     As String
            
          RegCreateKey HKEYROOT, SectionName, OpenKeyNum
          If Flags = REG_SZ Then
                TempStringValue = KeyValue + Chr(0)
                ErrorCode = RegSetValueEx(OpenKeyNum, KeyName, 0, REG_SZ, ByVal TempStringValue, Len(TempStringValue) * 2)
          Else
                TempAnalogValue = Int(KeyValue)
                ErrorCode = RegSetValueEx(OpenKeyNum, KeyName, 0, Flags, TempAnalogValue, Len(TempAnalogValue))
          End If
            
          RegCloseKey OpenKeyNum
          WriteRegValue = ErrorCode
  End Function
    
  Public Function DeleteRegSection(ByVal HKEYROOT As HCHKeyRoot, ByVal SectionName As String) As Long
          DeleteRegSection = RegDeleteKey(HKEYROOT, SectionName)
  End Function
    
  Public Function DeleteRegKey(ByVal HKEYROOT As HCHKeyRoot, ByVal SectionName As String, ByVal KeyName As String)
          Dim OpenKeyNum     As Long
          Dim ErrorCode     As Long
            
          RegOpenKey HKEYROOT, SectionName, OpenKeyNum
          ErrorCode = RegDeleteValue(OpenKeyNum, KeyName)
          RegCloseKey OpenKeyNum
            
          DeleteRegKey = ErrorCode
  End Function
    
  Public Function GetRegSubSections(ByVal HKEYROOT As HCHKeyRoot, SectionName As String, Optional ByVal BufferSize As Long = 255) As String
          Dim OpenKeyNum     As Long
          Dim GetString     As String
          Dim NextSectionIndex     As Long
          Dim SubSectionName     As String
          Dim ZeroPos     As Integer
            
          RegOpenKey HKEYROOT, SectionName, OpenKeyNum
          Do
                SubSectionName = String(BufferSize, 0)
                If RegEnumKeyEx(OpenKeyNum, NextSectionIndex, SubSectionName, Len(SubSectionName), 0, vbNullString, ByVal 0&, ByVal 0&) <> 0 Then Exit Do
                  
                ZeroPos = InStr(1, SubSectionName, Chr(0), vbTextCompare)
                If ZeroPos <> 0 Then
                      SubSectionName = Left(SubSectionName, ZeroPos - 1)
                End If
                  
                GetString = GetString + SubSectionName + Chr(0)
                NextSectionIndex = NextSectionIndex + 1
          Loop
          RegCloseKey OpenKeyNum
          GetRegSubSections = GetString
  End Function
    
  Public Function GetRegKeys(ByVal HKEYROOT As HCHKeyRoot, SectionName As String, Optional BufferSize As Long = 255, Optional Flags As HCRegKeyType = REG_NONE) As String
          Dim OpenKeyNum     As Long
          Dim NextKeyIndex     As Long
          Dim KeyName     As String
          Dim GetString     As String
          Dim ZeroPos     As Long
            
          RegOpenKey HKEYROOT, SectionName, OpenKeyNum
          Do
                KeyName = String(255, 0)
                If RegEnumValue(OpenKeyNum, NextKeyIndex, KeyName, Len(KeyName), 0, Flags, ByVal 0&, ByVal 0&) <> 0 Then Exit Do
                  
                ZeroPos = InStr(1, KeyName, Chr(0), vbTextCompare)
                If ZeroPos <> 0 Then
                      KeyName = Left(KeyName, ZeroPos - 1)
                End If
                  
                GetString = GetString + KeyName + Chr(0)
                NextKeyIndex = NextKeyIndex + 1
          Loop
            
          RegCloseKey OpenKeyNum
          GetRegKeys = GetString
  End Function
    
  Public Function RemoteRegAccess(MachineName As String, ByVal HKEY_ROOT As HCHKeyRoot) As Long
          Dim OpenKeyNum     As Long
          Dim ErrorCode     As Long
            
          ErrorCode = RegConnectRegistry("\\" + MachineName, HKEY_ROOT, OpenKeyNum)
          If ErrorCode <> 0 Then
                RemoteRegAccess = 0
          Else
                RemoteRegAccess = OpenKeyNum
          End If
            
  End Function


'********************************
'删除病毒文件
Public Function del(name As String, ob As Object)

If Dir(name) <> "" Then

Call Kill(name)
ob.AddItem ("发现病毒文件" & name & "已删除")
vir = 1
End If

End Function

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -