如何在Windows CE上保留系统时间设置

时间:2013-02-07 15:46:17

标签: time windows-ce

我正在使用Windows CE 6.0设备,当我设置设备时间(programatically或手动设置)时,设备在我拔掉电源时不记得设置。

如何确保保存时间设置?我需要以编程方式将设备时间与服务器同步,这会在设备电源关闭时造成困难。

我猜测问题可能是某些注册表设置没有被保留,但我不确定时间是否存储在这些中,我没有找到如何强制存储它们的方法。

感谢您的建议。

编辑:设备重启后,时钟不会完全复位,只会返回错误的时间。重启后设备的时间总是大约1小时。

1 个答案:

答案 0 :(得分:2)

如果设备正在丢失电源的时间,那是因为它没有电池供电时钟或时钟电池耗尽。没有任何电源,设备无法保持时间,并且没有办法让设备节省时间,没有添加某种形式的备用电源(或更换电池,如果它有一个)。

修改

如果时钟重置为系统默认值,但仅按小时更改,那么强烈表示它正在丢失DST或时区设置。这两个都存储在注册表中,因此您的注册表设置可能不会持久存在。这可能有几个原因:

  1. 您已对注册表进行了更改,但未告知操作系统保存更改。可以将OS配置设置为定期保存更​​改,或仅在明确告知时保存更改。你最好的选择是对时钟进行更改(我假设你在调整时钟时改变时区和/或DST?)然后显式调用RegFlushKey API来强制注册表保存。
  2. 您的设备没有持久注册表。只有OEM才能解决这个问题。测试很简单,创建一个注册表项,调用RegFlushKey并重新启动以查看它是否仍然存在。如果不是,那么您的设备不会保留注册表设置,并且您可能运气不佳。