2010-11-06 70 views
2

注册表虚拟化有哪些选项可用于从XP开始的所有Windows版本?基本上我需要的是一种方法来劫持一些特定应用程序的注册表读取并返回“虚拟化”值。虚拟注册表到Windows XP

某些可能会增加解决方案复杂性的需求是这样一个事实,即该应用程序可以产生额外的进程,这些进程也需要进行虚拟化。

+0

您可能从http://msdn.microsoft.com/en-us/library/aa965884%28VS.85%29.aspx – 2010-11-06 15:02:44

+0

开始您可以从阅读问题开始。我需要这个用于Windows XP。 – user252337 2010-11-06 17:48:48

+0

@ Rafe的链接在哪里说它不适用于WinXP? – Bojangles 2012-01-20 19:12:42

回答

2

恐怕在Windows XP中没有现成的注册表虚拟化API或框架。您需要通过使用用户模式或内核模式注册表API钩子来构建一个。一些方法是:
- 用户模式通过使用像Microsoft Detours或MadCodeHook这样的SDK来挂接RegXxxx API。
- ZwXxx或NtXxx API的内核模式挂接(SSDT或内联)。 Sysinternals Regmon和现在的Sysinternals Process Monitor可以监控系统范围的注册表调用。

0

只有一个解决方案 - 使用boxedapp。它是创建虚拟注册表的SDK。它必须帮助你。祝你好运。

+1

很棒的建议。我遇到了一个应用程序的问题,需要从用户的LocalLow目录启动,并访问注册表以存储其首选项(提示:不起作用),并用BoxedApp虚拟化有问题的注册表项解决了我的问题。谢谢! – 2012-09-13 11:50:27