我需要监视Windows机器上的注册表更改。是否可以从用户模式Windows服务而不是从Windows驱动程序使用RegistryCallback?大多数示例都用在驱动程序中。
答案 0 :(得分:3)
AFAIK否,因为它是通过CmRegisterCallback()
和CmRegisterCallbackEx()
注册的,只能在内核模式驱动程序中调用。
用户模式进程可以使用RegNotifyChangeKeyValue()
,但它不会报告有关对注册表所做的任何更改的详细信息。
SysInternals Process Monitor使用内核模式驱动程序监视详细的Registry活动,以便在用户模式查看器中显示。