Rubrik: Dateisystem · Dateien allgemein | VB-Versionen: VB6 | 01.08.11 |
Handelt es sich um eine ausführbare Datei? Diese Funktion prüft, ob es sich bei der bergebenen Datei um eine ausführbare Datei handelt. | ||
Autor: Dieter Otter | Bewertung: | Views: 8.059 |
www.tools4vb.de | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Mit nachfolgender Funktion lässt sich prüfen, ob die übergebene Datei ausgeführt werden kann, d.h. um eine stand-alone EXE-Datei handelt.
' Prüft, ob es sich bei der angegebenen Datei um ' eine ausführbare Datei handelt Public Function IsExecutableFile(ByVal sFile As String) As Boolean Dim F As Integer Dim sData As String * 5 Dim nOffset As Long ReDim bData(4) As Byte On Error GoTo ErrHandler ' Datei im Binary-Mode öffnen F = FreeFile Open sFile For Binary Access Read As #F ' Offset lesen Seek #F, 61 Get #F, , nOffset ' An Offset-Position springen If nOffset > 60 Then Seek #F, nOffset + 1 ' die nächsten 5 Bytes auslesen Get #F, , sData ' Die 5 Bytes müssen die Werte PE__L enthalten ' wobei _ für vbNullChar steht (also Ascii 0) IsExecutableFile = (sData = "PE" & vbNullChar & vbNullChar & "L") End If Close #F Exit Function ErrHandler: ' Fehler If F > 0 Then Close #F End Function