【发布时间】:2019-06-22 11:48:53
【问题描述】:
我们正在建立一个嵌入式 Windows 系统,它需要具有更改系统日期和时间的功能。我们的系统不会像普通PC一样正常关机,而是用户直接断电。
问题出现在我们尝试使用SetLocalTime()等Win API函数(具有管理员权限)时,该函数刚刚执行时API成功,但是当用户重新启动机器时(即切断电源并打开它)再次),日期设置将恢复为之前的日期设置。看起来操作系统缓存了需要正常重启才能将设置存储到磁盘的设置。
有人知道如何在不重新启动操作系统的情况下立即“刷新数据缓存”吗?
非常感谢。
【问题讨论】:
-
你的电脑没有 RTC?
-
我们已经尝试过 SetSystemTime() 但仍然有同样的问题。
-
我们的电脑有一个 RTC。我们也尝试使用普通的 Windows 10 操作系统重现此问题。在正常的 Win 10 操作系统中,选择“调整日期/时间”(“自动设置时间”和“自动设置时区”均已关闭),然后更改日期并切断 PC 电源。然后再次打开它,日期将重置回之前的日期...
-
“用户将直接断电”。解决真正的问题。个人电脑的设计不是这样关闭的。事实上,硬件设计明确地阻止了这一点。旧电脑有一个硬电源开关,但现代电脑有一个电源按钮,可以执行受控关机。