我在注册表中创建了一个子项,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 对话框),但注册表虚拟化仍在发生。微软关于此事的文档声称情况不应该如此。帮助!