I'm using code like this by VB6 and it works perfect but not by VB.NET. Why?
Option Explicit
Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey 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 RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, ByVal lpValue As String, ByVal cbData As Long) As Long
Private Sub Command1_Click()
Const REG_SZ As Long = 1
Const HKEY_LOCAL_MACHINE = &H80000002
Const KEY_SET_VALUE = &H2
Dim sKeyName As String
Dim lRetVal As Long
Dim hregKey As Long
sKeyName = "SOFTWARE\Wiesemann & Theis\Com-server\Com2"
lRetVal = RegOpenKeyEx(HKEY_LOCAL_MACHINE, sKeyName, 0, KEY_SET_VALUE, hregKey)
Dim lValueType As Long
Dim vValueSetting As String
Dim sValueName As String
sValueName = "IpAddress"
lValueType = REG_SZ
vValueSetting = "123.45.67.89" & Chr$(0)
lRetVal = RegSetValueEx(hregKey, sValueName, 0, lValueType, vValueSetting, Len(vValueSetting))
RegCloseKey (hregKey)
End Sub