0

レジストリにサブキーを作成しましたHKEY_LOCAL_MACHINE\SOFTWARE\MyApp\APIConnector. 起動したアプリが実行されていないときに、Visual Studio のイミディエイト ウィンドウを使用してこのサブキーを読み込むと、サブキーを読み取ることができます。

しかし、私のアプリケーションが を探すときHKEY_LOCAL_MACHINE\SOFTWARE\MyApp\APIConnector、それを見つけることができません。見つけることすらできませんHKEY_LOCAL_MACHINE\SOFTWARE\MyApp。まるで違うみたいだ

ただし、アプリケーションをデバッグ モードで実行していて一時停止すると、まったく同じコードが見つからずHKEY_LOCAL_MACHINE\SOFTWARE\MyApp、ましてやHKEY_LOCAL_MACHINE\SOFTWARE\MyApp\APIConnector.

少し調べてみたところ、レジストリの仮想化の犠牲になったようです。そのため、アプリに管理者権限 (UAC ダイアログ) を要求するマニフェストを追加しましたが、レジストリの仮想化はまだ行われています。この問題に関する Microsoft のドキュメントでは、これはあってはならないことであると主張しています。ヘルプ!

4

1 に答える 1

2

おそらく、レジストリの仮想化の代わりに (または一緒に?)、Wow64 レジストリ リダイレクトの影響を受けている可能性があります。

Windows では、レジストリにアクセスするときに多くのスモークとミラーが発生しています。

于 2012-03-19T14:45:00.333 に答える