#Region "déclarations SetSystemTime"
<StructLayout(LayoutKind.Sequential)> _
Private Structure SYSTEMTIME
Dim wYear As Short
Dim wMonth As Short
Dim wDayOfWeek As Short
Dim wDay As Short
Dim wHour As Short
Dim wMinute As Short
Dim wSecond As Short
Dim wMilliseconds As Short
End Structure
<DllImportAttribute("kernel32.dll", SetLastError:=True)> _
Private Function SetSystemTime(<[In]()> ByRef lpSystemTime As SYSTEMTIME) As Boolean
End Function
#End Region
Public Function SetDateTime(ByVal DTime As System.DateTime) As Boolean
'NB : DATE UTC, tenir compte du décalage horaire désiré
Dim lpSystemTime As SYSTEMTIME
lpSystemTime.wYear = Convert.ToUInt16(DTime.Year)
lpSystemTime.wMonth = Convert.ToUInt16(DTime.Month)
lpSystemTime.wDay = Convert.ToUInt16(DTime.Day)
lpSystemTime.wHour = Convert.ToUInt16(DTime.Hour)
lpSystemTime.wMinute = Convert.ToUInt16(DTime.Minute)
lpSystemTime.wSecond = Convert.ToUInt16(DTime.Second)
Return SetSystemTime(lpSystemTime)
End Function
Remarque :
nécessite :
Imports System
Imports System.Runtime.InteropServices
utilisation possible :
SetDateTime(New DateTime(2009, 6, 2, 20, 30, 0, 0, DateTimeKind.Unspecified))