有人可以为我解释这个奇怪的结果吗?
在 linqPad 中得到以下代码
Microsoft.Win32.Registry.CurrentUser.OpenSubKey(@"Software\Microsoft").Dump();
Microsoft.Win32.Registry.LocalMachine.OpenSubKey(@"Software\Microsoft").Dump();
在进程监视器中查看时,它看起来像这样:
RegQueryKey HKU\S-1-5-21-...
RegOpenKey HKU\S-1-5-21-...\Software\Microsoft
RegSetInfoKey HKU\S-1-5-21-...\Software\Microsoft
RegQueryKey HKU\S-1-5-21-...\Software\Microsoft
RegQueryKey HKU\S-1-5-21-...\Software\Microsoft
RegQueryKey HKLM
RegOpenKey HKLM\Software\Wow6432Node\Microsoft
RegSetInfoKey HKLM\SOFTWARE\Wow6432Node\Microsoft
RegQueryKey HKLM\SOFTWARE\Wow6432Node\Microsoft
RegQueryKey HKLM\SOFTWARE\Wow6432Node\Microsoft
我的问题是:
为什么 Registry.CurrentUser 访问 64 位和 Registry.LocalMachine 32 位?
(还有,为什么 Registry.CurrentUser 访问HKU\S-..
而不是HKCU
)
使用 Windows 7、64 位、.Net 3.5、LINQPad.exe *32