Bonjour à tous,
J'ai développé mon application pour recevoir le message WM_TIMECHANGE car j'avais un doute sur les changements d'heure intempestifs de Windows.
Ce message est envoyé à chaque fois que l'heure Windows est mise à jour.
Je constate que je reçois ce message régulièrement, à une fréquence qui semble dépendre des PC mais toujours avec le même décalage: 1 minutes.
Mon explication serait que Windows maintient un horloge logicielle qui se décalerait au fil du temps et se remettrait à jour lorsque le décalage atteint une minute, enfin c'est ce que j'en conclus.
Notez que ce PC n'est pas connecté à Internet et n'est pas sur un réseau.
Dans le gestionnaire d'évènement, je retrouve bien cette information dans l'item System (source=Kernel-General) avec le message suivant:
L'heure du système est passée de 2023-02-08T21:38:00,887702300Z à 2023-02-08T21:39:01.50000000Z.
Raison de la modification: System time synchronized with the hardware clock.
Procedure: "" (PID4)
Mon application tourne 24/24h pendant des mois et j'observe ce phénomène qui parfois arrive une fois tout les 2/3 mois, et parfois toutes les semaines.
Ca me pose un gros problème car je stocke des données au fil de l'eau que j'horo date.
J'ai chercher plusieurs solutions mais en vain:
- lire directement l'heure dans le composant RTC (Real time clock: composant sur la carte mere)
- ou empêcher windows de relire l'heure du RTC
- ou obliger Windows de se synchroniser avec le RTC à des moments précis uniquement (donc sur demande)
Vos suggestions SVP ?
merci
Partager