UDF > Date >


_Date_Time_GetSystemTimeAdjustment

Détermine si le système applique des ajustements périodiques de l'heure

#include <Date.au3>
_Date_Time_GetSystemTimeAdjustment ( )

Valeur de retour

Retourne un tableau (array) au format suivant:
   [1] - Le nombre d'unités de 100 nanosecondes ajoutées à l'horloge à chaque réglage périodique de l'heure
   [2] - Le nombre d'unités de 100 nanosecondes entre les ajustements périodiques de l'heure
Cet intervalle correspond à la période de temps entre les interruptions d'horloge du système.
   [3] - True indique que l'ajustement périodique de l'heure est désactivée.
À chaque interruption d'horloge, le système ajoute simplement, l'intervalle entre les interruptions d'horloge, à l'horloge.
Si False, l'ajustement périodique de l'heure est utilisé pour ajuster l'heure.

En relation

_Date_Time_SetSystemTimeAdjustment

Exemple

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

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

Example()

Func Example()
    Local $aInfo

    ; Ouvre l'horloge pour voir un truc amusant
    Run("RunDll32.exe shell32.dll,Control_RunDLL timedate.cpl")
    WinWaitActive("[CLASS:#32770]")

    ; Récupère les réglages de l'heure actuelle
    $aInfo = _Date_Time_GetSystemTimeAdjustment()

    ; Ralentit l'horloge
    If Not _Date_Time_SetSystemTimeAdjustment($aInfo[1] / 10, False) Then
        MsgBox($MB_SYSTEMMODAL, "Erreur", "L'horloge système ne peut pas être RALENTIE." & @CRLF & @CRLF & _WinAPI_GetLastErrorMessage())
        Exit
    EndIf
    MsgBox($MB_SYSTEMMODAL, "Information", "Ralentit l'horloge système", 2)

    Sleep(5000)

    ; Accélére l'horloge
    If Not _Date_Time_SetSystemTimeAdjustment($aInfo[1] * 10, False) Then
        MsgBox($MB_SYSTEMMODAL, "Erreur", "L'horloge système ne peut pas être ACCÉLÉRÉE." & @CRLF & @CRLF & _WinAPI_GetLastErrorMessage())
    EndIf
    MsgBox($MB_SYSTEMMODAL, "Information", "Accélération de l'horloge système", 2)

    Sleep(5000)

    ; Réinitialise le réglage de l'heure
    If Not _Date_Time_SetSystemTimeAdjustment($aInfo[1], True) Then
        MsgBox($MB_SYSTEMMODAL, "Erreur", "L'horloge système ne peut pas être RÉINITIALISÉE" & @CRLF & @CRLF & _WinAPI_GetLastErrorMessage())
    Else
        MsgBox($MB_SYSTEMMODAL, "Information", "Horloge système restaurée")
    EndIf
EndFunc   ;==>Example