Seite 1 von 1

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

Verfasst: 11.05.2011 18:41
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

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

Verfasst: 11.05.2011 23:07
von shadow
Danke, feine Sache :allright:

Aber wer braucht noch 16bit Anwendungen :freak:
*rübergeht und an seiner commodore 64 workstation weiter werkelt* :bounce: