我打算用 C 编写一个基本的 Windows 注册表过滤器。该过滤器的目的是 Hook 所有(用户和内核特权)注册表调用,以便我可以在我的程序中使用它们。我基本上是在复制 Mark Rusinovich 的 regmon/process monitor,但更基础。
我的问题是,一旦过滤器用 C 编写,您如何让系统实现自定义行为而不实现注册表调用的原始预期行为?
我正在使用 Windows 7
编辑:我正在尝试将此作为可以挂接所有注册表调用的爱好 C++ 项目的一部分。
最佳答案
为此有一些特殊的功能。参见 CmRegisterCallback() , CmRegisterCallbackEx()和 Filtering Registry Calls在 MSDN 上。
至于只安装内核模式驱动程序,您可以使用服务 Controller (sc.exe)。使用 sc create [service name] binPath= [path to your .sys file] type= kernel
创建内核模式服务并使用 sc start [service name]
启动它。在对驱动程序进行更改之前,不要忘记 sc stop
和 sc delete
它。
关于c - 我如何 "install"自定义 Windows 驱动程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7828663/