0
32ビットモードで実行する必要があるプログラムを作成しています。このプログラムはファイルパスのレジストリを読み取り、いくつかは "%PROGRAMFILES%\ MySoftware"などのWindows環境変数を使用して書き込まれます。ExpandEnvironmentStrings()が64ビットのパスを返すようにする
私の問題は、ExpandEnvironmentStrings()を使用すると、実行ファイルが32ビットだから探しているパスが "C:\ Program Files"(x86)\ MySoftwareなので、 \ MySoftware "を選択します。
Wow64をオフにしてもExpandEnvironmentStrings()には影響しません。
私の解決策は、私自身の "ExpandEnvironmentStrings()"関数をコード化することですが、おそらくもっと良い解決法があります。
%ProgramW6432%を考慮してください。 –
"%PROGRAMFILES%\ MySoftware"はすでにレジストリに登録されています。私はそこに置かなかった。 しかし、ファイル名で%PROGRAMFILES%を%ProgramW6432%に置き換えるものを書くことができます。 – Nifaal
誰かを見つけて、間違ったと伝えてください。レジストリリダイレクタの動作を監視する必要があります。電話に出られない場合は、自分で修正してください。 –