在64位系统上运行的32位应用程序是否可以访问64位应用程序的默认文件夹?
例如,使用来自32位应用程序的CSIDL_PROGRAM_FILES的SHGetSpecialFolderPath返回“C:\ Program Files(x86)”如果从64位应用程序使用相同的调用,我会得到“C:\ Program Files”。是否有从32位应用程序获取“C:\ Program Files”的方法?
此处的相关问题对SHGetFolderPath() 32 bit vs 64 bit没有帮助,也没有在调用SHGetSpecialFolderPath之前压制wow64文件系统重定向
答案 0 :(得分:2)
回答我自己的问题,似乎用SHGetSpecialFolderPath是不可能的。在Vista及更高版本中,使用替换函数SHGetKnownFolderPath允许它与FOLDERID_ProgramFilesX64
答案 1 :(得分:1)
我认为拥有单独文件夹的全部原因是为了防止32位和64位应用程序混合。因此,您不需要查看属于与应用程序不同位的文件夹。
你可能有一个很好的理由,但我没有在你的问题中看到发布的那个。