![]() |
Wie 32-Bit-Programme von 64-Bit-Programmen unterscheiden?
Hallo Delphifreunde!
Im Taskmanager meines 64-Bit-Windows (6.1) finden sich hinter den Namen der 32-Bit-Prozesse ein unscheinbares „*32“. Das ließ in mir folgende Frage aufkommen: Wie kann man 32-Bit-Programme und 64-Bit-Programme treffsicher voneinander unterscheiden? Unter Windows mit 32-Bit ist das zumindest auf manuellem Wege einfach (was nicht starten kann bzw. was man nicht gestartet bekommt, hat zuviele Bits), aber umgekehrt, also in einem 64-Bit-Windows?! Die Funktion „CreateToolhelp32Snapshot“ scheint jedenfalls zur Ermittlung der Bitanzahl/-breite nicht geeignet zu sein. Weiß jemand, welchen Zaubertrickes sich der Taskmanager bedient, um das eine vom anderen zu unterscheiden? Vielen Dank im voraus! Delphi-Laie |
Re: Wie 32-Bit-Programme von 64-Bit-Programmen unterscheiden
Wenn du weißt um welchen Dateinamen es geht, einfach in den
![]() |
Re: Wie 32-Bit-Programme von 64-Bit-Programmen unterscheiden
Danke!
|
Re: Wie 32-Bit-Programme von 64-Bit-Programmen unterscheiden
![]() Dabei ist ein der Prozess ein 64 bit Prozess, wenn:
Delphi-Quellcode:
Die erste Abfrage prüft, ob du überhaupt in einem 64 bit System bist (da dein Delphi Prozess sicher 32 bit ist, sofern du nicht mit Lazarus kompilierst) und die zweite Abfrage prüft, ob der Zielprozess NICHT im 32 Subsystem (WOW64) läuft.
(IsWOW64Process(GetCurrentProcess)) and (not IsWOW64Process(hTargetProcess))
|
Re: Wie 32-Bit-Programme von 64-Bit-Programmen unterscheiden
Zitat:
Edit: Ich ziehe diese meine Gegenfrage zurück, ich war wohl etwas irritiert. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:00 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz