我无法访问注册表中的条目中的某些子项

时间:2010-05-26 00:51:17

标签: c# windows-7 windows-vista registry

我正在尝试访问HKLM \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ GameUX \,但是在C#中返回的唯一子键是MachineSettings - 即使还有其他子键,包括游戏和为不同用户命名的几个键的SID。如何访问这些其他密钥?即使是标准用户帐户也可以读取游戏内容和该帐户自己的SID(在查看注册表时)...

1 个答案:

答案 0 :(得分:5)

因此该问题与在64位Windows环境中运行32位应用程序有关。 64位Windows沙箱32位内容(这就是为什么有一个C:\ Program Files(x86))以对应用程序透明的方式。使用注册表的32位应用程序访问HKLM \ WOW6423Node中的沙盒配置单元,这就是我在HKLM中查询密钥时没有看到预期结果的原因。

幸运的是,.NET 4.0(与VS.NET 2010及其Express Edition同行一起引入)包含一个超级简单的功能,它允许32位应用程序查看和使用64位注册表(反之亦然)。

答案在这里: Create 64 bit registry key (non-WOW64) from a 32 bit application