UDF > Date >


_Date_Time_SetSystemTime

Définit date/heure courante du système, exprimée en UTC

#include <Date.au3>
_Date_Time_SetSystemTime ( $tSYSTEMTIME )

Paramètre

$tSYSTEMTIME Structure $tagSYSTEMTIME qui contient les nouvelles date et heure locales ou un pointeur vers elle.

Valeur de retour

Succès: Retourne True
Échec: Retourne False

Remarques

La fonction SetLocalTime active le privilège SE_SYSTEMTIME_NAME avant de changer l'heure locale

En relation

$tagSYSTEMTIME, _Date_Time_GetSystemTime

Exemple

#include <Date.au3>
#include <GUIConstantsEx.au3>
#include <MsgBoxConstants.au3>
#include <WinAPIError.au3>
#include <WindowsConstants.au3>

; Sous Vista, l'API Windows « SetSystemTime » peut être rejetée en raison de la sécurité du système

Global $g_idMemo

Example()

Func Example()
    Local $tCur, $tNew

    ; Crée la GUI
    GUICreate("Temps", 400, 300)
    $g_idMemo = GUICtrlCreateEdit("", 2, 2, 396, 296, $WS_VSCROLL)
    GUICtrlSetFont($g_idMemo, 9, 400, 0, "Courier New")
    GUISetState(@SW_SHOW)

    ; Obtient l'heure actuelle du système
    $tCur = _Date_Time_GetSystemTime()
    MemoWrite("Date/heure actuelles du système . : " & _Date_Time_SystemTimeToDateTimeStr($tCur))

    ; Définit la nouvelle heure du système
    $tNew = _Date_Time_EncodeSystemTime(8, 19, @YEAR, 3, 10, 45)
    If Not _Date_Time_SetSystemTime($tNew) Then
        MsgBox($MB_SYSTEMMODAL, "Erreur", "L'horloge système ne peut pas être définie" & @CRLF & @CRLF & _WinAPI_GetLastErrorMessage())
        Exit
    EndIf
    $tNew = _Date_Time_GetSystemTime()
    MemoWrite("Nouvelle date/heure du système... : " & _Date_Time_SystemTimeToDateTimeStr($tNew))

    ; Restaure l'heure du système
    _Date_Time_SetSystemTime($tCur)

    ; Obtient l'heure actuelle du système
    $tCur = _Date_Time_GetSystemTime()
    MemoWrite("Date/heure actuelles du système . : " & _Date_Time_SystemTimeToDateTimeStr($tCur))

    ; Boucle jusqu'à ce que l'utilisateur quitte.
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE
EndFunc   ;==>Example

; Écrit une ligne dans le contrôle mémo
Func MemoWrite($sMessage)
    GUICtrlSetData($g_idMemo, $sMessage & @CRLF, 1)
EndFunc   ;==>MemoWrite