正如 MSDN 的WOW64 实施细节中所解释的,变量%PROGRAMFILES%
,
在 64 位 Windows 操作系统上的 32 位进程中,解析为
C:\Program Files (x86)
在 64 位 Windows 操作系统上的 64 位进程中,解析为
C:\Program Files
您可以使用 Delphi 10.1 程序验证这一点,该程序使用 32 位 Windows 目标平台和 64 位 Windows 目标平台编译:
MyShellExecute('%PROGRAMFILES%');
因此,从在 Windows-64 位操作系统中执行的 32 位 Delphi 应用程序中,我怎样才能获得两者:
32 位程序的 ProgramFiles 目录 (
C:\Program Files (x86)
)64 位程序的 ProgramFiles 目录 (
C:\Program Files
)