I did receive a couple inquiries about
yesterday's post with
VB.NET. Well, here goes:
Imports Microsoft.Win32
Public Class frmMain
Const basetzikey = _
"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones\"
Private Sub frmMain_Load(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles Me.Load
FillComboBox(cbxTimeZone)
End Sub
Private Sub FillComboBox(ByVal cbxCombo As ComboBox)
Dim rootkey As RegistryKey
Dim subkeynames As String()
Dim subkeyname As String
cbxCombo.Items.Clear()
rootkey = Registry.LocalMachine
subkeynames = rootkey.OpenSubKey(basetzikey, False).GetSubKeyNames
For Each subkeyname In subkeynames
cbxCombo.Items.Add(subkeyname.ToString)
Next
End Sub
Private Sub cbxTimeZone_SelectedValueChanged(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles cbxTimeZone.SelectedValueChanged
FillTextEdit(cbxTimeZone.Text, txtOutput)
End Sub
Private Sub FillTextEdit(ByVal timezone As String, _
ByRef txtEdit As TextBox)
Dim sb As New System.Text.StringBuilder
Dim rootkey As RegistryKey
Dim subkeyvalues As String()
Dim subkeyvalue As String
Dim keyname As String
Dim b As Byte()
Dim i As Integer
txtEdit.Clear()
sb.Append(basetzikey)
sb.Append(timezone)
keyname = sb.ToString
' clear stringbuilder
sb.Remove(0, sb.Length)
rootkey = Registry.LocalMachine
subkeyvalues = rootkey.OpenSubKey(keyname, False).GetValueNames
For Each subkeyvalue In subkeyvalues
sb.Remove(0, sb.Length)
sb.Append(subkeyvalue)
sb.Append(": ")
sb.Append(rootkey.OpenSubKey(keyname, False).GetValue(subkeyvalue).ToString)
sb.Append(vbCrLf)
If (subkeyvalue = "TZI") Then
b = rootkey.OpenSubKey(keyname, False).GetValue(subkeyvalue)
i = BitConverter.ToInt32(b, 0)
sb.Append("Bias: ")
sb.Append(i.ToString)
sb.Append(" minutes.")
sb.Append(vbCrLf)
End If
txtEdit.AppendText(sb.ToString)
Next
End Sub
End Class
Labels: .NET, Code, VB.NET