I think under windows x64, it still uses user32.dll and a bunch of other 32 bit libraries. Why there is no user64.dll?
Asked
Active
Viewed 7,578 times
9
-
See http://en.wikipedia.org/wiki/Windows_api#Versions – Igby Largeman Feb 07 '12 at 00:33
-
2How on Earth is this question off topic? – Hans Passant Feb 07 '12 at 00:53
-
Duplicate: https://stackoverflow.com/questions/1540741 – CWilson Sep 15 '17 at 17:34
2 Answers
19
C:\Windows\System32\user32.dll
is a 64-bit library.
The 32-bit version is in C:\Windows\SysWOW64\user32.dll
.
They can't change any names because that would break all sorts of programs with hard-coded paths.

SLaks
- 868,454
- 176
- 1,908
- 1,964
2
The names "user32" and "system32" and so on existed long before the modern 64-bit editions of Windows. The names were intended to distinguish them from the 16-bit versions, not from the 64-bit versions. On 64-bit Windows, it's still not 16-bit, so it's still "system32", "user32", and so on.
Nobody planned it that way, it just happened.

David Schwartz
- 179,497
- 17
- 214
- 278
-
Change dll filename will create trouble linking / loading dlls have to handle 32/64 with different names every time. The OS simply redirects system folders when a program is running in 32-bit mode. – linquize Feb 23 '12 at 04:49