我有一个x86应用程序运行在Windows 10的x64版本上。
在我的应用程序中,我使用ExpandEnvironmentStrings( .)若要展开用户给定的值,请执行以下操作。
但是当变量是%programfiles%时,它被扩展为C:\Program (x86)
我是否需要做一些特殊的事情来获得一个x86应用程序来正确地展开程序文件变量?
%programfiles%:当我在资源管理器中直接使用时,它适当地扩展到C:\Program 。
我正在开发Visual 2015。
发布于 2016-02-22 21:56:31
当32位应用程序扩展环境变量引用%ProgramFiles%
时,它总是获取文件夹路径,默认情况下包含32位应用程序的程序文件夹。但是,此环境变量引用扩展到文件夹路径,默认情况下,从64位进程(如Windows )展开时包含64位应用程序的程序文件夹。
环境变量引用%ProgramW6432%
必须用于通过32位进程获取64位应用程序的程序文件文件夹路径。
微软在WOW64实现细节上记录了这一点。
通过打开64位命令提示符类型的%SystemRoot%\SysWoW64\cmd.exe
来打开64位系统上的32位命令提示符,可以自行检查这一点。然后,在这两个命令提示符窗口中执行命令set
,用于包含当前值的环境变量的完整列表,或只对启动的环境变量列表执行set prog
命令,从名称和值中的字符串prog
开始不区分大小写。
还请参阅带有预定义的Windows环境变量的维基百科文章。
https://stackoverflow.com/questions/35564541
复制相似问题