Langage :
VB6
,
VBA
Date ajout :
31/05/2009
Posté par
PCPT
[
Liste]
DateMAJ :
31/05/2009
Private Type SYSTEMTIME
wYear As Integer
wMonth As Integer
wDayOfWeek As Integer
wDay As Integer
wHour As Integer
wMinute As Integer
wSecond As Integer
wMilliseconds As Integer
End Type
Private Declare Function SetSystemTime Lib "kernel32" (lpSystemTime As SYSTEMTIME) As Long
Public Function SetDateTime(ByVal DateTime As Date) As Boolean
' NB : DATE UTC, tenir compte du décalage horaire désiré
Dim lpSystemTime As SYSTEMTIME
lpSystemTime.wYear = Year(DateTime)
lpSystemTime.wMonth = Month(DateTime)
lpSystemTime.wDayOfWeek = -1
lpSystemTime.wDay = Day(DateTime)
lpSystemTime.wHour = Hour(DateTime)
lpSystemTime.wMinute = Minute(DateTime)
lpSystemTime.wSecond = Second(DateTime)
lpSystemTime.wMilliseconds = 0
SetDateTime = (SetSystemTime(lpSystemTime) <> 0)
End Function
Remarque :
modifié depuis l'API-Guid
#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))