Ist es falsch, user32.dll auf 64-Bit-Windows aus einer 64-Bit-App pinvoke? Ich habe das erfolgreich einige Male gemacht und hatte nie einen Fehler, aber es scheint widersprüchlich. Soll ich stattdessen user64.dll suchen?C# PInstallieren von user32.dll auf einem 64-Bit-System
Antwort
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)
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.
- 1. delphi Haken SetClipboardData von user32.dll
- 2. C# kann nicht konzentrieren, wenn SetParent user32.dll
- 3. utf Zeichen, wenn user32.dll Findwindow in C# Anwendung
- 4. Kann nicht User32.dll in Visual Studio importieren
- 5. Senden Sie Schlüssel über SendInput in user32.dll
- 6. user32 und Kernel-Methodenliste für C#
- 7. user32.dll FindWindowEx, Elemente nach Klassenname auf Remote-WPF-Fenster finden
- 8. "Keine kontextsensitive Hilfe installiert", "user32.dll" und "uxtheme.dll" AV-Fehler auf Delphi ohne Grund
- 9. C# -Rückruf von DLL
- 10. Azure WebJob-Runtime kann virtuellen Schlüssel nicht mit MapVirtualKey (user32.dll) zuordnen
- 11. Können Sie eine C# DLL von einer C DLL aufrufen?
- 12. C++ DLL aus einem Unterverzeichnis laden?
- 13. Debug CUDA Dll von C#
- 14. "Link" zu user32.dll in cmake beim Kompilieren unter Linux (Kreuz)
- 15. Zugriff auf Treeview von einem dllplugin. C#
- 16. JNA - Methoden auf C++ Beispiel Aufruf von DLL übergeben zurück
- 17. Verwenden von Redemption dll (Outlook) auf einem 64-Bit-Rechner
- 18. Handhabung Array zurückgegeben von C++ dll C#
- 19. C# Absturz beim Laden von C++ DLL
- 20. Drucken von Konsolenmeldungen von C++ DLL
- 21. C Dll-Import C#
- 22. Was ist "ShowWindow Lib" user32 ""?
- 23. Verwendung von DLL auf Server
- 24. C Laufzeitobjekte, DLL-Grenzen
- 25. Windows-Dienst und Dll auf einem Netzwerklaufwerk
- 26. C++ DLL-Funktionsaufruf stürzt auf Rückkehr
- 27. Zugriff auf DLL-Build-Datetime in C#
- 28. Aufruf C# DLL in C++
- 29. Erstellen von ActiveX-DLL in Visual C++
- 30. Debug C++ DLL in C#
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 ... –
Ja. Ich erinnere mich deutlich an allgemeine Schutzfehler von "USER.EXE" in Windows 3.1 in meiner Kindheit verursacht. –
Ich liebe zu lieben, wie das System32-Verzeichnis noch in 64-Bit-Fenstern heißt :-) – Justin