【发布时间】:2010-01-05 15:12:16
【问题描述】:
所以,我有一个 32 位程序需要检查文件是否存在。但是,这些位置(可以来自快捷方式和注册表)通常使用环境字符串。我使用ExpandEnvironmentStrings api 来扩展它们,然后检查文件是否存在。但是,由于它是 32 位应用程序(注意 environmental strings emulation),因此在某些情况下路径会扩展到错误的位置。由于我不知道我给出的路径是 32 位还是 64 位,一种简单的解决方案是手动使用 64 位位置和 32 位位置扩展相关的环境字符串(ProgramFiles 和 CommonProgramFiles)。但是,这感觉有点hacky。有没有更好的办法?
【问题讨论】:
-
出于好奇,我最终使用了有点老套的方法。我给了 Bob 答案,因为他的问题谈到了一个也适用于我的情况的不同问题(即路径也会因为文件系统重定向而出错,而不仅仅是因为环境字符串分配。
标签: winapi vb6 windows-vista 64-bit environment-variables