在64位应用程序中,在64位Windows上pingvuser32是不是错误?我成功完成了很多次并且从未出现过错误,但这似乎是矛盾的。我应该寻找user64.dll吗?
答案 0 :(得分:32)
名称user32.dll
具有误导性。它是您正在调用的user32.dll
的64位版本。 64位版本位于%windir%\System32\user32.dll
。
包含32位版本,以便与32位应用程序兼容。它位于%windir%\SysWOW64\user32.dll
。您可以使用dumpbin
实用程序检查它们:
SYSTEM32 \ user32.dll中:
FILE HEADER VALUES
8664 machine (x64)
SysWOW64中\ user32.dll中:
FILE HEADER VALUES
14C machine (x86)
答案 1 :(得分:1)
没有user64.dll与你刚才描述的完全相同的原因,.net程序可以与cpu架构无关,所以相同的代码需要在x86和x64上工作。
如果您将程序带到x86平台,它仍然可以在没有任何修改的情况下运行
我想当他们命名为user32.dll时,他们没有考虑到这些情况。