繁体   English   中英

C#获取Office ClickToRun注册表项返回null

[英]C# get Office ClickToRun Registry Key returns null

我希望从注册表项“ 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一起显示的键。 用其他注册表项测试了代码,它可以正常工作。

有任何想法吗?

问题是关于64位注册表。 我已经在64位mashine上安装了32位Office。 现在,我使用64位注册表项,并且工作正常。

有关更多信息,请参见此文章:

从32位应用程序读取64位注册表

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM