UDF > Date >


_Date_Time_SetSystemTimeAdjustment

Active ou désactive les ajustements périodiques de l'heure de l'horloge du sytème

#include <Date.au3>
_Date_Time_SetSystemTimeAdjustment ( $iAdjustment, $bDisabled )

Paramètres

$iAdjustment Le nombre d'unités de 100 nanosecondes ajoutées à l'horloge machine à chaque interruption d'horloge si le réglage périodique de l'heure est actif.
$bDisabled Une valeur True indique que l'ajustement périodique du temps doit être désactivé. Le système est libre de régler l'heure jour à l'aide de ses propres mécanismes internes. Les mécanismes de réglage interne du système peuvent faire sauter sensiblement l'horloge machine lorsque les réglages sont effectués. Une valeur False spécifie qu'un ajustement périodique du temps doit être activé, et qu'il servira à ajuster l'horloge machine. Le système n'interférera pas avec le modèle de réglage du temps, et ne va pas tenter de synchroniser l'heure de la journée sur son propre.
Le système ajoutera la valeur de $iAdjustment à l'heure du jour à chaque interruption d'horhorloge.

Valeur de retour

Succès: Retourne True
Échec: Retourne False

En relation

_Date_Time_GetSystemTimeAdjustment

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