hiro1357 icon

NTP更新間隔設定2.vb

hiro1357 | PRO | 11/25/15 02:38:05 PM UTC | 0 ⭐ | 375 👁️ | Never ⏰ | []
VB.NET |

3.59 KB

|

None

|

0 👍

/

0 👎

 
'C:\Windows\Microsoft.NET\Framework\v4.0.30319\vbc /out:test.exe test.vb
 
Imports System.Windows.Forms
Imports Microsoft.Win32
 
Public Class Form1
    Inherits Form
 
    Private components As System.ComponentModel.IContainer
 
    Friend WithEvents Button1 As New Button
    Friend TextBox1 As New TextBox
    Friend TextBox2 As New TextBox
    Friend Label1 As New Label
    Friend Label2 As New Label
 
 
    Private NtpValue As Integer
 
 
    Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        NtpValue = Registry.GetValue("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient\", "SpecialPollInterval", 0)
        If NtpValue = 0 Then
            MessageBox.Show("設定値の取得に失敗しました。デフォルト値をセットします。")
            NtpValue = 604800
        End If
    End Sub
 
 
    Private 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
 
 
    Protected Overrides Sub Dispose(ByVal disposing As Boolean)
        Try
            If disposing AndAlso components IsNot Nothing Then
                components.Dispose()
            End If
        Finally
            MyBase.Dispose(disposing)
        End Try
    End Sub
 
    Sub New()
        Me.SuspendLayout()
 
        Me.Text = "NTP 更新間隔設定"
        Me.Width = 275
        Me.Height = 100
        Me.FormBorderStyle = FormBorderStyle.Fixed3D
 
 
        Me.Button1.Text = "設定する"
        Me.Button1.Top = 35
        Me.Button1.Left = 90
 
        Me.TextBox1.Multiline = False
        Me.TextBox1.Left = 10
        Me.TextBox1.Top = 10
        Me.TextBox1.Width = 80
        Me.TextBox1.ScrollBars = ScrollBars.None
        Me.TextBox1.Text = CStr(NtpValue / 86400)
 
        Me.TextBox2.Multiline = False
        Me.TextBox2.Left = 130
        Me.TextBox2.Top = 10
        Me.TextBox2.Width = 80
        Me.TextBox2.ScrollBars = ScrollBars.None
        Me.TextBox2.Text = CStr((NtpValue Mod 86400) / 3600)
 
        Me.Label1.Left = 90
        Me.Label1.Top = 15
        Me.Label1.Text = "日"
 
        Me.Label2.Left = 210
        Me.Label2.Top = 15
        Me.Label2.Text = "時間"
 
        Me.ResumeLayout(False)
 
        Me.Controls.Add(Button1)
        Me.Controls.Add(TextBox1)
        Me.Controls.Add(TextBox2)
        Me.Controls.Add(Label1)
        Me.Controls.Add(Label2)
    End Sub
End Class
 
Public Class App
    Shared WithEvents Form1_Instance As New Form1
 
    Public Shared Sub Main()
        Form1_Instance.ShowDialog()
    End Sub
End Class

Comments