gpt4 book ai didi

c# - 注册表HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\是否显示所有子项

转载 作者:太空宇宙 更新时间:2023-11-03 18:53:39 24 4
gpt4 key购买 nike

如果我打开这个注册表,并读出所有子项,它与我的注册表编辑器显示的不同。

我打开注册表并读出所有子项的方式:

//Get all results of the specified registery
string registry_key = @"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall";
using (Microsoft.Win32.RegistryKey key = Registry.LocalMachine.OpenSubKey(registry_key))
{
foreach (string subkey_name in key.GetSubKeyNames())
{
using (RegistryKey subkey = key.OpenSubKey(subkey_name))
{
Console.WriteLine(subkey.Name);
}
}
}

这为我提供了此注册表项中所有子项的输出。

例如,我将取出一个:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{FDCFD759-BA24-F0C8-FE83-43513EE6D443}

当我检查我的注册表编辑器时。并搜索此示例,它不在给定位置,但在:

HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{FDCFD759-BA24-F0C8-FE83-43513EE6D443}

所以来到这个问题......

注册表编辑器是否显示所有子项?

如果对我的问题或评论有任何疑问,我很乐意听到!

最佳答案

它被称为“Windows on Windows”,这是设计使然。

就像 Program FilesProgram Files (x86) 一样,WOW6432Node 键是特殊的。当 32 位进程尝试从 HKEY_LOCAL_MACHINE\SOFTWARE\ 读取时,它们会被定向到 HKEY_LOCAL_MACHINE\SOFTWARE\WoW6432Node,这样它们就不会尝试不小心做一些仅适用于 64 位进程。

关于c# - 注册表HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\是否显示所有子项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50683714/

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