Windows Mobile下完整注册表备份和恢复的方案:
在Windows Mobile下完整的注册表备份和恢复,可以用到RegCopyFile(),RegRestoreFile()和RegSaveKey(),RegReplaceKey() 两组函数。
RegCopyFile()和 RegSaveKey()是两类函数,都是拷贝注册表,不同是他们是针对的是不同类型的注册表。在WINCE下注册表类型,分为基于对象存储(oject storage)的注册表和基于HIVE结构的注册表。基于对象存储(oject storage)的注册表。用于将注册表数据全部保存在RAM中。基于HIVE的注册表。用于将注册表数据全部或部分保存到永久存储器上。 RegCopyFile()就是针对对象存储(oject storage)的注册表,而RegSaveKey()是针对HIVE的注册表。
当你试着直接使用这两个函数时,会发现程序无法识别这两个函数。这是因为程序缺少Pwinreg.h 这个头文件。解决的办法就是下载PB这款软件,安装之后再PB软件下面找到Pwinreg.h文件拷贝到项目下面直接调用。
几点需要注意的事情:
1,是在使用RegReplaceKey()时需要按照下面的一个流程来做
a>Regreplacekey() 恢复;
b>Regflushkey() 促使它一下写全;
c>程序休眠3-5秒,让写的过程结束;
d>程序自己马上软重启(2003与2005不同)。
2,恢复后需要软重启;
3,区分好不同类型的注册表;
4,一定要包含Pwinreg.h和winreg.h两头文件