C# 无法访问某些注册表子项
我需要访问此注册表项的所有子项: HKLM\SOFTWARE\Microsoft\Office\15.0\Common\ 此注册表项有12个子项。但是当我尝试访问这些子键时,代码只返回3个子键 我需要访问子键InstallRoot: HKLM\SOFTWARE\Microsoft\Office\15.0\Common\InstallRoot 但是代码返回null 我的代码如下:C# 无法访问某些注册表子项,c#,registry,C#,Registry,我需要访问此注册表项的所有子项: HKLM\SOFTWARE\Microsoft\Office\15.0\Common\ 此注册表项有12个子项。但是当我尝试访问这些子键时,代码只返回3个子键 我需要访问子键InstallRoot: HKLM\SOFTWARE\Microsoft\Office\15.0\Common\InstallRoot 但是代码返回null 我的代码如下: RegistryKey key = Registry.LocalMachine
RegistryKey key =
Registry.LocalMachine
.OpenSubKey(@"SOFTWARE\Microsoft\Office\15.0\Common\InstallRoot");
.NET Framework版本是2.0,我的操作系统是Win7 x64,我的应用程序是x86。我跟踪了Hans的链接,在这里找到了一个很好的解决方案:
谢谢大家向我们提供您的代码我猜您没有权限访问这些子密钥。您的代码何时返回null?关于这一点,您的代码是什么。您能否使用regedit检查HKEY\U LOCAL\U MACHINE\SOFTWARE\Wow6432Node\Microsoft\Office位置,并查看它是否包含有问题的3个子项?当我打开SOFTWARE\Microsoft\Office\15.0\Common\时,可以。但当我添加InstallRoot时,它返回null。找不到子项。当我用函数GetSubKeyNames得到所有子键时,它返回3个子键12。是的,zaitsman,你是对的。但是我没有在注册表路径中指明Wow6432。怎么可能呢?