我有一個運行在Windows CE 6(手持設備)上的程序,我注意到這種情況經常發生。我在HKEY_CURRENT_USER\SOFTWARE\my-app
上存儲了一個值,用於控制用戶使用該應用的最後日期。該值在我的程序中更新多次。在受控測試中,我在檢查電池的電量後強制重新啓動,我在那裏看到了一個值,爲簡單起見說「A」。但是這個測試失敗了,我不得不重新啓動。然後,我檢查了註冊表值,現在它的值是「B」。然後,我再次取出電池進行測試,重新啓動後,我注意到「A」值又被存回註冊表中。當系統突然關機時,Windows將舊值恢復爲註冊表
我假設所發生的事情是Windows不是「提交」永久存儲的值,並且它在我重新啓動時被緩衝在內存中。無論如何,有沒有辦法強制這個值存儲到硬盤?或者,如果情況並非如此,那麼爲什麼這個舊值恢復到註冊表以及如何避免這種情況發生?提前致謝。