[ACCEPTED]-C# PInvoking user32.dll on a 64 bit system-user32
The name 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 %windir%\System32\user32.dll
.
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 dumpbin
utility:
System32\user32.dll:
FILE HEADER VALUES
8664 machine (x64)
SysWOW64\user32.dll:
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
We use cookies to improve the performance of the site. By staying on our site, you agree to the terms of use of cookies.