我正在通过我的软件编辑Windows注册表,例如它取代了Shell(Kiosk应用程序)。
现在我注意到在Win7下如果发生硬重置(重置按钮或4秒电源按钮),所有注册表更改都将丢失。
在WinXP下,它工作正常,即使经过硬重置后,我所做的更改仍然存在。
在Win7下编辑注册表后我是否需要做一些特殊的事情,或者这甚至是内置的Win7安全功能?
对我而言,看起来注册表更改尚未最终确定并且只是保存在内存中,直到发生软重置,这可能是真的吗?如果是这样,我可以以某种方式强行保存吗?
答案 0 :(得分:12)
听起来你想要RegFlushKey
功能。
只有当包含指定密钥的配置单元的所有数据都已写入磁盘上的注册表存储时,
RegFlushKey
函数才会返回。
RegFlushKey
函数写出自上次延迟刷新或系统启动以来已修改的配置单元中其他键的数据。