我一直在尝试找到一种方法来"碎片整理"我的Windows机器上的注册表。首先,这样做有意义吗?有什么好处吗?(在superuser.com上没有太多关注)其次,我正在寻找一种使用C/C++和Windows API重写注册表的方法。是否有一种方法可以读取注册表并将其写入新文件,同时清除未使用的字节?(我可能需要编写新文件,然后启动另一个OS /磁盘,然后才能覆盖原始文件...但我愿意冒这个风险。)
我一直在尝试找到一种方法来"碎片整理"我的Windows机器上的注册表。首先,这样做有意义吗?有什么好处吗?(在superuser.com上没有太多关注)其次,我正在寻找一种使用C/C++和Windows API重写注册表的方法。是否有一种方法可以读取注册表并将其写入新文件,同时清除未使用的字节?(我可能需要编写新文件,然后启动另一个OS /磁盘,然后才能覆盖原始文件...但我愿意冒这个风险。)
http://www.larshederer.homepage.t-online.de/erunt/ - NTREGOPT NT注册表优化工具
与Windows 9x / Me类似,NT系统中的注册表文件随着时间的推移可能会变得碎片化,占用硬盘上比必要更多的空间并降低整体性能。您应该经常使用NTREGOPT实用程序,特别是在安装或卸载程序后,以最小化注册表文件的大小并优化注册表访问。
该程序通过“从头开始”重新创建每个注册表子项,从而删除可能留下的任何空闲空间,这些空间来自先前修改或删除的键。
http://reboot.pro/index.php?showtopic=11212 - Offreg.dll MS WDK离线注册表库
离线注册表库(Offreg.dll)用于在活动系统注册表之外修改注册表子项。此库旨在用于注册表更新方案,例如为操作系统映像提供服务。该库支持从Windows XP开始的注册表子项格式。 开发人员受众
http://reboot.pro/topic/11312-offline-registry/ - 离线注册表MS WDK命令行工具
一个命令行工具,允许您读取和写入离线注册表子项。
读取这些值应该是可行的。
但我从未见过任何关于注册表文件如何写入磁盘的规范,除非你能找到一个,否则你必须在操作系统中反向工程这些文件(可能在XP和7之间存在差异)。然后你必须记住,注册表不仅仅是一个文件,它是多个文件,其中一些属于特定的用户,我认为他们使用SID而不是用户名,因此即使您将它们移动到新计算机上,您也必须确保它是具有相同用户设置的相同OS版本和相同SID。
所有这些都是为了很少或没有收益,所以我同意超级用户的观点,这是没有意义的。