注册表文件

应用程序可以将部分注册表保存在文件中,然后将文件的内容加载回注册表。 当作大量数据、在注册表中生成许多条目或数据是暂时的且必须加载然后再次卸载时,注册表文件非常有用。 备份和还原注册表部分的应用程序可能会使用注册表文件。

若要将键及其子项和值保存到注册表文件,应用程序可以调用 RegSaveKeyRegSaveKeyEx 函数。

RegSaveKeyRegSaveKeyEx 使用存档属性创建文件。 该文件是在本地密钥的进程当前目录中创建的,在远程密钥的 %systemroot%\system32 目录中创建。

注册表文件具有以下两种格式:标准格式和最新格式。 标准格式是 Windows 2000 支持的唯一格式。 Windows 的更高版本也支持它以实现向后兼容性。 RegSaveKey 以标准格式创建文件。

从 Windows XP 开始,支持最新格式。 无法在此格式中创建的注册表文件加载到 Windows 2000 上。 RegSaveKeyEx 可以通过指定REG_STANDARD_FORMAT或REG_LATEST_FORMAT来保存注册表文件。 因此,它可用于将使用标准格式的注册表文件转换为最新格式。

若要将注册表文件写回到注册表,应用程序可以使用 RegLoadKeyRegReplaceKeyRegRestoreKey 函数,如下所示。

  • RegLoadKey 将注册表数据从指定文件加载到调用应用程序的计算机上或远程计算机上的 HKEY_USERSHKEY_LOCAL_MACHINE 下的指定子项中。 如果该子项尚不存在,该函数将创建指定的子项。 调用此函数后,应用程序可以使用 RegUnLoadKey 函数将注册表还原到其以前的状态。
  • RegReplaceKey 将注册表中的键及其所有子项和值替换为指定文件中包含的数据。 新数据在下一次启动系统时生效。
  • RegRestoreKey 将注册表数据从指定文件加载到调用应用程序的计算机上或远程计算机上的指定键中。 此函数将指定键下面的子项和值替换为文件中顶级键后面的子项和值。

RegConnectRegistry 函数与另一台计算机上的预定义注册表句柄建立连接。 应用程序主要使用此函数从网络环境中的其他计算机上的远程注册表访问信息,也可以使用注册表编辑器执行此作。 你可能想要访问远程注册表来备份注册表或规范对它的网络访问。 请注意,必须使用此函数具有访问远程注册表的适当权限。