|  | ■No92591 (鯖江ミナ さん) に返信 > 32ビットアプリ(x86でビルド)の場合でも、レジストリのパスはそのままに
 > 「HKEY_CURRENT_USER\Software\(ソフト名)」のキーが作成され、
 > 「WOW6432Node」配下にはキーが作成されません。
 
 .NET Framework からアクセスする場合は、RegistryView パラメーターで
 明示的に切り替えることができます。
 
 RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry64)
 RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry32)
 
 
 > これらは何らかのルールに則って処理がなされているのでしょうか?
 > (インストールの場合は特別に「WOW6432Node」が考慮される、とか)
 
 動作ターゲットが WOW64 かどうか、とか。
 
 同様のものとして、ファイル システム リダイレクタという機構がありますね。
 
 64bit 環境上の 32bit プロセスから "C:\Windows\System32\" ディレクトリにアクセスすると、
 実際には C:\Windows\SysWOW64\ ディレクトリへの参照となることがあります。
 この場合、本当に C:\Windows\System32\ ディレクトリを参照するために、
 "C:\Windows\SysNative\" という仮想ディレクトリパスを使う必要があります。
 
 一方、64bit プロセスからだと Sysnative 仮想ディレクトリは使えませんので、
 "C:\Windows\System32\" と "C:\Windows\SysWOW64\" をそのまま使います。
 
 |