[ACCEPTED]-C# PInvoking user32.dll on a 64 bit system-user32
user32.dll is misleading. It's the 64 bit 5 version of
user32.dll you're calling. The 64 bit version 4 is located at
A 32-bit version is included 3 for compatibility with 32-bit applications. It's 2 located at
%windir%\SysWOW64\user32.dll. You can inspect them using 1 the
FILE HEADER VALUES 8664 machine (x64)
FILE HEADER VALUES 14C machine (x86)
There is no user64.dll for the exact same 7 reason you just described, .NET program 6 can be agnostic to CPU architecture so the 5 same code needs to work on x86 and x64.
If 4 you take your program to x86 platform, it 3 will still run without any modifications.
I 2 guess that when they named user32.dll, they 1 didn't have those scenarios in mind.
More Related questions