it's fine with NT, heres the code:
Code:
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

Private Declare Sub GetSystemTime _
Lib "kernel32" (lpSystemTime As SYSTEMTIME)

Private Sub Command1_Click()
Dim oldtime As SYSTEMTIME
GetSystemTime oldtime
End Sub

Private Sub Command2_Click()
Dim tNew As SYSTEMTIME
Dim lRet&
With tNew
    .wDay = 20
    .wDayOfWeek = 0
    .wHour = 7
    .wMilliseconds = 12
    .wMinute = 30
    .wMonth = 5
    .wSecond = 21
    .wYear = 2001
End With
lRet = SetSystemTime(tNew)
End Sub