在 Windows 中检测 date/time 格式更改
Detect date/time format change in Windows
我有一个很长 运行(并且几乎总是显示)的应用程序,它显示当前时间。目前,如果您更改时区、时间格式或语言,格式不会更改,除非我退出并重新启动应用程序。我如何检测这些更改何时可以立即刷新格式?
请注意,这是本机代码,而不是托管代码(我无法更改它),因此任何仅托管的代码都是正确的。
更改时区会发送 WM_TIMECHANGE message to all top-level windows, while changing the time format sends a WM_SETTINGCHANGE 消息。更改语言(系统区域设置)需要重新启动,因此不会发送消息。
我有一个很长 运行(并且几乎总是显示)的应用程序,它显示当前时间。目前,如果您更改时区、时间格式或语言,格式不会更改,除非我退出并重新启动应用程序。我如何检测这些更改何时可以立即刷新格式?
请注意,这是本机代码,而不是托管代码(我无法更改它),因此任何仅托管的代码都是正确的。
更改时区会发送 WM_TIMECHANGE message to all top-level windows, while changing the time format sends a WM_SETTINGCHANGE 消息。更改语言(系统区域设置)需要重新启动,因此不会发送消息。