为了账号安全,请及时绑定邮箱和手机立即绑定

OpenSubKey()对于regedit.exe中可以看到的注册表项返回null

OpenSubKey()对于regedit.exe中可以看到的注册表项返回null

C#
精慕HU 2019-10-10 17:00:04
我正在尝试获取此键内所有子键的显示名称:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall使用此代码:     RegistryKey newKey;     string val;     string KeyPath64Bit = @"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall";     RegistryKey mainKey = Registry.LocalMachine.OpenSubKey(KeyPath64Bit);     string[] RegKeys64Bits = Registry.LocalMachine.OpenSubKey(KeyPath64Bit).GetSubKeyNames();     foreach (string s in RegKeys64Bits)     {        newKey = mainKey.OpenSubKey(s);        val = newKey.GetValue("DisplayName", -1, RegistryValueOptions.None).ToString();        if (val != "-1")           file64.WriteLine(val);     }运行代码后,我找不到我需要的键之一:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{DA5E371C-6333-3D8A-93A4-6FD5B20BCC6E}它应该具有显示名称:Microsoft Visual C ++ 2010 x64 Redistributable-10.0.30319,但是该GetSubKeyNames()方法为我提供了sub key:{DA5E371C-6333-3D8A-93A4-6FD5B20BCC6E}.KB2151757它没有任何显示名称。为什么我无法获得所需的确切子键({DA5E371C-6333-3D8A-93A4-6FD5B20BCC6E}),又如何获得呢?
查看完整描述

2 回答

?
翻翻过去那场雪

TA贡献2065条经验 获得超14个赞

在Visual Studio 2017中,转到``项目''>``属性''>``生成''>``取消选中32位,平台目标为''任何CPU''。


查看完整回答
反对 回复 2019-10-10
  • 2 回答
  • 0 关注
  • 776 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信