Advertisement
6_2008-2009 Registry #200226

______A Edit Registry

How to Read and Write to the Registry using all HKEYS

AI

AI 요약: This codebase represents a historical implementation of the logic described in the metadata. Our preservation engine analyzes the structure to provide context for modern developers.

소스 코드
original-source
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
원본 댓글 (3)
Wayback Machine에서 복구됨