| |
|
|
|
Beschreibung:
GetBinaryType liefert den Typ einer ausführbaren Datei zurück. Diese Funktion gibt es nur unter NT-basierten Windowssystemen.
Deklaration:
DEF @GetBinaryType(2) !KERNEL32,GetBinaryTypeA
Parameter:
1.Parameter: Adresse eines Strings oder Bereichsvariable mit einem String, der Pfad und Namen der Ausführbaren Datei enthält. 2.Parameter: 4 Byte Bereichsvariable, die einen Flag aufnimmt, der die Art der Datei bestimmt.=> -$0 = (SCS_32BIT_BINARY) 32Bit Windows Programm -$1 = (SCS_DOS_BINARY) DOS Programm -$2 = (SCS_WOW_BINARY) 16BIT Windows Programm -$3 = (SCS_PIF_BINARY) PIF, die ein DOS Programm aufruft -$4 = (SCS_POSIX_BINARY) POSIX Programm
Rückgabewert:
0 wenn ein Fehler aufgetreten ist oder die Datei nicht ausführbar ist, ansonsten 1.
Beispiele:
KompilierenMarkierenSeparierenDEF @GetBinaryType(2) !"KERNEL32","GetBinaryTypeA"
Windowstyle 31+512
Windowtitle "Art einer EXE herausfinden"
Window 0,0-640,440
Declare FileChoose&
Declare Filename$,FileFlags#,Ausführbar&
LET FILECHOOSE&=@CreateButton(%HWND,"File zum Testen wählen",10,300,200,30)
While %MENUITEM<>-2
Waitinput
IF @Getfocus(FileChoose&)
Clearlist
LET FILENAME$=@Loadfile$("Datei auswählen","Programme|*.EXE;*.COM;*.PIF|Alle Dateien|*.*")
IF FILENAME$<>""
DIM FileFlags#,4
Clear FileFlags#
LET Ausführbar&=@GetBinaryType(@ADDR(FILENAME$),FileFlags#)
ADDSTRING "DATEINASME="+Filename$
IF AUSFÜHRBAR&=1
ADDSTRING "Ausführbar=Ja"
IF @Long(FileFlags#,0)=$0
ADDSTRING "32Bit Windows Programm"
ElseIF @Long(FileFlags#,0)=$1
ADDSTRING "DOS Programm"
ElseIF @Long(FileFlags#,0)=$2
ADDSTRING "16BIT Windows Programm"
ElseIF @Long(FileFlags#,0)=$5
ADDSTRING "=16 Bit OS/2 Programm"
ElseIF @Long(FileFlags#,0)=$3
ADDSTRING "PIF, die ein DOS Programm aufruft"
ElseIF @Long(FileFlags#,0)=$4
ADDSTRING "POSIX Programm"
Else
Addstring "FileTyp ist nicht bestimmbar"
ENDIF
Else
ADDSTRING "Ausführbar=Nein"
Endif
DISPOSE FileFlags#
@Listbox$("Dateiinfos",1)
ENDIF
endif
Wend
[keywords:09b372b385] Programm EXE Typ 16BIT 32BIT DOS OS/2 OS2 Art ausführbar [/keywords:09b372b385] |
|
|
| |
|
|