我有一个长期运行(几乎总是显示),显示当前时间的应用程序。 目前,如果您更改时区,时间格式或语言,格式不会更改,除非我退出并重新启动应用程序。 我怎样才能检测到这些变化,以便我可以立即刷新格式?
请注意,这是本地的,而不是托pipe代码(我不能改变这个),所以任何被托pipe的东西都是正确的。
更改时区向所有顶层窗口发送WM_TIMECHANGE消息,而更改时间格式则发送WM_SETTINGCHANGE消息。 更改语言(系统区域设置)需要重新启动,因此不会发送消息。