Option Strict On Option Explicit On Imports Microsoft.Win32 Public Class clsUserInfo Private mvarIPAddress As String = "127.0.0.1" Private mvarSubNetMask As String = "255.255.255.0" Private mvarUserName As String = "Gremmy" Private mvarProgramPort As String = "1669" Friend Property IPAddress() As String Get Return mvarIPAddress End Get Set(ByVal value As String) mvarIPAddress = value End Set End Property Friend Property SubNetMask() As String Get Return mvarSubNetMask End Get Set(ByVal value As String) mvarSubNetMask = value End Set End Property Friend Property UserName() As String Get Return mvarUserName End Get Set(ByVal value As String) mvarUserName = value End Set End Property Friend Property DefaultPort() As String Get Return mvarProgramPort End Get Set(ByVal value As String) mvarProgramPort = value End Set End Property Public Sub Load() Try Dim rk As RegistryKey Dim keyValue As String keyValue = "Software\IPChat" rk = Registry.CurrentUser.OpenSubKey(keyValue, False) mvarUserName = DirectCast(rk.GetValue("UserName", "NotSpecified"), String) rk.Close() rk = Registry.LocalMachine.OpenSubKey(keyValue, False) mvarProgramPort = DirectCast(rk.GetValue("ChatPort", "1669"), String) mvarIPAddress = DirectCast(rk.GetValue("LocalIPAddress", "127.0.0.1"), String) mvarSubNetMask = DirectCast(rk.GetValue("SubnetMask", "255.255.255.0"), String) rk.Close() Catch ex As Exception MsgBox("Unable to read values from registry. Using default values") End Try End Sub Public Sub Save() Dim keyValue As String = "Software\IPChat" Dim rk As RegistryKey Try rk = Registry.CurrentUser.CreateSubKey(keyValue) Catch ex As Exception MsgBox(ex.Message) Finally rk.SetValue("UserName", mvarUserName) rk.Close() End Try Try rk = Registry.LocalMachine.CreateSubKey(keyValue) Catch ex As Exception MsgBox(ex.Message) Finally rk.SetValue("ChatPort", mvarProgramPort.ToString) rk.SetValue("LocalIPAddress", mvarIPAddress) rk.SetValue("SubnetMask", mvarSubNetMask) rk.Close() End Try End Sub End Class