【发布时间】:2012-03-24 04:48:33
【问题描述】:
我需要在我的应用程序中通过 API 更改 DST 和时区。 我在以下链接末尾修改并复制了“SetTimeZoneInformation”用法示例并运行它: http://msdn.microsoft.com/en-us/library/windows/desktop/ms724944(v=vs.85).aspx
我假设我的时间设置应该反映在托盘或控制面板中的时间设置。但是什么也没发生。
以下几点也应该注意。
此代码修改“HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation”关键内容。 并且“HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones\my time zone”线程没有变化。但这就是我要找的!
有没有办法在 C++ 中使用 API 修改“我的时区”?
已添加(来自应在此处编辑的答案):
所以,实际上,我的目标是让我的应用程序在 Win7 下运行。现有功能使用 MANUAL DST 支持。因此,我需要以某种方式将此手动 DST 和 GMT 偏移设置与 Win7 同步。据我了解,SetTimeZoneInformation 函数只是尝试根据我的输入从现有的一组时区中查找时区。如果没有时区等于我的输入,Win7 使用默认时区,例如 UTC-12,并通知用户“当前时区无法识别”。
那么,我应该用什么方法来实现呢?
【问题讨论】: