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 Dieser Tipp wurde bereits 8.047 mal aufgerufen. Voriger Tipp | Zufälliger Tipp | Nächster Tipp
Anzeige
Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv Vol.6 (einschl. Beispielprojekt!) Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! - nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten - Symbol-Galerie mit mehr als 3.200 Icons im modernen Look Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m. |
vb@rchiv CD Vol.6 Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! Online-Update-Funktion Entwickler-Vollversionen u.v.m. Tipp des Monats April 2024 Skyfloy Chart von Microsoft und dazu noch gratis Tutorial für Microsoft Chart Controls für Microsoft .NET Framework 3.5 TOP! Unser Nr. 1 Neu! sevDataGrid 3.0 Mehrspaltige Listen, mit oder ohne DB-Anbindung. Autom. Sortierung, Editieren von Spalteninhalten oder das interaktive Hinzufügen von Datenzeilen sind ebenso möglich wie das Erstellen eines Web-Reports. |
||||||||||||||||
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein. |