Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi wm_timechange beim Sperren von windows (https://www.delphipraxis.net/213395-wm_timechange-beim-sperren-von-windows.html)

TomyN 23. Jul 2023 22:08

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

Papaschlumpf73 23. Jul 2023 22:23

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.

himitsu 24. Jul 2023 01:00

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