2010-06-04 128 views
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下。从32位Windows应用启动64位可执行文件

我想避免硬编码对“c:\ program files”的引用。

回答

4

您可以检查环境变量“ProgramW6432”。在64位Windows上运行32位应用程序时,它应该存在并指向Program Files,而不使用x86。

文档:MSDN

+0

完美!这正是我需要的。谢谢! – 2010-06-04 15:08:09

+0

如果运行64位应用程序,ProgramW6432会变为空白吗? – 2010-06-04 15:13:22

+0

运行64位应用程序时,它很简单。 – Mic 2010-06-05 18:16:39

相关问题