Ermitteln, ob die EXE-Datei eine 16/32/64 Bit-Version ist

Hier könnt Ihr gute, von Euch geschriebene Codes posten. Sie müssen auf jeden Fall funktionieren und sollten möglichst effizient, elegant und beispielhaft oder einfach nur cool sein.
Benutzeravatar
RSBasic
Admin
Beiträge: 8022
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Ermitteln, ob die EXE-Datei eine 16/32/64 Bit-Version ist

Beitrag von RSBasic »

Hi,


ich habe eine WinAPI gefunden, womit man ermitteln kann, ob die ausführbare Datei eine 16 Bit-, 32 Bit- oder eine 64 Bit-Version ist. (U.a.a.: PIF, POSIX, OS/2, MS-DOS)

Code: Alles auswählen

EnableExplicit

Define lpApplicationName$ = "C:\Users\User\Desktop\Downloads\D3hex\D3hex.x64.exe"
Define lpBinaryType

#SCS_32BIT_BINARY = 0
#SCS_64BIT_BINARY = 6
#SCS_DOS_BINARY = 1
#SCS_OS216_BINARY = 5
#SCS_PIF_BINARY = 3
#SCS_POSIX_BINARY = 4
#SCS_WOW_BINARY = 2

GetBinaryType_(@lpApplicationName$,@lpBinaryType)

Select lpBinaryType
  Case #SCS_32BIT_BINARY
    MessageRequester("","A 32-bit Windows-based application.",0)
  Case #SCS_64BIT_BINARY
    MessageRequester("","A 64-bit Windows-based application.",0)
  Case #SCS_DOS_BINARY
    MessageRequester("","An MS-DOS-based application.",0)
  Case #SCS_OS216_BINARY
    MessageRequester("","A 16-bit OS/2-based application.",0)
  Case #SCS_PIF_BINARY
    MessageRequester("","A PIF file that executes an MS-DOS-based application.",0)
  Case #SCS_POSIX_BINARY
    MessageRequester("","A POSIX-based application.",0)
  Case #SCS_WOW_BINARY
    MessageRequester("","A 16-bit Windows-based application.",0)
EndSelect

;GetBinaryType: http://msdn.microsoft.com/en-us/library/aa364819%28v=vs.85%29.aspx
Das funktioniert natürlich nur auf Windows. Falls man eine plattformunabhängige Lösung haben möchte, dann hier: http://purebasic.fr/german/viewtopic.php?f=6&t=23431
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
shadow
Beiträge: 189
Registriert: 23.03.2005 17:52
Wohnort: Lübeck

Re: Ermitteln, ob die EXE-Datei eine 16/32/64 Bit-Version is

Beitrag von shadow »

Danke, feine Sache :allright:

Aber wer braucht noch 16bit Anwendungen :freak:
*rübergeht und an seiner commodore 64 workstation weiter werkelt* :bounce:
ThinkPad T61 (in Gedenken) | PureBasic 4.61 B1 (32) | Windows 7 (32SP1) | ArchLinux (32) | Syllable (32)
Antworten