2017-10-05 75 views
0

我正在編寫一個程序,需要以32位模式運行。該程序讀取註冊表中的文件路徑,有些則使用Windows環境變量(如「%PROGRAMFILES%\ MySoftware」)編寫。我的問題是,當我使用ExpandEnvironmentStrings()我得到「C:\ Program Files文件(x86)\ MySoftware」,因爲我的可執行文件是32位,但我要找的路徑是「C:\ Program Files \ MySoftware」。獲取ExpandEnvironmentStrings()返回64位路徑

關閉Wow64不會影響ExpandEnvironmentStrings()。

我的解決方案是編寫我自己的「ExpandEnvironmentStrings()」函數,但可能有更好的解決方案。

+0

考慮%ProgramW6432%。 –

+0

「%PROGRAMFILES%\ MySoftware」已在註冊表中。我沒有把它放在那裏。 但我想我可以寫一些用%ProgramW6432%替換%PROGRAMFILES%,當我在文件名上找到它時。 – Nifaal

+0

那麼,找到誰把它放在那裏,並告訴他們他們做錯了。他們需要觀察註冊表重定向器的行爲。或者如果他們不接電話就自己修理。 –

回答