Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#读取Windows自动更新注册表返回';它是空的。_C#_Registry_Windows Server 2008 R2 - Fatal编程技术网

C#读取Windows自动更新注册表返回';它是空的。

C#读取Windows自动更新注册表返回';它是空的。,c#,registry,windows-server-2008-r2,C#,Registry,Windows Server 2008 R2,我有一个c#应用程序,我正在尝试从 HKEY\U本地\U计算机\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto 更新 它总是返回null 下面给出了代码示例 Registry.LocalMachine.OpenSubKey("Software\\Microsoft\\Windows\\CurrentVersion"); {HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\C

我有一个c#应用程序,我正在尝试从

HKEY\U本地\U计算机\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto 更新

它总是返回null

下面给出了代码示例

Registry.LocalMachine.OpenSubKey("Software\\Microsoft\\Windows\\CurrentVersion");
    {HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion}
        base {System.MarshalByRefObject}: {HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion}
        Handle: {Microsoft.Win32.SafeHandles.SafeRegistryHandle}
        Name: "HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows\\CurrentVersion"
        SubKeyCount: 52
        ValueCount: 11
        View: Default
    Registry.LocalMachine.OpenSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\WindowsUpdate");
    null
    Registry.LocalMachine.OpenSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\WindowsUpdate\\Auto Update");
    null
    Registry.LocalMachine.OpenSubKey("Software\\WOW6432Node\\Microsoft\\Windows\\CurrentVersion\\WindowsUpdate");
    null

从上面的评论来看,您似乎正在尝试读取x64注册表。因此,请尝试使用基于x64的应用程序来阅读本文。它应该能解决你的问题。如果您使用基于x86的应用程序从基于x64的计算机读取注册表,则它将从

HKEY\ U本地\计算机\软件\ WOW6432节点\

而不是阅读

HKEY_本地_机器\软件


而且您不会读取仅在x64注册表下可用的注册表项。

您能告诉我您的windows平台(x86或x64)吗。还有您的应用程序平台(x86或x64)?windows-server-2008-R2仅在x64Try中提供,用于读取基于x64的应用程序的x64注册表表单。否则您将得到空响应。谢谢Rezoan!基于x64的应用程序修复了我的问题。在Windows 8.1 Enterprise(64位)上使用C#.NET 4.5.2。这仍然会为WindowsUpdate密钥返回null,因此其下没有任何内容。请尝试在x64位平台下构建应用程序。