2009-10-08 12 views

Antwort

30

Der Name user32.dll ist irreführend. Es ist die 64-Bit-Version von user32.dll, die Sie anrufen. Die 64-Bit-Version befindet sich unter %windir%\System32\user32.dll.

Eine 32-Bit-Version ist für die Kompatibilität mit 32-Bit-Anwendungen enthalten. Es befindet sich unter %windir%\SysWOW64\user32.dll.

System32 \ user32.dll:

FILE HEADER VALUES 
     8664 machine (x64) 

SysWOW64 \ user32.dll:

FILE HEADER VALUES 
     14C machine (x86) 
+0

Es ist jetzt irreführend, aber es wurde ursprünglich so genannt, um zwischen 16 und 32 zu unterscheiden, nicht wahr? Aber sie können den Namen kaum ändern, das würde zu viele Dinge brechen ... –

+0

Ja. Ich erinnere mich deutlich an allgemeine Schutzfehler von "USER.EXE" in Windows 3.1 in meiner Kindheit verursacht. –

+2

Ich liebe zu lieben, wie das System32-Verzeichnis noch in 64-Bit-Fenstern heißt :-) – Justin

0

Es gibt keine user64.dll für die exakt gleichen Grund können Sie sie mit dem dumpbin Dienstprogramm inspizieren Sie beschreiben einfach, .net-Programm kann Agnostic zu CPU-Architektur, so dass der gleiche Code auf x86 und x64 arbeiten muss.
Wenn Sie Ihr Programm auf x86-Plattform nehmen, wird es immer noch ohne Änderungen laufen.
Ich denke, wenn sie user32.dll benannt haben, haben sie diese Szenarien nicht im Sinn.

Verwandte Themen