VB.NET中修改系统的时间

本文介绍了一个使用VB.NET来设置计算机系统时间的方法。通过调用KERNEL32.DLL中的SetSystemTime函数,并结合SQL Server获取当前时间,再进行时区调整,实现了跨时区设置本地系统时间的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 
Imports System.Runtime.InteropServices
    <StructLayout(LayoutKind.Sequential)> _
    Public Structure SYSTEMTIME
        Public Year As Short
        Public Month As Short
        Public DayOfWeek As Short
        Public Day As Short
        Public Hour As Short
        Public Minute As Short
        Public Second As Short
        Public Miliseconds As Short
    End Structure

    'api函数声明
    <DllImport("kernel32.dll", CharSet:=CharSet.Ansi)> _
    Public Shared Function SetSystemTime(ByRef time As SYSTEMTIME) As Boolean
    End Function
  Private Sub button1_Click(ByVal sender As Object, ByVal e As System.EventArgs)
      Dim ServerTime As Date = F.G("select getdate()")
                ServerTime = ServerTime.AddHours(-8)
                Dim t As New SYSTEMTIME()
                t.Year = ServerTime.Year()
                t.Month = ServerTime.Month()
                t.Day = ServerTime.Day
                t.Hour = ServerTime.Hour
                '这个函数使用的是0时区的时间,对于我们用+8时区的,时间要自己算一下.如要设12点,则为12-8 
                t.Minute = ServerTime.Minute
                t.Second = ServerTime.Second
                t.Miliseconds = ServerTime.Millisecond
                Dim v As Boolean = SetSystemTime(t)
                MessageBox.Show(v)
    End Sub


 
 
         
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值