'PUT THIS IN THE DECLARATIONS SECTION:
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
Declare Function RegQueryValueExString Lib "advapi32.dll" Alias "RegQueryValueExA" ( _
ByVal hKey As Long, _
ByVal lpValueName As String, _
ByVal lpReserved As Long, _
lpType As Long, _
ByVal lpData As String, _
lpcbData As Long _
) As Long ' Note that if you declare the lpData parameter as String, you must pass it By Value.
Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long
Dim msKeyValue as string
Const SubKey_Name As string = "Software\Microsoft\Internet\Net2Net\Set"
Const SubKey_Value as string = "SMTP"
'NOW 3 SUBROUTINES TO OPEN, READ AND CLOSE THE KEY
Sub OpenKey()
Dim lReturn As Long
lst.Clear
lst.AddItem "Opening the key"
lReturn = RegOpenKeyEx(HKEY_CURRENT_USER, SubKey_Name, 0, KEY_READ, mhKeyHandle)
lst.AddItem "...Return value = " & Str(lReturn)
lst.AddItem "...Key Open"
lst.AddItem "...Key handle = " & Str(mhKeyHandle)
End Sub
Sub ReadKey()
Dim lReturn As Long
Dim lLen As Long
Dim lType As Long
lLen = 200
lType = REG_SZ
msKeyValue = String(lLen, 0)
lReturn = RegQueryValueExString(mhKeyHandle, SubKey_Value, 0&, lType, msKeyValue, lLen)
lst.AddItem "...Return value = " & Str(lReturn)
msKeyValue = Left$(msKeyValue, lLen)
lst.AddItem "...Key value = " & msKeyValue
End Sub
Sub CloseKey()
Dim lReturn As Long
lst.AddItem "Closing the key"
lReturn = RegCloseKey(mhKeyHandle)
lst.AddItem "...Return value = " & Str(lReturn)
lst.AddItem "...Key closed"
End Sub