跟踪Windows注册表中的更改

sum*_*mek 42 windows registry

有没有办法跟踪Windows注册表中的更改?我想看看在安装各种程序期间注册表中发生了哪些变化.

Fra*_*nov 45

Process Monitor允许您监视各种进程的文件和注册表活动.

  • 但是怎么做呢?使用像这样的一些指令:http://www.howtogeek.com/school/sysinternals-pro/lesson5/all/? (7认同)

Bla*_*Tea 40

可以监视特定程序所做的注册表更改.

http://www.nirsoft.net/utils/reg_file_from_application.html

更新:只需下载NirLauncher(包括NirSoft的所有应用程序).它是Windows工具箱的最佳补充之一. http://launcher.nirsoft.net/


小智 11

关于WMI和注册表:

有三个关于注册表的WMI事件类:

  • RegistryTreeChangeEvent
  • RegistryKeyChangeEvent
  • RegistryValueChangeEvent

注册表事件类

但您需要了解这些限制:

  • 使用RegistryTreeChangeEvent和RegistryKeyChangeEvent,无法直接告知实际更改了哪些值或键.为此,您需要在事件之前保存注册表状态,并将其与事件后的状态进行比较.

  • 您不能将这些类与HKEY_CLASSES_ROOT或HKEY_CURRENT_USER配置单元一起使用.您可以通过创建WMI类来表示要监视的注册表项来解决此问题:

使用限定符定义注册表类

并将其与__InstanceOperationEvent派生类一起使用.

因此,使用WMI监视注册表是可能的,但不太完美.优点是可以"实时"监控变化.另一个优势可能是WMI永久事件订阅:

随时接收事件

一种在任何时候监控注册表的方法,即.如果您的应用程序未运行,则为event.


Gre*_*ill 9

在没有额外工具的情况下执行此操作的简单方法是在安装之前将注册表导出到文本文件,然后将其导出到另一个文件.然后,比较两个文件.

话虽如此,Sysinternals工具对此非常有用.


Bao*_*dad 5

雷格肖特在这里值得一提。它会扫描所有注册表设置并拍摄快照,然后您稍后再次运行它以与原始快照进行比较,它会显示所有已更改的键和值。