誰かが私のためにこの奇妙な結果を説明できますか?
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