のために発生しません。レジストリのリダイレクトは、私は次のコードを持っているHKEY_CURRENT_USER
私はローカルマシンの代わりに、現在のユーザーからの読み取りに上記のコードを変更します。
RegistryKey objRegKey = Registry.LocalMachine.OpenSubKey("SOFTWARE\\MySettings\\Dwm\\Preferences", true);
と、以下のレジストリを作成して下: HKEY_LOCAL_MACHINE \ SOFTWARE \ MySettings \ DWM \環境は
コードnullを返します。その理由は、64ビットOS上の32ビットアプリケーションのレジストリリダイレクトにより、 HKEY_LOCAL_MACHINE \ SOFTWARE \ WOW6432NODE \ MySettings \ Dwm \ Preferences からレジストリを読み込もうとしていることと、レジストリが存在しないためですnullを返します。 リダイレクトがHKEY_LOCAL_MACHINEに対してのみ発生し、HKEY_CURRENT_USERに対しては発生しないのはなぜですか?
HKLMキーでのレジストリリダイレクトは、基本的な「常にリダイレクト」ではありません。それらがリダイレクト、反映、共有されるかどうかは、一連の[かなり複雑な規則](https://msdn.microsoft.com/en-us/library/windows/desktop/aa384253(v = vs.85).aspx)に従います。 HKCUの規則は、Microsoft以外のアプリで使用するためのキーがあること、そしてそれらのアプリが既にどのような味であるかを知っていることが主な理由です。 CLSIDとAppIdの値だけが反映されます。あなたはWow6432Node btwを綴りません。文字はああ、数字はゼロではありません。 –
が修正されました。それを指摘してくれてありがとう。 –