gpt4 book ai didi

c# - Regedit 显示未使用 GetSubKeyNames() 列出的键

转载 作者:行者123 更新时间:2023-11-30 22:23:33 26 4
gpt4 key购买 nike

我已经检查了一些关于 SO 的其他回复,但据我所知,这是一个与我得到的点击不同的问题。

当我打开 RegEdit 时,我可以看到一组键,但是当我使用例如从我的程序中列出它们时:

Registry.LocalMachine.OpenSubKey(@"SOFTWARE").GetSubKeyNames()

其中一些丢失了。我认为这可能与访问权限有关,所以我也检查了 .CurrentUser。在那里可以体验到相同的行为。一些子项只是没有列出。

我错过了什么?

最佳答案

您的操作系统是 x64 吗?如果是这种情况,对于“LocalMachine\Software”,有两个不同的节点:x64 应用程序的 Normal 和 x86 应用程序的 Wow6432Node。

演示上述内容的示例应用程序。

using System;
using Microsoft.Win32;

namespace ConsoleApplication1
{
internal class Program
{
public static void Main()
{
String[] values = Registry.LocalMachine.OpenSubKey(@"SOFTWARE").GetSubKeyNames();
foreach (String value in values)
Console.WriteLine(value);
}
}
}

这是在 x86 中构建控制台应用程序时我机器上的代码输出:

Adobe
AGEIA科技
酒精软
苹果电脑公司
苹果公司
奥雷亚尔
小红伞
蔚蓝
BazisSoft
C07ft5Y
佳能
思杰
...

这是在 x64 中构建控制台应用程序时我机器上的输出:

7-Zip
AGEIA科技
苹果电脑公司
苹果公司
ATI科技
佳能
类(class)
客户
...

如您所见,根据应用程序是 x86 还是 x64,输出差异很大。

编辑:similar question之前在 StackOverflow 上被问过。

关于c# - Regedit 显示未使用 GetSubKeyNames() 列出的键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13324920/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com