0

我在注册表中创建了一个子项,HKEY_LOCAL_MACHINE\SOFTWARE\MyApp\APIConnector. 当我使用 Visual Studio 的即时窗口加载此子项而没有运行已启动的应用程序时,我可以读取该子项。

但是,当我的应用程序查找 时HKEY_LOCAL_MACHINE\SOFTWARE\MyApp\APIConnector,它找不到它。它甚至找不到HKEY_LOCAL_MACHINE\SOFTWARE\MyApp。好像有不一样的

但是,当我在调试模式下运行应用程序并暂停时,找不到完全相同的代码,HKEY_LOCAL_MACHINE\SOFTWARE\MyApp更不用说HKEY_LOCAL_MACHINE\SOFTWARE\MyApp\APIConnector.

经过一番挖掘,看起来我已经成为注册表虚拟化的受害者。所以我添加了一个清单,使应用程序需要管理员权限(UAC 对话框),但注册表虚拟化仍在发生。微软关于此事的文档声称情况不应该如此。帮助!

4

1 回答 1

2

也许您正受到 Wow64 注册表重定向的影响,而不是(或连同?)注册表虚拟化:

访问注册表时,Windows 肯定会出现很多烟雾和镜像。

于 2012-03-19T14:45:00.333 回答