modReg.bas
资源名称:FireWall.rar [点击查看]
上传用户:yinyu8822
上传日期:2021-04-28
资源大小:79k
文件大小:5k
源码类别:
防火墙与安全工具
开发平台:
Visual Basic
- Attribute VB_Name = "modReg"
- 'Download by http://www.codefans.net
- 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, ByVal lpData As String, lpcbData As Long) As Long
- Declare Function RegOpenKeyEx Lib "advapi32" Alias "RegOpenKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal ulOptions As Long, ByVal samDesired As Long, phkResult As Long) As Long
- Declare Function RegSetValueEx Lib "advapi32" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, ByVal szData As String, ByVal cbData As Long) As Long
- Declare Function RegCloseKey Lib "advapi32" (ByVal hKey As Long) As Long
- Declare Function RegCreateKeyEx Lib "advapi32" 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
- Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
- Declare Function RegDeleteValue Lib "advapi32.dll" Alias "RegDeleteValueA" (ByVal hKey As Long, ByVal lpValueName As String) As Long
- #If Win32 Then
- Public Const HKEY_CLASSES_ROOT = &H80000000
- Public Const HKEY_CURRENT_USER = &H80000001
- Public Const HKEY_LOCAL_MACHINE = &H80000002
- Public Const HKEY_USERS = &H80000003
- Public Const KEY_ALL_ACCESS = &H3F
- Public Const REG_OPTION_NON_VOLATILE = 0&
- Public Const REG_CREATED_NEW_KEY = &H1
- Public Const REG_OPENED_EXISTING_KEY = &H2
- Public Const ERROR_SUCCESS = 0&
- Public Const REG_SZ = (1)
- #End If
- Type SECURITY_ATTRIBUTES
- nLength As Long
- lpSecurityDescriptor As Long
- bInheritHandle As Boolean
- End Type
- Public Const SREG = "SOFTWARESpyder-Net ProductionsSpyderPF"
- Public Function bSetRegValue(ByVal hKey As Long, ByVal lpszSubKey As String, ByVal sSetValue As String, ByVal sValue As String) As Boolean
- On Error Resume Next
- Dim phkResult As Long
- Dim lResult As Long
- Dim SA As SECURITY_ATTRIBUTES
- Dim lCreate As Long
- RegCreateKeyEx hKey, lpszSubKey, 0, "", REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, SA, phkResult, lCreate
- lResult = RegSetValueEx(phkResult, sSetValue, 0, REG_SZ, sValue, CLng(Len(sValue) + 1))
- RegCloseKey phkResult
- bSetRegValue = (lResult = ERROR_SUCCESS)
- End Function
- Public Function bGetRegValue(ByVal hKey As Long, ByVal sKey As String, ByVal sSubKey As String) As String
- Dim lResult As Long
- Dim phkResult As Long
- Dim dWReserved As Long
- Dim szBuffer As String
- Dim lBuffSize As Long
- Dim szBuffer2 As String
- Dim lBuffSize2 As Long
- Dim lIndex As Long
- Dim lType As Long
- Dim sCompKey As String
- lIndex = 0
- lResult = RegOpenKeyEx(hKey, sKey, 0, 1, phkResult)
- Do While lResult = ERROR_SUCCESS And Not (bFound)
- szBuffer = Space(255)
- lBuffSize = Len(szBuffer)
- szBuffer2 = Space(255)
- lBuffSize2 = Len(szBuffer2)
- lResult = RegEnumValue(phkResult, lIndex, szBuffer, lBuffSize, dWReserved, lType, szBuffer2, lBuffSize2)
- If (lResult = ERROR_SUCCESS) Then
- sCompKey = Left(szBuffer, lBuffSize)
- If (sCompKey = sSubKey) Then
- bGetRegValue = Left(szBuffer2, lBuffSize2 - 1)
- End If
- End If
- lIndex = lIndex + 1
- Loop
- RegCloseKey phkResult
- End Function
- Public Function bIndexReg(ByVal hKey As Long, ByVal sKey As String, lstBox As ListBox, val As String) As String
- Dim lResult As Long
- Dim phkResult As Long
- Dim dWReserved As Long
- Dim szBuffer As String
- Dim lBuffSize As Long
- Dim szBuffer2 As String
- Dim lBuffSize2 As Long
- Dim lIndex As Long
- Dim lType As Long
- Dim sCompKey As String
- Dim i As Long
- Dim r_List
- lIndex = 0
- lResult = RegOpenKeyEx(hKey, sKey, 0, 1, phkResult)
- Do While lResult = ERROR_SUCCESS And Not (bFound)
- szBuffer = Space(255)
- lBuffSize = Len(szBuffer)
- szBuffer2 = Space(255)
- lBuffSize2 = Len(szBuffer2)
- lResult = RegEnumValue(phkResult, lIndex, szBuffer, lBuffSize, dWReserved, lType, szBuffer2, lBuffSize2)
- If (lResult = ERROR_SUCCESS) Then
- sCompKey = Left(szBuffer, lBuffSize)
- If Left(szBuffer2, lBuffSize2 - 1) = val Then
- lstBox.AddItem sCompKey
- End If
- End If
- lIndex = lIndex + 1
- Loop
- RegCloseKey phkResult
- End Function
- Function DelSetting(hKey As Long, strPath As String, strValue As String)
- Dim Ret
- 'Create a new key
- RegCreateKey hKey, strPath, Ret
- 'Delete the key's value
- RegDeleteValue Ret, strValue
- 'close the key
- RegCloseKey Ret
- End Function