C# 某些HKLM注册表项数据在c中不可用#
我想知道是否有其他人可以验证这是一件“事情”,可能是一些模糊的组策略难题/用户权限问题:我在网上什么也找不到 我去不了C# 某些HKLM注册表项数据在c中不可用#,c#,windows,registry,C#,Windows,Registry,我想知道是否有其他人可以验证这是一件“事情”,可能是一些模糊的组策略难题/用户权限问题:我在网上什么也找不到 我去不了 @\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate var r = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\WINEVT"); if (r != null) { Console.WriteLin
@\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate
var r = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\WINEVT");
if (r != null)
{
Console.WriteLine("Key exists");
}
else
{
Console.WriteLine("Key does not exist");
}
=键存在
但是
=键不存在
但它们都存在于RegEdit中
注册表支持(非常类似于文件系统)每项访问权限。它们在真正的每键级别上不经常使用,但这似乎是其中一种情况(现在无法直接验证,因为我看不到这两个文件夹的权限对话框有什么不同)Regedit运行。尝试运行你的程序。是的,我希望不必这样做。密钥受到保护,就像文件系统受到保护一样。使用应用程序的帐户必须具有查看密钥的最低权限才能访问密钥。您可以作为管理员分配这些权限,但无法回避。您的代码在64位windows上是32位的吗?如果是-注册表重定向。您需要检查返回的错误-密钥不存在错误或什么?我可以确认
管理员也没有看到此密钥
var r = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate");
if (r != null)
{
Console.WriteLine("Key exists");
}
else
{
Console.WriteLine("Key does not exist");
}