我想从注册表项" HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Office \ ClickToRun \ Configuration"中获取一些信息。
在某些情况下,我没有获得注册表项对象。为了排除故障,我尝试了以下方法:
RegistryKey k2 = Registry.LocalMachine.OpenSubKey("SOFTWARE");
RegistryKey k3 = Registry.LocalMachine.OpenSubKey("SOFTWARE\\Microsoft");
RegistryKey k4 = Registry.LocalMachine.OpenSubKey("SOFTWARE\\Microsoft\\Office");
RegistryKey k5 = Registry.LocalMachine.OpenSubKey("SOFTWARE\\Microsoft\\Office\\ClickToRun");
这是我所拥有的代码:
k2 - >正确的对象
k3 - >正确的对象
k4 - >正确的对象
k5 - >空
我已多次检查密钥的名称,当然密钥存在于系统上。
当我像这样搜索SubKey k4时:
foreach (string test in k4.GetSubKeyNames()) {
test.ToString();
}
我找不到密钥" ClickToRun"但是我可以找到一些没有用regedit显示的键。用其他注册表项测试代码,它工作正常。
有什么想法吗?
答案 0 :(得分:0)
问题在于64位注册表。我在64位mashine上安装了32位Office。现在我使用64位注册表委托,它工作正常。
有关更多信息,请参阅此artice: