Imports System.Windows.Forms Imports Microsoft.Win32 Public Class App Public Shared Form1 As New Form Public Shared WithEvents Button1 As New Button Public Shared TextBox1 As New TextBox Public Shared TextBox2 As New TextBox Public Shared Label1 As New Label Public Shared Label2 As New Label Public Shared NtpValue As Integer Shared Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click TextBox1.Text = CStr(CInt(TextBox1.Text)) TextBox2.Text = CStr(CInt(TextBox2.Text)) NtpValue = (CInt(TextBox1.Text) * 86400) + (CInt(TextBox2.Text) * 3600) If NtpValue < 3600 Then MessageBox.Show("値が小さすぎます。") Return End If If (MessageBox.Show("更新間隔を " + TextBox1.Text + "日 と " + TextBox2.Text + "時間 " + "(" + CStr(NtpValue) + "秒) おきに設定しますか?", "Question", MessageBoxButtons.YesNo)) = DialogResult.Yes Then Try Registry.SetValue("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient\", "SpecialPollInterval", NtpValue, RegistryValueKind.DWord) MessageBox.Show("設定しました!") Catch MessageBox.Show("設定に失敗しました。管理者として実行し、もう一度お試しください。") End Try End If End Sub Public Shared Sub Main() NtpValue = Registry.GetValue("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient\", "SpecialPollInterval", 0) If NtpValue = 0 Then MessageBox.Show("設定値の取得に失敗しました。デフォルト値をセットします。") NtpValue = 604800 End If Form1.Text = "NTP 更新間隔設定" Form1.Width = 275 Form1.Height = 100 Form1.FormBorderStyle = FormBorderStyle.Fixed3D Button1.Text = "設定する" Button1.Top = 35 Button1.Left = 90 TextBox1.Multiline = False TextBox1.Left = 10 TextBox1.Top = 10 TextBox1.Width = 80 TextBox1.ScrollBars = ScrollBars.None TextBox1.Text = CStr(NtpValue / 86400) TextBox2.Multiline = False TextBox2.Left = 130 TextBox2.Top = 10 TextBox2.Width = 80 TextBox2.ScrollBars = ScrollBars.None TextBox2.Text = CStr((NtpValue Mod 86400) / 3600) Label1.Left = 90 Label1.Top = 15 Label1.Text = "日" Label2.Left = 210 Label2.Top = 15 Label2.Text = "時間" Form1.Controls.Add(Button1) Form1.Controls.Add(TextBox1) Form1.Controls.Add(TextBox2) Form1.Controls.Add(Label1) Form1.Controls.Add(Label2) Form1.ShowDialog() End Sub End Class