Imports Microsoft.VisualBasic
Public Module X
Const PESIGNATURE As Integer = &H4550
Const MZSIGNATURE As Integer = &H5A4D
Public Function IsWinExe(ByVal StrFileName As String) As Boolean
On Error GoTo Xe
Dim rMZ As Short
Dim rOfs As Integer
Dim rFree As Integer
Dim rPE As Integer
rFree = FreeFile
FileOpen(rFree, StrFileName, OpenMode.Input) : FileClose(rFree)
FileOpen(rFree, StrFileName, OpenMode.Binary, OpenAccess.Read)
'UPGRADE_WARNING: Get was upgraded to FileGet and has a new behavior. Click for more: 'ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?keyword="9B7D5ADD-D8FE-4819-A36C-6DEDAF088CC7"'
FileGet(rFree, rMZ)
If (rMZ = MZSIGNATURE) Then
'UPGRADE_WARNING: Get was upgraded to FileGet and has a new behavior. Click for more: 'ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?keyword="9B7D5ADD-D8FE-4819-A36C-6DEDAF088CC7"'
FileGet(rFree, rOfs, 61)
If (rOfs > 61) And (rOfs < LOF(rFree)) Then
'UPGRADE_WARNING: Get was upgraded to FileGet and has a new behavior. Click for more: 'ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?keyword="9B7D5ADD-D8FE-4819-A36C-6DEDAF088CC7"'
FileGet(rFree, rPE, 1 + rOfs)
IsPE = (rPE = PESIGNATURE)
End If
End If
FileClose(rFree)
Xi: Exit Function
Xe: Resume Xi
End Function
End Module