从32位Windows应用程序启动64位可执行文件

4
32位应用程序在64位Windows上找到“Program Files”文件夹的“正确”方法是什么?例如,我正在运行一个带有VBScript引擎的32位应用程序,并希望启动64位Excel(使用ShellExec或类似工具)。在32位世界中,我会检查环境变量“ProgramFiles”以获取基本文件夹。我的理解是,在64位Windows上作为32位应用程序,该环境变量将指向32位程序文件夹 - 例如:C:\ Program Files(x86)。但是,我的64位Excel将位于C:\ Program Files下。
我想避免硬编码对“c:\ program files”的引用。
2个回答

4
你可以检查环境变量"ProgramW6432"。当在64位的Windows上运行32位应用程序时,它应该存在并指向Program Files,而不是x86。
文档:MSDN

如果运行的是64位应用程序,ProgramW6432会为空吗? - Ed Schembor
运行64位应用程序时,很简单地会出现缺失。 - Mic

3

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接