我有一个运行在Windows CE 6(手持设备)上的程序,我注意到这种情况经常发生。我在HKEY_CURRENT_USER\SOFTWARE\my-app
上存储了一个值,用于控制用户使用该应用的最后日期。该值在我的程序中更新多次。在受控测试中,我在检查电池的电量后强制重新启动,我在那里看到了一个值,为简单起见说“A”。但是这个测试失败了,我不得不重新启动。然后,我检查了注册表值,现在它的值是“B”。然后,我再次取出电池进行测试,重新启动后,我注意到“A”值又被存回注册表中。当系统突然关机时,Windows将旧值恢复为注册表
我假设所发生的事情是Windows不是“提交”永久存储的值,并且它在我重新启动时被缓冲在内存中。无论如何,有没有办法强制这个值存储到硬盘?或者,如果情况并非如此,那么为什么这个旧值恢复到注册表以及如何避免这种情况发生?提前致谢。