![]() |
wm_timechange beim Sperren von windows
Hallo
Ich habe hier ein seltsames Phänomen: Meine Anwendung ist 'systemzeitsensitiv', daher lauscht sie auf WM_TIMECHANGE. Das funktioniert auch, nur bekomme ich (getestet unter win10/64) diese Nachricht auch dann, wenn ich nur den Bildschirm sperre ( windowstaste + L), obwohl sich da die Systemzeit nicht ändert. Ist das normal? Gibt es eine andere (nicht zu komplizierte) Möglichkeit, einen Änderung der Systemzeit festzustellen. Grüße und Segen Tomy |
AW: wm_timechange beim Sperren von windows
Du könntest beim Start der Anwendung eine Art Differenz zwischen der aktuellen Systemzeit und GetTickCount bilden. Bei jedem Ereignis WM_TIMECHANGE könntest du dann wieder die Differenz zwischen Systemzeit und GetTickCount bilden und mit der ursprünglichen Differenz vergleichen. Ist die Differenz nahezu identisch wie bei der letzten Messung (vielleicht +/- 16 ms), wurde die Systemzeit nicht verändert.
|
AW: wm_timechange beim Sperren von windows
Es ändert sich zwar nicht die Uhrzeit, aber die Einstellungen der Zeit,
der andere Desktop hat z.B. eventuell ein anderes DatumsFormat. PS: WM_TIMECHANGE wird im Delphi von allen TWinControl verarbeitet/empfangen. Gut, den Broadcast empfangen nur die TopLevel-Controls/Forms (TForm ist ein TWinCopntrol), aber das empfangene WM_TIMECHANGE wird, als CM_TIMECHANGE an sich selbst geschickt und dann an alle unter UnterControls durchgereicht, also an jeden anderen TWinControl-Nachfahre, welcher auf der Form liegt, inkl. der Form selber. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:33 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz