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

Cla*_*ire 1 c# registry windows-vista windows-7

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

Cla*_*ire 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位注册表(反之亦然).

答案在这里: 从32位应用程序创建64位注册表项(非WOW64)