gpt4 book ai didi

c# - 无法读取 Windows 8 中的注册表值

转载 作者:可可西里 更新时间:2023-11-01 14:13:50 27 4
gpt4 key购买 nike

我有以下 C# 代码,它从 Windows 7 的注册表中读取 UAC 状态

object obj = Registry.LocalMachine.GetValue(@"HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\System\EnableLUA", (long)1);

它在具有管理员/非管理员帐户的 Windows 7 上完美运行。它总是返回我在 Windows 8 下提供的默认值。注册表项在那里。我可以通过 regedit 查看它的值(value)。但是 C# 代码不会读取它。谁能说出为什么?它是一个 .net 4 应用程序。用户帐户是未提升权限的管理员。

最佳答案

它返回默认值(在 Windows 7 和 8 上)。下面是在不以管理员身份运行的情况下在 Windows 7 和 8 上读取正确注册表值的代码。

        object obj = Registry.GetValue( 
@"HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\System\",
"EnableLUA",
(long)1);

请注意,我们在 Registry 上调用 GetValue 方法,而不是在 Registry.LocalMachine 上调用,我们将键和值名称作为两个单独的参数传递.

关于c# - 无法读取 Windows 8 中的注册表值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15245264/

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