[英]ExpandEnvironmentStrings( … ) on a x64 bit windows is expanding %programfiles% to x86 path
我有一個在Windows 10的x64版本上運行的x86應用程序。
在我的應用程序中,我使用ExpandEnvironmentStrings(...)來擴展給定值的用戶。
但是,當變量為%programfiles%時,它將擴展為C:\\ Program Files(x86)
我需要做一些特殊的事情來獲得一個x86應用程序來正確擴展程序文件變量嗎?
注意 :當我直接在資源管理器中使用%programfiles%時 ,它會正確擴展為C:\\ Program Files 。
我正在使用Visual Studio 2015進行開發。
當32位應用程序擴展環境變量引用%ProgramFiles%
,它總是獲取默認情況下包含32位應用程序程序文件夾的文件夾路徑。 但是,此環境變量引用擴展到文件夾路徑,該路徑默認情況下從64位進程(例如Windows資源管理器)擴展時包含64位應用程序的程序文件夾。
必須使用環境變量引用%ProgramW6432%
來通過32位進程獲取64位應用程序的程序文件文件夾路徑。
這是由Microsoft在WOW64實現詳細信息中記錄的 。
可以通過打開64位和32位命令提示符來自己檢查此問題–鍵入%SystemRoot%\\SysWoW64\\cmd.exe
在64位系統上打開32位命令提示符。 然后在兩個命令提示符窗口中執行命令,以set
環境變量的完整列表及其當前值,或者僅set prog
以表示不區分大小寫的環境變量列表,名稱及其值以字符串prog
開頭。
另請參閱帶有預定義的Windows環境變量的 Wikipedia文章。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.