c# Microsoft.Win32.Registry.LocalMachine.OpenSubKey

问题描述 投票:0回答:1

我正在使用 Microsoft Visual Studio Professional 2022 开发现有的 C# 应用程序。在调试器中我可以看到:

Microsoft.Win32.RegistryKey rootPath = Microsoft.Win32.RegistryKey.LocalMachine.OpenSubKey("SOFTWARE\\CompanyName\\ConfigFiles");
if ( rootPath != null ) {
    path = rootPath.GetValue("Root").ToString();
}

在调试器中,当单步执行对 OpenSubKey 的调用时,我可以看到 rootPath 返回为 NOT null,然后调用 GetValue,但是我已经以管理员身份启动了 regedit,并且我已经查找:

Computer\HKEY_LOCAL_MACHINE\SOFTWARE\CompanyName\ConfigFiles

路径存在至:

Computer\HKEY_LOCAL_MACHINE\SOFTWARE

那么这在源代码中是如何工作的?我在这里缺少什么吗?

c# registry
1个回答
0
投票

发现问题,我使用的是 Windows 10,它是 64 位操作系统,如果我从命令控制台输入 regedit,它会启动有问题的 32 位版本,解决方案是打开命令控制台并转到:

C:\Windows\SysWOW64

然后输入:

regedit

问题现已解决,以前隐藏的缺失信息现在可见。

© www.soinside.com 2019 - 2024. All rights reserved.