本文介绍了HKLM\Software 下的 OpenSubKey 返回 null的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这是我的代码:

Microsoft.Win32.RegistryKey key = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(@"SOFTWARE\ADM");

注册表项存在于机器上.键始终为空.

The registry entry exists on the machine. key is always null.

我不认为这是一个安全问题.我以管理员身份运行.(我什至明确地在管理员模式下运行程序集).

I don't think that this is a security issue. I'm running as Administrator. (I've even explicitly ran the assembly under Administrator mode).

我使用的是在 Windows 7 64 位上运行的 Visual Studio 2010.

I'm using Visual Studio 2010 running on Windows 7 64bit.

推荐答案

问题是我运行的是 64 位,而我的应用程序被编译为 32 位.

The problem is that I'm running 64bit and my app is compiled as 32bit.

正在读取的密钥:

Microsoft.Win32.RegistryKey key = 
    Microsoft.Win32.Registry.LocalMachine.OpenSubKey(@"SOFTWARE");

不是 HKLM\SOFTWARE 而是 HKLM\SOFTWARE\Wow6432Node\.将应用程序编译为 x64 可以解决问题.

Is not HKLM\SOFTWARE but instead HKLM\SOFTWARE\Wow6432Node\. Compiling the application as x64 solves the problem.

这篇关于HKLM\Software 下的 OpenSubKey 返回 null的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-10 10:26