三略 2022-03-10 10:52 采纳率: 57.1%
浏览 42
已结题

注册表的花括号目录是什么?怎么获取不出来?要转义?

问题遇到的现象和发生背景

C#获取注册表的子目录不带花括号的可以正常获取,带花括号的无法获取

问题相关代码,请勿粘贴截图
static void unInstall() {
            string X64 = @"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\";
            string X32 = @"SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\";
            RegistryKey registry = Registry.CurrentUser.OpenSubKey(X64);
            string[] names =
            registry.GetSubKeyNames();
            foreach (string name in names) { Console.WriteLine(name); }
           
        }

运行结果及报错内容

Uninstall上级目录是不带花括号的结果正常

img

Uninstall的子目录是有{}花括号的,获取结果是这样的,问什么?

img

注册表

img

我的解答思路和尝试过的方法
我想要达到的结果

想获取每个目录下的所有key和value

  • 写回答

2条回答 默认 最新

  • CSDN专家-showbo 2022-03-10 11:51
    关注

    Registry.CurrentUser改为Registry.LocalMachine
    要不只能读取当前用户的注册表信息,LocalMachine才是对应注册表HKEY_LOCAL_MACHINE的

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 3月20日
  • 已采纳回答 3月12日
  • 创建了问题 3月10日