【发布时间】:2009-01-14 23:52:01
【问题描述】:
我需要从 32 位 WOW 进程中获取到本机(而不是 WOW)程序文件目录的路径。
当我将 CSIDL_PROGRAM_FILES(或 CSIDL_PROGRAM_FILESX86)传递到 SHGetSpecialFolderPath 时,它会返回 WOW(Program Files (x86))文件夹路径。
如果可能,我宁愿避免使用环境变量。
我想比较我从注册表中读取的一些值,如果这些值指向我的应用程序的 WOW 或本机版本的路径,那么我的代码会执行某些操作,否则它会执行其他操作。 为了弄清楚我的应用程序的原生版本和 WOW 版本应该在哪里,我需要获取“Program Files (x86)”和“Program Files”的路径。
【问题讨论】:
-
你不应该依赖于你的程序“预期在哪里”。应用程序是用户想要它们的地方。小型 SSD 变得越来越流行,它们将为许多 PC 添加额外的安装位置。
-
完全可以,但在这种情况下,它确实会在程序文件文件夹中。
-
对我来说,为什么要更新 Chrome 的扩展列表,它可能位于 AppData、Program Files (x86) 或 Program Files 中。 (当然,Program Files 的名称可以是其他名称。)