gpt4 book ai didi

c# - GetSubKeyNames 不返回所有键

转载 作者:行者123 更新时间:2023-12-01 17:32:35 28 4
gpt4 key购买 nike

我想在客户端上安装该软件。我也使用 WMI 和注册表。

我在HKLM\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\UNINSTALL下找到了大部分信息

但是,例如 Dropbox,没有出现在那里。 Dropbox 位于 HKCU 下,因此我也想读取这些 key 。我想很简单,因为路径是相同的,只是RegistryHive发生了变化。

问题

尽管当我在 CurrentVersion 中使用 GetSubKeyNames 函数时,我看不到 key UNINSTALL

var root = RegistryKey.OpenBaseKey(RegistryHive.CurrentUser, RegistryView.Registry32)

var key = root.OpenSubKey(@"SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION") // works
var key = root.OpenSubKey(@"SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\Uninstall") // doesnt work

我也用RegistryView.Registry64尝试过这个 - 我得到了相同的结果。

当我使用 GetSubKeyNames 时打印出来的内容如下:

Device Metadata
Explorer
Group Policy
GrpConv
Internet Settings
Media Center
Run
Shell Extensions
Telephony
ThemeManager
WinTrust

有人知道我该如何解决这个问题吗?

最佳答案

我也遇到了这个问题,检查了 32 位和 64 位 View 是否有效。

        var HKLM32 = RegistryKey.OpenRemoteBaseKey(RegistryHive.LocalMachine, "computername", RegistryView.Registry32);
var HKLM64 = RegistryKey.OpenRemoteBaseKey(RegistryHive.LocalMachine, "computername", RegistryView.Registry64);
key32 = HKLM32.OpenSubKey(registryKeytoFind);
key64 = HKLM64.OpenSubKey(registryKeytoFind);

关于c# - GetSubKeyNames 不返回所有键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27838798/

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