无法在 64 位机器中使用 getsystemdirectory() 获得正确的路径

Ant*_*lip 2 c++ windows winapi

我有一个在 64 位操作系统(Windows 7)下运行的应用程序。我期待GetSystemDirectory返回"C:\Windows\SysWOW64"。相反,它返回"C:\Windows\system32"

如何让它返回"C:\Windows\SysWOW64"

Rem*_*eau 5

我期待 GetSystemDirectory返回 "C:\Windows\SysWOW64"。相反,它返回 "C:\Windows\system32"

因为它应该system32是官方系统文件夹,即使对于在 64 位 Windows 上运行的 32 位应用程序也是如此。在这后一种情况下,任何文件的32位应用程序试图访问中system32默默重定向SysWOW64由WOW64模拟器。您无需在代码中执行任何特殊操作即可获得该行为。因此,system32无论您的应用是 32 位还是 64 位,请继续使用。

如果要SysWOW64具体获取文件夹的路径,请GetSystemWow64Directory()改用。