注册表文件

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

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

RegSaveKeyRegSaveKeyEx 使用 archive 属性创建文件。 文件在本地密钥进程的当前目录中创建,在远程密钥的 %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 函数与另一台计算机上的预定义注册表句柄建立连接。 应用程序使用此函数主要用于从网络环境中其他计算机上的远程注册表访问信息,也可以使用注册表编辑器执行此操作。 你可能想要访问远程注册表以备份注册表或规范对它的网络访问。 请注意,必须具有适当的权限才能使用此函数访问远程注册表。