我有一个在64位操作系统(Windows 7)下运行的应用程序。我期望GetSystemDirectory
返回“ C:\ Windows \ SysWOW64” 。而是返回“ C:\ Windows \ system32” 。
如何获取它返回“ C:\ Windows \ SysWOW64” ?
答案 0 :(得分:1)
我期望
GetSystemDirectory
返回“ C:\ Windows \ SysWOW64” 。而是返回“ C:\ Windows \ system32” 。
应该如此,因为system32
是官方系统文件夹,即使对于在64位Windows上运行的32位应用程序也是如此。在后一种情况下,WOW64仿真器会将32位应用尝试在system32
中访问的所有文件静默重定向到SysWOW64
。您无需执行任何特殊的代码即可获得该行为。因此,无论您的应用是32位还是64位,都请继续使用system32
。
如果要具体获取SysWOW64
文件夹的路径,请改用GetSystemWow64Directory()
。
答案 1 :(得分:-1)
#include <Windows.h>
int main(int argv, char* args[])
{
TCHAR sysDir[MAX_PATH];
GetSystemWow64Directory(sysDir, MAX_PATH);
std::cout << sysDir << std::endl;
return 0;
}
输出:
C:\ Windows \ SysWOW64