今回、レジストリを扱うプログラムをVisualStudio2012で作成していて、つまづいた内容をメモしておきたいと思います。プラットフォームをx86で作成したアプリケーションとx64で作成したアプリケーションで、レジストリを参照する場所が違いました。しても、x86でビルドしたアプリケーションでWow6432Nodeでない方を参照しようとしても、Wow6432Nodeの方に自動的にリダイレクトされてしまいます。ここで、ちょっとプラットフォームにおけるレジストリの扱いをまとめてみました。例:HKLM¥Software¥Microsoft¥Windows¥〜を参照する場合x86(32bit)で作成したアプリケーション実行環境「32bitOS」の場合:HKLM¥Software¥Microsoft¥Windows¥〜実行環境「64bitOS」の場合:HKLM¥Software¥Wow6432Node¥Microsoft¥Windows¥〜x64(64bit)で作成したアプリケーション実行環境「32bitOS」の場合:参照不可(そもそも実行しない)実行環境「64bitOS」の場合:HKLM¥Software¥Microsoft¥Windows¥〜AnyCPUで作成したアプリケーション実行環境「32bitOS」の場合:HKLM¥Software¥Microsoft¥Windows¥〜実行環境「64bitOS」の場合:HKLM¥Software¥Microsoft¥Windows¥〜となるみたいです。AnyCPUで作成すれば、32bitOS環境では32bitのレジストリを参照し、64bitOS環境では64bitのレジストリを参照するので、両方のOSで対応するアプリケーションを作成する場合は、AnyCPUで作成する方がいいかもしれないです。※AnyCPUで作成したアプリを64bitOSで実行すると、64bitOS用アプリケーションとして動作します。64bit環境で実行しているアプリケーションでWow6432Nodeの情報を取得したい場合は、直接レジストリを指定する(例;HKLM¥Software¥Wow6432Node¥Microsoft¥Windows¥〜)ことで、参照することができます。21:20【C#】32bitアプリと64bitアプリのレジストリの扱いTweet広告を非表示にする関連記事2015-01-17【C#】AnyCPUのアプリケーションでSystem.Data.SQLiteが読み込めないこんばんは。Mac環境を用意してみた3日ぶりの更新です。»スポンサープロフィールWebデザイナー兼経営者の冰呂です。Webデザイン、感性デザインを学び、これらを生かすために企業。日々新しいことを取り入れつつ、知識をつけるために勉強しています。月別アーカイブバナーリンクにほんブログ村はてなブログをはじめよう!hiroufさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。