AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) 32-Bit-Programm soll 32- und 64-Bit-OS erkennen
Thema durchsuchen
Ansicht
Themen-Optionen

32-Bit-Programm soll 32- und 64-Bit-OS erkennen

Ein Thema von Delphi-Laie · begonnen am 9. Sep 2011 · letzter Beitrag vom 11. Apr 2012
 
Delphi-Laie

Registriert seit: 25. Nov 2005
1.474 Beiträge
 
Delphi 10.1 Berlin Starter
 
#1

32-Bit-Programm soll 32- und 64-Bit-OS erkennen

  Alt 9. Sep 2011, 10:26
Hallo Delphifreunde!

Zur Zeit beschäftige ich mich gerade damit, wie ein 32-Bit-Programm unter 32- und 64-Bit-Windows natürlich lauffähig sein soll und zusätzlich die Bitanzahl des OS selbständig erkennen kann. Bisherige Recherchen waren erfolglos.

Also, sizeof(Pointer) fällt als Erkennungsmerkmal aus, weil das auch unter 64 Bit nur 4 liefert, wohl wegen des 32-Bit-Subsystems.

Nun könnte man natürlich die IsWow64Process-Funktion benutzen, doch die ist in der 32-Bit-Version der kernel32.dll nicht enthalten, so daß das Programm an dieser Stelle mit einer Fehlermeldung abbricht ("Prozedureinsprungpunkt wurde .... nicht gefunden"). Fände man diese Funktion in besagter DLL, dann ist es ein 64-Bit-Windows, anderenfalls ein 32-Bit-Windows.

Um den Programmabbruch abzufangen, versuchte ich es mit try...except...end, bekam es aber nicht - kann try solche Mißerfolge wie fehlende DLLs oder fehlende Funktionen in den DLLs nicht abfangen? Oder wie erreicht man das?

Was ich nicht möchte: Mit OSVersionInfo "rumzumachen", um 32 von 64 Bit zu unterscheiden, weil das verdammt umständlich ist und künftige OS-Versionen logischerweise noch nicht berücksichtigen kann.

Gibt es einen einfachen Weg?

Natürlich kann man immer für beide Bitanzahlen zwei getrennte Programme erstellen, doch ist das vergleichsweise unelegant.

Vielen Dank & viele Grüße

Delphi-Laie

Geändert von Delphi-Laie ( 9. Sep 2011 um 10:38 Uhr)
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:26 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