Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/294.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#注册表项不在列表中_C#_Registry_Registrykey - Fatal编程技术网

C#注册表项不在列表中

C#注册表项不在列表中,c#,registry,registrykey,C#,Registry,Registrykey,我有以下代码: RegistryKey SOFTWARE = Registry.LocalMachine.OpenSubKey(( from x in Registry.LocalMachine.GetSubKeyNames() where x == "SOFTWARE" select x).FirstOrDefault()); RegistryKey Allworx = SOFTWARE.OpenSubKey(( from x in SOFTWARE.GetSu

我有以下代码:

RegistryKey SOFTWARE = Registry.LocalMachine.OpenSubKey((
    from x in Registry.LocalMachine.GetSubKeyNames()
    where x == "SOFTWARE"
    select x).FirstOrDefault());
RegistryKey Allworx = SOFTWARE.OpenSubKey((
    from x in SOFTWARE.GetSubKeyNames()
    where x == "ProgramName"
    select x).FirstOrDefault());
这会编译并运行,问题是“ProgramName”不在软件的子键列表中。我知道它存在,因为我目前正在regedit中查看它。我已授予自己对整个软件密钥以及ProgramName密钥的完全控制权

作为参考,代码和regedit都同意我正在查看

Computer
  L--HKEY_LOCAL_MACHINE
       L--SOFTWARE
除此之外,
SOFTWARE.getSubKeyNames()
还返回一组未出现在regedit中的名称。不知道这些是从哪里来的,总的来说,我更关心的是为什么我的程序名没有像应该的那样出现。

您遇到了。64位Windows以静默方式重定向来自32位程序的某些注册表请求

您可以编译为64位程序,也可以在打开密钥时编译。

您正在运行的程序。64位Windows以静默方式重定向来自32位程序的某些注册表请求

您可以编译为64位程序,也可以在打开密钥时编译。

您正在运行的程序。64位Windows以静默方式重定向来自32位程序的某些注册表请求

您可以编译为64位程序,也可以在打开密钥时编译。

您正在运行的程序。64位Windows以静默方式重定向来自32位程序的某些注册表请求


您可以作为64位程序进行编译,也可以在打开注册表项时进行编译。

您是否能够手动检查/验证注册表中是否有
ProgramName
。。?也许你在这里遇到了一个案件敏感性问题。。由于在64位操作系统上编译32位,您是否尝试将
FirstOrDefault()
更改为使用
First()
注册表重定向?您是否编译为32位?密钥是否存在于Wow6432Node下?@Blorgbeard就是它。我没有考虑32/64点的不同。把它扔到答题纸上,我会把它标为正确的。谢谢伟大的我发布了一个答案。您是否能够手动检查/验证
ProgramName
是否在注册表中。。?也许你在这里遇到了一个案件敏感性问题。。由于在64位操作系统上编译32位,您是否尝试将
FirstOrDefault()
更改为使用
First()
注册表重定向?您是否编译为32位?密钥是否存在于Wow6432Node下?@Blorgbeard就是它。我没有考虑32/64点的不同。把它扔到答题纸上,我会把它标为正确的。谢谢伟大的我发布了一个答案。您是否能够手动检查/验证
ProgramName
是否在注册表中。。?也许你在这里遇到了一个案件敏感性问题。。由于在64位操作系统上编译32位,您是否尝试将
FirstOrDefault()
更改为使用
First()
注册表重定向?您是否编译为32位?密钥是否存在于Wow6432Node下?@Blorgbeard就是它。我没有考虑32/64点的不同。把它扔到答题纸上,我会把它标为正确的。谢谢伟大的我发布了一个答案。您是否能够手动检查/验证
ProgramName
是否在注册表中。。?也许你在这里遇到了一个案件敏感性问题。。由于在64位操作系统上编译32位,您是否尝试将
FirstOrDefault()
更改为使用
First()
注册表重定向?您是否编译为32位?密钥是否存在于Wow6432Node下?@Blorgbeard就是它。我没有考虑32/64点的不同。把它扔到答题纸上,我会把它标为正确的。谢谢伟大的我贴出了答案。